Skip to content

Commit 5eda7e0

Browse files
authored
Cleanup aliases (#86)
1 parent 547cb66 commit 5eda7e0

Some content is hidden

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

46 files changed

+152
-6314
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
<!-- next-header -->
1010
## [Unreleased] - ReleaseDate
11+
### Changed
12+
- [PR#86](https://github.com/EmbarkStudios/spdx/pull/86) changes the license detection for GNU licenses (GPL, AGPL, LGPL, GFDL). In 0.13.0 they would be detected as their deprecated (eg. `AGPL-3.0`) variant due to the variants (root, `-only`, and `-or-later`) using the exact same license text. GNU licenses are now detected as the `<root>-or-later` version. This is an arbitrary decision, which I hope to not change, but if someone makes a convincing argument it could be.
13+
1114
## [0.13.0] - 2025-12-02
1215
### Added
1316
- [PR#84](https://github.com/EmbarkStudios/spdx/pull/84) resolved [#67](https://github.com/EmbarkStudios/spdx/issues/67) by inlining the `askalono` crate to allow detection of license texts or headers from arbitrary text data. There are multiple features flags associated with this new feature.

src/detection/cache.bin.zstd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:3443c72f3d1bbd769c78fc1bba82af691eb7e34c6e04adc61a86a2a03ae97805
3-
size 2018306
2+
oid sha256:0918c65d02d846e3f473d9555c01c7d62c09399f2ae9e6b704493e13155042bb
3+
size 2020116

src/identifiers.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
* cargo run --manifest-path update/Cargo.toml -- v<version> > src/identifiers.rs
88
*/
99

10-
use crate::{Exception, License, flags::*};
10+
use crate::flags::*;
11+
use crate::{Exception, License};
1112

1213
pub const VERSION: &str = "3.27.0";
1314

src/text.rs

Lines changed: 53 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
pub const LICENSE_TEXTS: &[(&str, &str)] = &[
2+
("NOASSERTION", ""),
23
("0BSD", include!("text/licenses/0BSD")),
34
("3D-Slicer-1.0", include!("text/licenses/3D-Slicer-1.0")),
45
("AAL", include!("text/licenses/AAL")),
@@ -9,17 +10,11 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
910
("AFL-2.1", include!("text/licenses/AFL-2.1")),
1011
("AFL-3.0", include!("text/licenses/AFL-3.0")),
1112
("AGPL-1.0", include!("text/licenses/AGPL-1.0")),
12-
("AGPL-1.0-only", include!("text/licenses/AGPL-1.0-only")),
13-
(
14-
"AGPL-1.0-or-later",
15-
include!("text/licenses/AGPL-1.0-or-later"),
16-
),
13+
("AGPL-1.0-only", include!("text/licenses/AGPL-1.0")),
14+
("AGPL-1.0-or-later", include!("text/licenses/AGPL-1.0")),
1715
("AGPL-3.0", include!("text/licenses/AGPL-3.0")),
18-
("AGPL-3.0-only", include!("text/licenses/AGPL-3.0-only")),
19-
(
20-
"AGPL-3.0-or-later",
21-
include!("text/licenses/AGPL-3.0-or-later"),
22-
),
16+
("AGPL-3.0-only", include!("text/licenses/AGPL-3.0")),
17+
("AGPL-3.0-or-later", include!("text/licenses/AGPL-3.0")),
2318
("AMD-newlib", include!("text/licenses/AMD-newlib")),
2419
("AMDPLPA", include!("text/licenses/AMDPLPA")),
2520
("AML", include!("text/licenses/AML")),
@@ -215,7 +210,7 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
215210
("CAL-1.0", include!("text/licenses/CAL-1.0")),
216211
(
217212
"CAL-1.0-Combined-Work-Exception",
218-
include!("text/licenses/CAL-1.0-Combined-Work-Exception"),
213+
include!("text/licenses/CAL-1.0"),
219214
),
220215
("CATOSL-1.1", include!("text/licenses/CATOSL-1.1")),
221216
("CC-BY-1.0", include!("text/licenses/CC-BY-1.0")),
@@ -417,110 +412,95 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
417412
("GD", include!("text/licenses/GD")),
418413
("GFDL-1.1", include!("text/licenses/GFDL-1.1")),
419414
(
420-
"GFDL-1.1-invariants",
421-
include!("text/licenses/GFDL-1.1-invariants-only"),
415+
"GFDL-1.1-invariants-only",
416+
include!("text/licenses/GFDL-1.1"),
422417
),
423418
(
424419
"GFDL-1.1-invariants-only",
425-
include!("text/licenses/GFDL-1.1-invariants-only"),
420+
include!("text/licenses/GFDL-1.1"),
426421
),
427422
(
428423
"GFDL-1.1-invariants-or-later",
429-
include!("text/licenses/GFDL-1.1-invariants-or-later"),
424+
include!("text/licenses/GFDL-1.1"),
430425
),
431426
(
432-
"GFDL-1.1-no-invariants",
433-
include!("text/licenses/GFDL-1.1-no-invariants-only"),
427+
"GFDL-1.1-no-invariants-only",
428+
include!("text/licenses/GFDL-1.1"),
434429
),
435430
(
436431
"GFDL-1.1-no-invariants-only",
437-
include!("text/licenses/GFDL-1.1-no-invariants-only"),
432+
include!("text/licenses/GFDL-1.1"),
438433
),
439434
(
440435
"GFDL-1.1-no-invariants-or-later",
441-
include!("text/licenses/GFDL-1.1-no-invariants-or-later"),
442-
),
443-
("GFDL-1.1-only", include!("text/licenses/GFDL-1.1-only")),
444-
(
445-
"GFDL-1.1-or-later",
446-
include!("text/licenses/GFDL-1.1-or-later"),
436+
include!("text/licenses/GFDL-1.1"),
447437
),
438+
("GFDL-1.1-only", include!("text/licenses/GFDL-1.1")),
439+
("GFDL-1.1-or-later", include!("text/licenses/GFDL-1.1")),
448440
("GFDL-1.2", include!("text/licenses/GFDL-1.2")),
449441
(
450-
"GFDL-1.2-invariants",
451-
include!("text/licenses/GFDL-1.2-invariants-only"),
442+
"GFDL-1.2-invariants-only",
443+
include!("text/licenses/GFDL-1.2"),
452444
),
453445
(
454446
"GFDL-1.2-invariants-only",
455-
include!("text/licenses/GFDL-1.2-invariants-only"),
447+
include!("text/licenses/GFDL-1.2"),
456448
),
457449
(
458450
"GFDL-1.2-invariants-or-later",
459-
include!("text/licenses/GFDL-1.2-invariants-or-later"),
451+
include!("text/licenses/GFDL-1.2"),
460452
),
461453
(
462-
"GFDL-1.2-no-invariants",
463-
include!("text/licenses/GFDL-1.2-no-invariants-only"),
454+
"GFDL-1.2-no-invariants-only",
455+
include!("text/licenses/GFDL-1.2"),
464456
),
465457
(
466458
"GFDL-1.2-no-invariants-only",
467-
include!("text/licenses/GFDL-1.2-no-invariants-only"),
459+
include!("text/licenses/GFDL-1.2"),
468460
),
469461
(
470462
"GFDL-1.2-no-invariants-or-later",
471-
include!("text/licenses/GFDL-1.2-no-invariants-or-later"),
472-
),
473-
("GFDL-1.2-only", include!("text/licenses/GFDL-1.2-only")),
474-
(
475-
"GFDL-1.2-or-later",
476-
include!("text/licenses/GFDL-1.2-or-later"),
463+
include!("text/licenses/GFDL-1.2"),
477464
),
465+
("GFDL-1.2-only", include!("text/licenses/GFDL-1.2")),
466+
("GFDL-1.2-or-later", include!("text/licenses/GFDL-1.2")),
478467
("GFDL-1.3", include!("text/licenses/GFDL-1.3")),
479468
(
480-
"GFDL-1.3-invariants",
481-
include!("text/licenses/GFDL-1.3-invariants-only"),
469+
"GFDL-1.3-invariants-only",
470+
include!("text/licenses/GFDL-1.3"),
482471
),
483472
(
484473
"GFDL-1.3-invariants-only",
485-
include!("text/licenses/GFDL-1.3-invariants-only"),
474+
include!("text/licenses/GFDL-1.3"),
486475
),
487476
(
488477
"GFDL-1.3-invariants-or-later",
489-
include!("text/licenses/GFDL-1.3-invariants-or-later"),
478+
include!("text/licenses/GFDL-1.3"),
490479
),
491480
(
492-
"GFDL-1.3-no-invariants",
493-
include!("text/licenses/GFDL-1.3-no-invariants-only"),
481+
"GFDL-1.3-no-invariants-only",
482+
include!("text/licenses/GFDL-1.3"),
494483
),
495484
(
496485
"GFDL-1.3-no-invariants-only",
497-
include!("text/licenses/GFDL-1.3-no-invariants-only"),
486+
include!("text/licenses/GFDL-1.3"),
498487
),
499488
(
500489
"GFDL-1.3-no-invariants-or-later",
501-
include!("text/licenses/GFDL-1.3-no-invariants-or-later"),
502-
),
503-
("GFDL-1.3-only", include!("text/licenses/GFDL-1.3-only")),
504-
(
505-
"GFDL-1.3-or-later",
506-
include!("text/licenses/GFDL-1.3-or-later"),
490+
include!("text/licenses/GFDL-1.3"),
507491
),
492+
("GFDL-1.3-only", include!("text/licenses/GFDL-1.3")),
493+
("GFDL-1.3-or-later", include!("text/licenses/GFDL-1.3")),
508494
("GL2PS", include!("text/licenses/GL2PS")),
509495
("GLWTPL", include!("text/licenses/GLWTPL")),
510496
("GPL-1.0", include!("text/licenses/GPL-1.0")),
497+
("GPL-1.0-only", include!("text/licenses/GPL-1.0")),
498+
("GPL-1.0-or-later", include!("text/licenses/GPL-1.0")),
511499
("GPL-1.0+", include!("text/licenses/GPL-1.0+")),
512-
("GPL-1.0-only", include!("text/licenses/GPL-1.0-only")),
513-
(
514-
"GPL-1.0-or-later",
515-
include!("text/licenses/GPL-1.0-or-later"),
516-
),
517500
("GPL-2.0", include!("text/licenses/GPL-2.0")),
501+
("GPL-2.0-only", include!("text/licenses/GPL-2.0")),
502+
("GPL-2.0-or-later", include!("text/licenses/GPL-2.0")),
518503
("GPL-2.0+", include!("text/licenses/GPL-2.0+")),
519-
("GPL-2.0-only", include!("text/licenses/GPL-2.0-only")),
520-
(
521-
"GPL-2.0-or-later",
522-
include!("text/licenses/GPL-2.0-or-later"),
523-
),
524504
(
525505
"GPL-2.0-with-GCC-exception",
526506
include!("text/licenses/GPL-2.0-with-GCC-exception"),
@@ -542,12 +522,9 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
542522
include!("text/licenses/GPL-2.0-with-font-exception"),
543523
),
544524
("GPL-3.0", include!("text/licenses/GPL-3.0")),
525+
("GPL-3.0-only", include!("text/licenses/GPL-3.0")),
526+
("GPL-3.0-or-later", include!("text/licenses/GPL-3.0")),
545527
("GPL-3.0+", include!("text/licenses/GPL-3.0+")),
546-
("GPL-3.0-only", include!("text/licenses/GPL-3.0-only")),
547-
(
548-
"GPL-3.0-or-later",
549-
include!("text/licenses/GPL-3.0-or-later"),
550-
),
551528
(
552529
"GPL-3.0-with-GCC-exception",
553530
include!("text/licenses/GPL-3.0-with-GCC-exception"),
@@ -666,26 +643,17 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
666643
("LAL-1.2", include!("text/licenses/LAL-1.2")),
667644
("LAL-1.3", include!("text/licenses/LAL-1.3")),
668645
("LGPL-2.0", include!("text/licenses/LGPL-2.0")),
646+
("LGPL-2.0-only", include!("text/licenses/LGPL-2.0")),
647+
("LGPL-2.0-or-later", include!("text/licenses/LGPL-2.0")),
669648
("LGPL-2.0+", include!("text/licenses/LGPL-2.0+")),
670-
("LGPL-2.0-only", include!("text/licenses/LGPL-2.0-only")),
671-
(
672-
"LGPL-2.0-or-later",
673-
include!("text/licenses/LGPL-2.0-or-later"),
674-
),
675649
("LGPL-2.1", include!("text/licenses/LGPL-2.1")),
650+
("LGPL-2.1-only", include!("text/licenses/LGPL-2.1")),
651+
("LGPL-2.1-or-later", include!("text/licenses/LGPL-2.1")),
676652
("LGPL-2.1+", include!("text/licenses/LGPL-2.1+")),
677-
("LGPL-2.1-only", include!("text/licenses/LGPL-2.1-only")),
678-
(
679-
"LGPL-2.1-or-later",
680-
include!("text/licenses/LGPL-2.1-or-later"),
681-
),
682653
("LGPL-3.0", include!("text/licenses/LGPL-3.0")),
654+
("LGPL-3.0-only", include!("text/licenses/LGPL-3.0")),
655+
("LGPL-3.0-or-later", include!("text/licenses/LGPL-3.0")),
683656
("LGPL-3.0+", include!("text/licenses/LGPL-3.0+")),
684-
("LGPL-3.0-only", include!("text/licenses/LGPL-3.0-only")),
685-
(
686-
"LGPL-3.0-or-later",
687-
include!("text/licenses/LGPL-3.0-or-later"),
688-
),
689657
("LGPLLR", include!("text/licenses/LGPLLR")),
690658
("LOOP", include!("text/licenses/LOOP")),
691659
("LPD-document", include!("text/licenses/LPD-document")),
@@ -757,7 +725,7 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
757725
("MPL-2.0", include!("text/licenses/MPL-2.0")),
758726
(
759727
"MPL-2.0-no-copyleft-exception",
760-
include!("text/licenses/MPL-2.0-no-copyleft-exception"),
728+
include!("text/licenses/MPL-2.0"),
761729
),
762730
("MS-LPL", include!("text/licenses/MS-LPL")),
763731
("MS-PL", include!("text/licenses/MS-PL")),
@@ -805,7 +773,6 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
805773
("NLOD-1.0", include!("text/licenses/NLOD-1.0")),
806774
("NLOD-2.0", include!("text/licenses/NLOD-2.0")),
807775
("NLPL", include!("text/licenses/NLPL")),
808-
("NOASSERTION", ""),
809776
("NOSL", include!("text/licenses/NOSL")),
810777
("NPL-1.0", include!("text/licenses/NPL-1.0")),
811778
("NPL-1.1", include!("text/licenses/NPL-1.1")),
@@ -829,11 +796,11 @@ pub const LICENSE_TEXTS: &[(&str, &str)] = &[
829796
("ODbL-1.0", include!("text/licenses/ODbL-1.0")),
830797
("OFFIS", include!("text/licenses/OFFIS")),
831798
("OFL-1.0", include!("text/licenses/OFL-1.0")),
832-
("OFL-1.0-RFN", include!("text/licenses/OFL-1.0-RFN")),
833-
("OFL-1.0-no-RFN", include!("text/licenses/OFL-1.0-no-RFN")),
799+
("OFL-1.0-RFN", include!("text/licenses/OFL-1.0")),
800+
("OFL-1.0-no-RFN", include!("text/licenses/OFL-1.0")),
834801
("OFL-1.1", include!("text/licenses/OFL-1.1")),
835-
("OFL-1.1-RFN", include!("text/licenses/OFL-1.1-RFN")),
836-
("OFL-1.1-no-RFN", include!("text/licenses/OFL-1.1-no-RFN")),
802+
("OFL-1.1-RFN", include!("text/licenses/OFL-1.1")),
803+
("OFL-1.1-no-RFN", include!("text/licenses/OFL-1.1")),
837804
("OGC-1.0", include!("text/licenses/OGC-1.0")),
838805
("OGDL-Taiwan-1.0", include!("text/licenses/OGDL-Taiwan-1.0")),
839806
("OGL-Canada-2.0", include!("text/licenses/OGL-Canada-2.0")),

0 commit comments

Comments
 (0)