Skip to content

Commit 4e0c8dd

Browse files
Merge branch 'develop' into improve-pypi-package-detection
Signed-off-by: Ayan Sinha Mahapatra <[email protected]>
2 parents 77ae3ed + c326a0b commit 4e0c8dd

File tree

1,354 files changed

+89712
-4522
lines changed

Some content is hidden

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

1,354 files changed

+89712
-4522
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ TAGS
108108
Procfile
109109
local.cfg
110110
geckodriver.log
111-
var
112111
.metaflow
113112
selenium
114113
/dist/

CHANGELOG.rst

+50-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,56 @@ v33.0.0 (next next, roadmap)
3434
of these in other summary plugins.
3535
See https://github.com/nexB/scancode-toolkit/issues/1745
3636

37-
v32.1.0 (next, roadmap)
38-
----------------------------
37+
v32.2.0 - 2024-06-19
38+
----------------------
39+
40+
- New and improved package/dependency data:
41+
- Added new attribute in DependentPackage `is_direct` to aid
42+
package resolution and dependency graph creation.
43+
- Added new attributes in PackageData: `is_private` and
44+
`is_virtual`. #3102 #3811
45+
https://github.com/nexB/scancode-toolkit/pull/3779
46+
47+
- Improved javascript package detection:
48+
- Add support for pnpm manifests and lockfiles #3766
49+
- Add support for npm, pnpm and yarn workspaces #3746
50+
- Improve resolved package and dependencies support in lockfiles for
51+
yarn.lock, package-lock.json, and pnpm. #3780
52+
- Add support for private packages. #3120
53+
- Add support for new dependency scopes across javascript
54+
- Lots of misc bugfixes in yarn and npm parsers.
55+
https://github.com/nexB/scancode-toolkit/pull/3779
56+
57+
- Improve cargo package detection support with various improvements
58+
and bugfixes:
59+
- Fix for parser crashing on cargo workspaces
60+
- Fix a bug in dependency parsing (we were not returning any dependencies)
61+
- Also support getting dependency versions from workspace
62+
- Support more attributes from cargo
63+
- Better handle workspace data thorugh extra_data attribute
64+
See https://github.com/nexB/scancode-toolkit/pull/3783
65+
66+
- We now support parsing the Swift manifest JSON dump and the
67+
``Package.resolved`` file https://github.com/nexB/scancode-toolkit/issues/2657.
68+
Run the command below on your local Swift project before running the scan:
69+
`swift package dump-package > Package.swift.json && swift package resolve``
70+
71+
- New and updated licenses, including support for newly released
72+
SPDX license list versions:
73+
- SPDX License List 3.24:
74+
This release of the SPDX license list had 25 new licenses
75+
and exceptions, and out of them 12 were present as licenses
76+
and 5 were present as rules already. There were 3 new
77+
license/exception texts added, and the rest 5 were either
78+
texts with small variations, additions to texts or several
79+
rule texts together. And the rest have been added as new licenses.
80+
For more details see https://github.com/nexB/scancode-toolkit/pull/3795
81+
82+
- More new licenses and rules:
83+
- 23 new licenses in https://github.com/nexB/scancode-toolkit/pull/3778
84+
85+
v32.1.0 - 2024-03-23
86+
---------------------
3987

4088
New CLI options:
4189

docs/source/getting-started/install.rst

+26
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,32 @@ in the extracted directory and run::
160160

161161
This will configure ScanCode and display the command line :ref:`cli_help_text`.
162162

163+
.. note::
164+
If you encounter a "No matching distribution" error while running the ``./configure`` command on a Mac M1, it may indicate compatibility issues with the current architecture. Here's a step-by-step guide to address this:
165+
166+
- **Change Mac M1 Architecture to x86_64:**
167+
Switch the architecture from amd64 to x86_64 using the command:
168+
::
169+
170+
env /usr/bin/arch -x86_64 /bin/zsh --login
171+
- **Use Rosetta Translation:**
172+
Enable Rosetta translation in Terminal by executing:
173+
::
174+
175+
softwareupdate --install-rosetta
176+
- **Transition Homebrew from arm64 to Intel:**
177+
Change Homebrew from the arm64 architecture to the Intel (x86) architecture by running:
178+
::
179+
180+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
181+
- **Install Intel-Specific Python:**
182+
Use Homebrew to install Python specifically optimized for Intel architecture with:
183+
::
184+
185+
/usr/local/Homebrew/bin/brew install python3
186+
187+
Then rerun the ``./configure`` command. This sets up the project according to the new architecture and ensures proper configuration.
188+
Following these steps should help resolve compatibility issues and allow smooth operation of the project on Mac M1 devices.
163189

164190
.. _windows_app_install:
165191

docs/source/reference/available_package_parsers.rst

+45
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ parsers in scancode-toolkit during documentation builds.
233233
- https://r-pkgs.org/description.html
234234
* - Debian control file - extracted layout
235235
- ``*/control.tar.gz-extract/control``
236+
``*/control.tar.xz-extract/control``
236237
- ``deb``
237238
- ``debian_control_extracted_deb``
238239
- None
@@ -538,6 +539,24 @@ parsers in scancode-toolkit during documentation builds.
538539
- ``npm_shrinkwrap_json``
539540
- JavaScript
540541
- https://docs.npmjs.com/cli/v8/configuring-npm/npm-shrinkwrap-json
542+
* - pnpm pnpm-lock.yaml lockfile
543+
- ``*/pnpm-lock.yaml``
544+
- ``npm``
545+
- ``pnpm_lock_yaml``
546+
- JavaScript
547+
- https://github.com/pnpm/spec/blob/master/lockfile/6.0.md
548+
* - pnpm shrinkwrap.yaml lockfile
549+
- ``*/shrinkwrap.yaml``
550+
- ``npm``
551+
- ``pnpm_shrinkwrap_yaml``
552+
- JavaScript
553+
- https://github.com/pnpm/spec/blob/master/lockfile/4.md
554+
* - pnpm workspace yaml file
555+
- ``*/pnpm-workspace.yaml``
556+
- ``npm``
557+
- ``pnpm_workspace_yaml``
558+
- JavaScript
559+
- https://pnpm.io/pnpm-workspace_yaml
541560
* - yarn.lock lockfile v1 format
542561
- ``*/yarn.lock``
543562
- ``npm``
@@ -716,6 +735,19 @@ parsers in scancode-toolkit during documentation builds.
716735
- ``rpm_installed_database_sqlite``
717736
- None
718737
- https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb
738+
* - RPM mariner distroless package manifest
739+
- ``*var/lib/rpmmanifest/container-manifest-2``
740+
- ``rpm``
741+
- ``rpm_mariner_manifest``
742+
- None
743+
- https://github.com/microsoft/marinara/
744+
* - RPM mariner distroless package license files
745+
- ``*usr/share/licenses/*/COPYING*``
746+
``*usr/share/licenses/*/LICENSE*``
747+
- ``rpm``
748+
- ``rpm_package_licenses``
749+
- None
750+
- https://github.com/microsoft/marinara/
719751
* - RPM specfile
720752
- ``*.spec``
721753
- ``rpm``
@@ -734,6 +766,19 @@ parsers in scancode-toolkit during documentation builds.
734766
- ``squashfs_disk_image``
735767
- None
736768
- https://en.wikipedia.org/wiki/SquashFS
769+
* - JSON dump of Package.swift created with ``swift package dump-package &gt; Package.swift.json``
770+
- ``*/Package.swift.json``
771+
- ``swift``
772+
- ``swift_package_manifest_json``
773+
- Swift
774+
- https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html
775+
* - Resolved full dependency lockfile for Package.swift created with ``swift package resolve``
776+
- ``*/Package.resolved``
777+
``*/.package.resolved``
778+
- ``swift``
779+
- ``swift_package_resolved``
780+
- swift
781+
- https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html#package-dependency
737782
* - Java Web Application Archive
738783
- ``*.war``
739784
- ``war``

setup-mini.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = scancode-toolkit-mini
3-
version = 32.1.0
3+
version = 32.2.0
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

setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = scancode-toolkit
3-
version = 32.1.0
3+
version = 32.2.0
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

src/licensedcode/data/licenses/3dslicer-1.0.LICENSE

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,15 @@ name: 3D Slicer Contribution and Software License Agreement v1.0
55
category: Permissive
66
owner: Slicer Project
77
homepage_url: https://www.slicer.org/wiki/License
8-
spdx_license_key: LicenseRef-scancode-3dslicer-1.0
8+
spdx_license_key: 3D-Slicer-1.0
9+
other_spdx_license_keys:
10+
- LicenseRef-scancode-3dslicer-1.0
911
text_urls:
1012
- https://github.com/Slicer/Slicer/blob/v4.6.2/COPYRIGHT.txt
1113
faq_url: https://www.slicer.org/wiki/CommercialUse
1214
other_urls:
15+
- https://slicer.readthedocs.io/en/latest/user_guide/about.html#license
16+
- https://github.com/Slicer/Slicer/blob/main/License.txt
1317
- http://www.slicer.org
1418
- http://wiki.na-mic.org/Wiki/index.php/Slicer3
1519
ignorable_authors:

src/licensedcode/data/licenses/amd-historical.LICENSE

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ name: AMD Historical License
55
category: Permissive
66
owner: Advanced Micro Devices
77
notes: this is a short historical permissive license seen in the newlib C library
8-
spdx_license_key: LicenseRef-scancode-amd-historical
8+
spdx_license_key: AMD-newlib
9+
other_spdx_license_keys:
10+
- LicenseRef-scancode-amd-historical
11+
other_urls:
12+
- https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/sys/a29khif/_close.S;h=04f52ae00de1dafbd9055ad8d73c5c697a3aae7f;hb=HEAD
913
---
1014

1115
This software is the property of Advanced Micro Devices, Inc (AMD) which
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
key: any-osi
3+
short_name: Any OSI License
4+
name: Any OSI License
5+
category: Unstated License
6+
owner: Unspecified
7+
spdx_license_key: any-OSI
8+
minimum_coverage: 100
9+
other_urls:
10+
- http://www.opensource.org/licenses/alphabetical
11+
- https://metacpan.org/pod/Exporter::Tidy#LICENSE
12+
ignorable_urls:
13+
- http://www.opensource.org/licenses/alphabetical
14+
---
15+
16+
Pick your favourite OSI approved license :)
17+
18+
http://www.opensource.org/licenses/alphabetical
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
key: asterisk-linking-protocols-exception
3+
short_name: Asterisk linking protocols exception
4+
name: Asterisk linking protocols exception
5+
owner: Asterisk
6+
category: Copyleft Limited
7+
is_exception: yes
8+
spdx_license_key: Asterisk-linking-protocols-exception
9+
other_urls:
10+
- https://github.com/asterisk/asterisk/blob/115d7c01e32ccf4566a99e9d74e2b88830985a0b/LICENSE#L27
11+
---
12+
13+
Specific permission is also granted to link Asterisk with OpenSSL, OpenH323
14+
UniMRCP, and/or the UW IMAP Toolkit and distribute the resulting binary files.
15+
16+
In addition, Asterisk implements several management/control protocols.
17+
This includes the Asterisk Manager Interface (AMI), the Asterisk Gateway
18+
Interface (AGI), and the Asterisk REST Interface (ARI). It is our belief
19+
that applications using these protocols to manage or control an Asterisk
20+
instance do not have to be licensed under the GPL or a compatible license,
21+
as we believe these protocols do not create a 'derivative work' as referred
22+
to in the GPL. However, should any court or other judiciary body find that
23+
these protocols do fall under the terms of the GPL, then we hereby grant you a
24+
license to use these protocols in combination with Asterisk in external
25+
applications licensed under any license you wish.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
key: bsd-2-clause-first-lines
3+
short_name: BSD 2-Clause first lines
4+
name: BSD 2-Clause - first lines requirement
5+
owner: Nippon Telegraph and Telephone Corporation
6+
category: Permissive
7+
notes: |
8+
Added in SPDX license list 3.24
9+
This was previously the license rule: freebsd-doc_5.RULE
10+
spdx_license_key: BSD-2-Clause-first-lines
11+
other_urls:
12+
- https://github.com/krb5/krb5/blob/krb5-1.21.2-final/NOTICE#L664-L690
13+
- https://web.mit.edu/kerberos/krb5-1.21/doc/mitK5license.html
14+
---
15+
16+
Redistribution and use in source and binary forms, with or without
17+
modification, are permitted provided that the following conditions
18+
are met:
19+
20+
1. Redistributions of source code must retain the above
21+
copyright notice, this list of conditions and the following
22+
disclaimer as the first lines of this file unmodified.
23+
24+
2. Redistributions in binary form must reproduce the above
25+
copyright notice, this list of conditions and the following
26+
disclaimer in the documentation and/or other materials provided
27+
with the distribution.
28+
29+
THIS SOFTWARE IS PROVIDED BY NTT "AS IS" AND ANY EXPRESS OR IMPLIED
30+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
31+
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
32+
DISCLAIMED. IN NO EVENT SHALL NTT BE LIABLE FOR ANY DIRECT,
33+
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
34+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
37+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
39+
OF THE POSSIBILITY OF SUCH DAMAGE.

src/licensedcode/data/licenses/catharon-osl.LICENSE

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ name: Catharon Open Source License
55
category: Permissive
66
owner: Catharon
77
homepage_url: https://github.com/scummvm/scummvm/blob/master/LICENSES/CatharonLicense.txt
8-
spdx_license_key: LicenseRef-scancode-catharon-osl
8+
spdx_license_key: Catharon
9+
other_spdx_license_keys:
10+
- LicenseRef-scancode-catharon-osl
911
text_urls:
1012
- https://github.com/scummvm/scummvm/tree/master/engines/ags/lib/freetype-2.1.3/autohint
1113
- https://www.copperspice.com/docs/cs_overview/legal-3rdparty.html
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
key: cexcept-2008
3+
short_name: cexcept License 2008
4+
name: cexcept License 2008
5+
category: Permissive
6+
owner: nicemice
7+
spdx_license_key: LicenseRef-scancode-cexcept-2008
8+
text_urls:
9+
- https://github.com/cloudflare/pngcrush/blob/deflate.gcc.amd64/cexcept.h
10+
other_urls:
11+
- http://www.nicemice.net/cexcept/
12+
---
13+
14+
This software may be modified only if its author and version
15+
information is updated accurately, and may be redistributed
16+
only if accompanied by this unaltered notice. Subject to those
17+
restrictions, permission is granted to anyone to do anything
18+
with this software. The copyright holders make no guarantees
19+
regarding this software, and are not responsible for any damage
20+
resulting from its use.

0 commit comments

Comments
 (0)