mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] spdx.py: add filesAnalyzed property
@ 2025-06-03 14:40 Ralf Glaser
  0 siblings, 0 replies; only message in thread
From: Ralf Glaser @ 2025-06-03 14:40 UTC (permalink / raw)
  To: ptxdist; +Cc: Ralf Glaser

Add boolean filesAnalyzed property without which https://tools.spdx.org/app/validate/
will not recognize the SPDX-SBOM as valid.

Signed-off-by: Ralf Glaser <glaser@iotmaxx.de>
---
 scripts/report/spdx.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/scripts/report/spdx.py b/scripts/report/spdx.py
index 96e56af19..f6fc371f8 100644
--- a/scripts/report/spdx.py
+++ b/scripts/report/spdx.py
@@ -64,6 +64,29 @@ class _String(_Property):
     def init(self, source):
         return source
 
+class _Bool(_Property):
+    """
+    A scalar bool property for an SPDX object
+    """
+
+    def __init__(self, **kwargs):
+        super().__init__(**kwargs)
+
+    def set_property(self, attrs, name):
+        def get_helper(obj):
+            return obj._spdx[name]
+
+        def set_helper(obj, value):
+            obj._spdx[name] = value
+
+        def del_helper(obj):
+            del obj._spdx[name]
+
+        attrs[name] = property(get_helper, set_helper, del_helper)
+
+    def init(self, source):
+        return source
+
 
 class _Object(_Property):
     """
@@ -247,6 +270,7 @@ class SPDXPackage(SPDXObject):
     packageFileName = _String()
     annotations = _ObjectList(SPDXAnnotation)
     checksums = _ObjectList(SPDXChecksum)
+    filesAnalyzed = _Bool(default=False)
 
 
 class SPDXFile(SPDXObject):
-- 
2.49.0




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-06-03 14:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-03 14:40 [ptxdist] [PATCH] spdx.py: add filesAnalyzed property Ralf Glaser

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox