From patchwork Wed Sep 17 06:33:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Steiger X-Patchwork-Id: 4355 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 17 Sep 2025 08:33:58 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f55.google.com (mail-wm1-f55.google.com [209.85.128.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 58H6XvPc022733 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 17 Sep 2025 08:33:57 +0200 Received: by mail-wm1-f55.google.com with SMTP id 5b1f17b1804b1-45ddbdb92dfsf32312265e9.1 for ; Tue, 16 Sep 2025 23:33:57 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1758090832; cv=pass; d=google.com; s=arc-20240605; b=AcxTiYCzv8Bnyun2+3GUrY585J2QTzA2W6694g5ZwsGK30I7/808IUJEepiPG/umAZ +mzYfzBdk+oJZLbBDpfjd/E2DSp4eKotKtNwkhf1if1+jrZIZVqK5R/tBHaj7ERE4naN SNJL/fJPG0hBL2zHfBEKvMYOEBMw79p0KCHzcxUi0HvZs67w3sIr5eeWYDwgQQpGg5iW Wcwtpd5hwViSETTX26vWEsR8cY0jic6OR38Q0J2noIhHFgp0qfj9Ot22PW/9mR0NHg8W Z3fBOeOKqXKtCpwcC+AvDvFiQkqMEtWC7Ia+P2y1CjUQtAT5dA23F4TAaDJKtB7sRP+l VOuA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nWMNDKnE11NfyZnp4V+s08ie4rN2MEVu5R4U3E/kL6c=; fh=z/bqtYrPU8t7G3kTFIoErC9v4OM4DRS88XX4FbvWoY4=; b=iN2IxVZaAvWpDs4x4bLZ2GwZHi8hD9cU1W7McM5h+0seUeVnEk7C7BdZtP0i31GlkA 6tcEbVO0mRigPlJAaeMdS4Is1N/DV9mdc1J2V105HFMwqsTKrDn3Muyegw/+gpQXz5ND cgesWuCRn0hLXRYNvK0xOUN8F/kSaZwx0tYImVIT8rHpFg7jbT4++Bt5/C5+g6NpWMyL 5gxDqZiwVRaKB5xOYBUUpwwpwGG0Ea7XuAMlDA5LhTfQxt3s4FSa50G0EASQBCiPU0CB YE/gtK6WXayS05vncbIV8GquaJ3SbxbujVe9LWm0gZajCjlqBaWkmTV8co09LFW0hcdV 07LA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=a3kVkhGq; spf=pass (google.com: domain of fm-1328957-20250917063348fd9d7034cb000207a2-4_sk0q@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328957-20250917063348fd9d7034cb000207a2-4_SK0Q@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1758090832; x=1758695632; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=nWMNDKnE11NfyZnp4V+s08ie4rN2MEVu5R4U3E/kL6c=; b=uWSn6grWLl1FNBS7KUqQr5uqmbB+vP8R/gXC1/kYwXf339V9rV518KTPXwcbUEIhZV ZdgS+oMIzcJmjJiobaRO7+JhYY0Fdx+YfJKnhQhtKUIMXmb/uRQ7+u28szawXjccn/RP /eHO8dh+0W8kLT4oiv0eA4Gr3n8NXBeu95DKM2IpTIEsgqjTntJTm2LekUoG9c7ePxRJ zj6v5UiBeZImRgzgTyTqSSHM5oMBgLT5xdhrPoMUxaYGlGspQxcWdKCEp78qkdXWmhY+ IDsHMeg0ShdaZccIQZKD3CNjC+iKHnyCr7Tz/3r2dX4IqBendyEoL69ADSI6criQsfjJ gr+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758090832; x=1758695632; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nWMNDKnE11NfyZnp4V+s08ie4rN2MEVu5R4U3E/kL6c=; b=G+xouu+9B77bJxIqFoBIYh5m5DH4XjJFgReTLRFqA/OKbMV5mvfJcrXQXRC8gfwDny A5pNeGnzzgWLOwNBIRUlfxMUk4J8GvJtzRnhV/x3cFuq4TTQ6mFrPR0yPBaDF72dUJ2H dSm0ToyEOQ5iBJt719I4I2fjHTSAKNmmDZBnh7dwy944GOaIb32gjPLhP6EHzPFdkdZX o58TuSTWBRCEQV///E+JHJIfmntgqVuI3NaBO9You7tP/SumX89bzD45Q5Ji1MtrIN3E YggQKok09n9uz5Zwtd53PnUYxw0P6nuistfkx1YyMyHZ19MwgktuDSCZ/Eh07k9akR0L imWw== X-Forwarded-Encrypted: i=2; AJvYcCVpKOovPS40kyN4OSLEOS1mPyr4TtVqb1MYR0MgKv7av2JwzXF2hp6GHZWgZx5CNVAp+f4fwrg=@isar-build.org X-Gm-Message-State: AOJu0YxeG8KVBrvLjSR2EP6SQ5kdn+SWl4oKVDVCw3rQV71sU/xQHi88 JV0GCr7wN3GSpkEVEmYu9o4LbpPtoFFtldJbCQ1vVJzqbUFSDXfEGbEg X-Google-Smtp-Source: AGHT+IFNZkBpbQCqCOyNG6+M4QicdjQYoP4a4uYhAy37i5LaUcrLKjwx7WFKXmmFtpf0khxom+Oi0Q== X-Received: by 2002:a05:600c:1912:b0:45c:8e6d:a45f with SMTP id 5b1f17b1804b1-46202bf7a15mr8257215e9.5.1758090831850; Tue, 16 Sep 2025 23:33:51 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com; h=ARHlJd7EYw59mJURU+NvNCJIZ0IutR2fYICOoEDGa3cHhkJ+vg== Received: by 2002:a05:600c:1c11:b0:45d:f7df:26cf with SMTP id 5b1f17b1804b1-45f29ca8d8cls25060785e9.0.-pod-prod-04-eu; Tue, 16 Sep 2025 23:33:49 -0700 (PDT) X-Received: by 2002:a05:600c:5248:b0:45b:6365:794e with SMTP id 5b1f17b1804b1-462068428ddmr7942275e9.24.1758090829102; Tue, 16 Sep 2025 23:33:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1758090829; cv=none; d=google.com; s=arc-20240605; b=R8Eu7pT/YLyqJ7i9J3RpbNTbuTCooRxDlhB2W/NiVoez+dNfhJ4cTrCiTZtER9NNbD odW9S3/EQRf3ictNkSAXpuunyWRYKJKpIYbqefXIVQu0pCCcaDQvdERJO6NimZkH89P6 7mWbYVhHCP5aFcLKxenzLtgBNvM+w8dZaLBIYW6NkTZPMoRibMFGgo/hM2+VS+p2Akx9 kABnpzgmjOHtY3GBEPusNEObI4JMjM0ScXZBiwaCXgaY8HxyicPAc+fYwgmO/0OZtRhz TZFoVQEZFOybhTGsRsymVoUjjzKUSRAxVMLLitdu+hvwn81CM4LaiMptACuDPpqqZC5C AbVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=Yf+eiQ4Vc38Jggo26FoG2rH8eEubfI5oWv63YxnDTi4=; fh=eiYcjuc0Ff+maEd84O/+qg+73FB83bid0hUx0HldS7s=; b=arEcPAEV2r25IBHPNYqpI88kJXulcO2HgoiPU37vcRrNyjjBVDECdbwRV4XUTk6Yg5 lQcQOtpEqpDQ4iw12dvKqKn5iUzYLpESsznLg1KjucJihdZdBY4vsIq7caM+g/Bt7BAV xedPmH+Y0u2ttVrXnLowsGxWJ2AmenXP9L9h9MMzi/M3X1qvaoj8cv/14oeRtFascOgf tfWHD1GHZvRSYU9B3roRsH3DnK10xA5shUqUU+Mr22tDQvf8XaQZmeXLqnQRv4AWWiTw AdEJOYutvG6iPpd/elVjHenlybftE9mj9RTBz+IyO3TfQ6pR6f3K2SVUN0BXt1jSNT5g h5eg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=a3kVkhGq; spf=pass (google.com: domain of fm-1328957-20250917063348fd9d7034cb000207a2-4_sk0q@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328957-20250917063348fd9d7034cb000207a2-4_SK0Q@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-4613158ccc8si221065e9.0.2025.09.16.23.33.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 16 Sep 2025 23:33:49 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1328957-20250917063348fd9d7034cb000207a2-4_sk0q@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 20250917063348fd9d7034cb000207a2 for ; Wed, 17 Sep 2025 08:33:48 +0200 X-Patchwork-Original-From: "'Christoph Steiger' via isar-users" From: Christoph Steiger To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, felix.moessbauer@siemens.com, gernot.hillier@siemens.com, cedric.hombourger@siemens.com, Christoph Steiger Subject: [PATCH v2 1/4] meta: package python libraries for SBOM generation Date: Wed, 17 Sep 2025 08:33:12 +0200 Message-Id: <20250917063314.44769-2-christoph.steiger@siemens.com> In-Reply-To: <20250917063314.44769-1-christoph.steiger@siemens.com> References: <20250917063314.44769-1-christoph.steiger@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1328957:519-21489:flowmailer X-Original-Sender: christoph.steiger@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=a3kVkhGq; spf=pass (google.com: domain of fm-1328957-20250917063348fd9d7034cb000207a2-4_sk0q@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1328957-20250917063348fd9d7034cb000207a2-4_SK0Q@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Christoph Steiger Reply-To: Christoph Steiger Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Package python libraries for SBOM generation in isar. The packages are unfortunately not (yet) packaged in Debian, thats why we need to do it here. With these libraries it is now possible to easily create CDX and SPDX SBOMs in different file formats. Signed-off-by: Christoph Steiger --- .../python3-beartype/files/rules | 8 ++++ .../python3-beartype_0.19.0.bb | 29 +++++++++++ .../files/pybuild.testfiles | 1 + .../python3-cyclonedx-lib/files/rules | 8 ++++ .../python3-cyclonedx-lib_9.1.0.bb | 48 +++++++++++++++++++ .../python3-packageurl/files/rules | 8 ++++ .../python3-packageurl_0.16.0.bb | 33 +++++++++++++ .../python3-py-serializable/files/rules | 8 ++++ .../python3-py-serializable_2.0.0.bb | 38 +++++++++++++++ .../python3-spdx-tools/files/rules | 25 ++++++++++ .../python3-spdx-tools_0.8.3.bb | 46 ++++++++++++++++++ 11 files changed, 252 insertions(+) create mode 100644 meta/recipes-support/python3-beartype/files/rules create mode 100644 meta/recipes-support/python3-beartype/python3-beartype_0.19.0.bb create mode 100644 meta/recipes-support/python3-cyclonedx-lib/files/pybuild.testfiles create mode 100644 meta/recipes-support/python3-cyclonedx-lib/files/rules create mode 100644 meta/recipes-support/python3-cyclonedx-lib/python3-cyclonedx-lib_9.1.0.bb create mode 100644 meta/recipes-support/python3-packageurl/files/rules create mode 100644 meta/recipes-support/python3-packageurl/python3-packageurl_0.16.0.bb create mode 100644 meta/recipes-support/python3-py-serializable/files/rules create mode 100644 meta/recipes-support/python3-py-serializable/python3-py-serializable_2.0.0.bb create mode 100644 meta/recipes-support/python3-spdx-tools/files/rules create mode 100644 meta/recipes-support/python3-spdx-tools/python3-spdx-tools_0.8.3.bb diff --git a/meta/recipes-support/python3-beartype/files/rules b/meta/recipes-support/python3-beartype/files/rules new file mode 100644 index 00000000..0ca517a1 --- /dev/null +++ b/meta/recipes-support/python3-beartype/files/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE = 1 +export PYBUILD_NAME = beartype +export PYBUILD_SYSTEM = pyproject + +%: + dh $@ --with python3 --buildsystem=pybuild diff --git a/meta/recipes-support/python3-beartype/python3-beartype_0.19.0.bb b/meta/recipes-support/python3-beartype/python3-beartype_0.19.0.bb new file mode 100644 index 00000000..b8bc2708 --- /dev/null +++ b/meta/recipes-support/python3-beartype/python3-beartype_0.19.0.bb @@ -0,0 +1,29 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +S = "${WORKDIR}/beartype-${PV}" + +MAINTAINER = "Christoph Steiger " +DPKG_ARCH = "all" +DEBIAN_BUILD_DEPENDS = "debhelper (>= 11~), dh-python, python3-all, python3-setuptools, pybuild-plugin-pyproject, python3-hatchling" +DEBIAN_DEPENDS = "\${python3:Depends}, \${misc:Depends}" +# this is 01/01/1980, any earlier and zip in the wheel building process will not accept it +DEBIAN_CHANGELOG_TIMESTAMP = "315532800" +DESCRIPTION = "Unbearably fast near-real-time hybrid runtime-static type-checking in pure Python." + +SRC_URI = "\ + https://github.com/beartype/beartype/archive/refs/tags/v0.19.0.tar.gz \ + file://rules \ + " +SRC_URI[sha256sum] = "e7ad00eebf527d60f30e0b391209b561dabd2074b608c50e26c94c2d8250a6cd" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + deb_debianize +} diff --git a/meta/recipes-support/python3-cyclonedx-lib/files/pybuild.testfiles b/meta/recipes-support/python3-cyclonedx-lib/files/pybuild.testfiles new file mode 100644 index 00000000..cc736a36 --- /dev/null +++ b/meta/recipes-support/python3-cyclonedx-lib/files/pybuild.testfiles @@ -0,0 +1 @@ +pyproject.toml diff --git a/meta/recipes-support/python3-cyclonedx-lib/files/rules b/meta/recipes-support/python3-cyclonedx-lib/files/rules new file mode 100644 index 00000000..fe72dd1a --- /dev/null +++ b/meta/recipes-support/python3-cyclonedx-lib/files/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE = 1 +export PYBUILD_NAME = cyclonedx-python-lib +export PYBUILD_SYSTEM = pyproject + +%: + dh $@ --with python3 --buildsystem=pybuild diff --git a/meta/recipes-support/python3-cyclonedx-lib/python3-cyclonedx-lib_9.1.0.bb b/meta/recipes-support/python3-cyclonedx-lib/python3-cyclonedx-lib_9.1.0.bb new file mode 100644 index 00000000..738ed1b3 --- /dev/null +++ b/meta/recipes-support/python3-cyclonedx-lib/python3-cyclonedx-lib_9.1.0.bb @@ -0,0 +1,48 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +DEPENDS:append:bookworm = " python3-packageurl python3-py-serializable" +DEPENDS:append:noble = " python3-packageurl python3-py-serializable" + +S = "${WORKDIR}/cyclonedx_python_lib-${PV}" + +MAINTAINER = "Christoph Steiger " +DPKG_ARCH = "all" +DEBIAN_BUILD_DEPENDS = "debhelper (>= 11~), \ + dh-python, \ + python3-all, \ + python3-setuptools, \ + pybuild-plugin-pyproject, \ + python3-poetry, \ + python3-py-serializable, \ + python3-packageurl, \ + python3-sortedcontainers, \ + python3-ddt, \ + python3-defusedxml, \ + python3-license-expression, \ + python3-jsonschema, \ + python3-lxml, \ + " + +DEBIAN_DEPENDS = "\${python3:Depends}, \${misc:Depends}" + +DESCRIPTION = "Library for serializing and deserializing Python Objects to and from JSON and XML." + +SRC_URI = "\ + https://github.com/CycloneDX/cyclonedx-python-lib/releases/download/v9.1.0/cyclonedx_python_lib-9.1.0.tar.gz \ + file://rules \ + file://pybuild.testfiles \ + " +SRC_URI[sha256sum] = "86935f2c88a7b47a529b93c724dbd3e903bc573f6f8bd977628a7ca1b5dadea1" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + cp "${WORKDIR}"/pybuild.testfiles "${S}"/debian + deb_debianize +} diff --git a/meta/recipes-support/python3-packageurl/files/rules b/meta/recipes-support/python3-packageurl/files/rules new file mode 100644 index 00000000..50e1b74c --- /dev/null +++ b/meta/recipes-support/python3-packageurl/files/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE = 1 +export PYBUILD_NAME = packageurl-python +export PYBUILD_SYSTEM = distutils + +%: + dh $@ --with python3 --buildsystem=pybuild diff --git a/meta/recipes-support/python3-packageurl/python3-packageurl_0.16.0.bb b/meta/recipes-support/python3-packageurl/python3-packageurl_0.16.0.bb new file mode 100644 index 00000000..27209429 --- /dev/null +++ b/meta/recipes-support/python3-packageurl/python3-packageurl_0.16.0.bb @@ -0,0 +1,33 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +S = "${WORKDIR}/packageurl_python-${PV}" + +MAINTAINER = "Christoph Steiger " +DPKG_ARCH = "all" +DEBIAN_BUILD_DEPENDS = "debhelper (>= 11~), \ + dh-python, \ + python3-all, \ + python3-setuptools, \ + " + +DEBIAN_DEPENDS = "\${python3:Depends}, \${misc:Depends}" + +DESCRIPTION = "A purl aka. Package URL parser and builder" + +SRC_URI = "\ + https://github.com/package-url/packageurl-python/releases/download/v0.16.0/packageurl_python-0.16.0.tar.gz \ + file://rules \ + " +SRC_URI[sha256sum] = "69e3bf8a3932fe9c2400f56aaeb9f86911ecee2f9398dbe1b58ec34340be365d" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + deb_debianize +} diff --git a/meta/recipes-support/python3-py-serializable/files/rules b/meta/recipes-support/python3-py-serializable/files/rules new file mode 100644 index 00000000..0cf845dd --- /dev/null +++ b/meta/recipes-support/python3-py-serializable/files/rules @@ -0,0 +1,8 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE = 1 +export PYBUILD_NAME = py-serializable +export PYBUILD_SYSTEM = pyproject + +%: + dh $@ --with python3 --buildsystem=pybuild diff --git a/meta/recipes-support/python3-py-serializable/python3-py-serializable_2.0.0.bb b/meta/recipes-support/python3-py-serializable/python3-py-serializable_2.0.0.bb new file mode 100644 index 00000000..5bc48c0f --- /dev/null +++ b/meta/recipes-support/python3-py-serializable/python3-py-serializable_2.0.0.bb @@ -0,0 +1,38 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +S = "${WORKDIR}/py_serializable-${PV}" + +MAINTAINER = "Christoph Steiger " +DPKG_ARCH = "all" +DEBIAN_BUILD_DEPENDS = " \ + dh-sequence-python3, \ + pybuild-plugin-pyproject, \ + python3-all, \ + python3-defusedxml, \ + python3-lxml, \ + python3-poetry-core, \ + python3-setuptools, \ + xmldiff, \ +" + +DEBIAN_DEPENDS = "\${python3:Depends}, \${misc:Depends}" + +DESCRIPTION = "Library for serializing and deserializing Python Objects to and from JSON and XML." + +SRC_URI = "\ + https://github.com/madpah/serializable/releases/download/v2.0.0/py_serializable-2.0.0.tar.gz \ + file://rules \ + " +SRC_URI[sha256sum] = "e9e6491dd7d29c31daf1050232b57f9657f9e8a43b867cca1ff204752cf420a5" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + deb_debianize +} diff --git a/meta/recipes-support/python3-spdx-tools/files/rules b/meta/recipes-support/python3-spdx-tools/files/rules new file mode 100644 index 00000000..ac87528a --- /dev/null +++ b/meta/recipes-support/python3-spdx-tools/files/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE = 1 +export PYBUILD_NAME = spdx-tools +export PYBUILD_SYSTEM = distutils + +# skip tests that require hard-to-package dependencies and tests that rely on relative file paths +# TODO: figure out a way to make these tests work +export PYBUILD_TEST_ARGS=--ignore tests/spdx3/validation/json_ld/test_shacl_validation.py \ + -k 'not test_examples \ + and not test_parse_from_file \ + and not test_annotation_parser \ + and not test_snippet_parser \ + and not test_creation_info_parser \ + and not test_json_ld_writer \ + and not test_extracted_licensing_info_parser \ + and not test_parse_file \ + and not test_package_parser \ + and not test_relationship_parser \ + and not test_graph_parsing_function \ + and not test_license_expression_parser \ + ' + +%: + dh $@ --with python3 --buildsystem=pybuild diff --git a/meta/recipes-support/python3-spdx-tools/python3-spdx-tools_0.8.3.bb b/meta/recipes-support/python3-spdx-tools/python3-spdx-tools_0.8.3.bb new file mode 100644 index 00000000..30d090a9 --- /dev/null +++ b/meta/recipes-support/python3-spdx-tools/python3-spdx-tools_0.8.3.bb @@ -0,0 +1,46 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens, 2025 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +S = "${WORKDIR}/tools-python-${PV}" + +DEPENDS:append:bookworm = " python3-beartype" + +MAINTAINER = "Christoph Steiger " +DPKG_ARCH = "all" +DEBIAN_BUILD_DEPENDS = "dh-python, \ + python3-all, \ + python3-setuptools, \ + python3-beartype, \ + python3-semantic-version, \ + python3-license-expression, \ + python3-pytest , \ + python3-rdflib, \ + python3-uritools, \ + python3-ply, \ + python3-click, \ + python3-xmltodict, \ + python3-yaml, \ + " + +DEBIAN_DEPENDS = "\${python3:Depends}, \${misc:Depends}" +DEB_BUILD_PROFILES += "nocheck" +DEB_BUILD_OPTIONS += "nocheck" + +DESCRIPTION = "SPDX parser and tools." + +SRC_URI = "\ + https://github.com/spdx/tools-python/archive/refs/tags/v0.8.3.tar.gz \ + file://rules \ + " +SRC_URI[sha256sum] = "17cb0140adbaefb58819c9d5d56060dc6a70c673a854fa9bd882ecfa4e062a7f" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + deb_debianize +}