mbox series

[0/1] Add SBOM generation with debsbom

Message ID 20250911130408.3836054-1-srinuvasan.a@siemens.com
Headers show
Series Add SBOM generation with debsbom | expand

Message

srinuvasan.a Sept. 11, 2025, 1:04 p.m. UTC
From: srinuvasan <srinuvasan.a@siemens.com>

Includes additional fixes alongside the following patch series
https://groups.google.com/g/isar-users/c/4JntAI3gL1s

srinuvasan (1):
  meta: derive ROOTFS_DISTRO correctly in sbom-chroot's
    do_prepare_rootfs

 meta/recipes-devtools/sbom-chroot/sbom-chroot.bb | 5 -----
 1 file changed, 5 deletions(-)

Comments

Srinuvasan Arjunan Sept. 12, 2025, 8:17 a.m. UTC | #1
Hi Steiger,

In this patch series, the first patch (*meta: package Python dependencies 
for SBOM generation*) does not work on foreign architectures. I have fixed 
those cross-build issues — shall I send a v2 of this patch in the series?  

Many thanks,
Srinu

On Thursday, September 11, 2025 at 6:31:54 PM UTC+5:30 
srinuv...@siemens.com wrote:

From: srinuvasan <srinuv...@siemens.com> 

Includes additional fixes alongside the following patch series 
https://groups.google.com/g/isar-users/c/4JntAI3gL1s 

srinuvasan (1): 
meta: derive ROOTFS_DISTRO correctly in sbom-chroot's 
do_prepare_rootfs 

meta/recipes-devtools/sbom-chroot/sbom-chroot.bb | 5 ----- 
1 file changed, 5 deletions(-)
Srinuvasan Arjunan Sept. 12, 2025, 9:34 a.m. UTC | #2
Hi,

        When generating SBOM for foreign architectures (e.g., arm64), some 
Python packages fail to build. One such example is 
python3-cyclonedx-python-lib. During arm64 builds it throws the below error:

| The following packages have unmet dependencies:
|  sbuild-build-depends-main-dummy:arm64 : Depends: dh-python:arm64
|                                          Depends: python3-all:arm64 but 
it is not going to be installed
|                                          Depends: python3-setuptools:arm64
|                                          Depends: 
pybuild-plugin-pyproject:arm64
|                                          Depends: python3-hatchling:arm64 
but it is not installable


The fix is to add the :native suffix for Python build dependencies. For 
example:

DEBIAN_BUILD_DEPENDS = "debhelper (>= 11~), \
    dh-python, \
    python3-all:native, \
    python3-setuptools, \
    pybuild-plugin-pyproject, \
    python3-poetry:native, \
    python3-py-serializable:native, \
    python3-packageurl-python:native, \
    python3-sortedcontainers, \
    python3-ddt:native, \
    python3-defusedxml:native, \
    python3-license-expression:native, \
    python3-jsonschema:native, \
    python3-lxml:native, \
"

In short, Python recipes required for the build must explicitly use the 
:native suffix to avoid cross-architecture dependency resolution issues.

Similar fixes are needed for all the python recipes in this patch.

Many thanks,
Srinu

On Friday, September 12, 2025 at 1:47:13 PM UTC+5:30 Srinuvasan Arjunan 
wrote:

Hi Steiger,

In this patch series, the first patch (*meta: package Python dependencies 
for SBOM generation*) does not work on foreign architectures. I have fixed 
those cross-build issues — shall I send a v2 of this patch in the series?  

Many thanks,
Srinu


On Thursday, September 11, 2025 at 6:31:54 PM UTC+5:30 srinuv...@siemens.com 
wrote:

From: srinuvasan <srinuv...@siemens.com> 

Includes additional fixes alongside the following patch series 
https://groups.google.com/g/isar-users/c/4JntAI3gL1s 

srinuvasan (1): 
meta: derive ROOTFS_DISTRO correctly in sbom-chroot's 
do_prepare_rootfs 

meta/recipes-devtools/sbom-chroot/sbom-chroot.bb | 5 ----- 
1 file changed, 5 deletions(-)
MOESSBAUER, Felix Sept. 12, 2025, 11:02 a.m. UTC | #3
On Fri, 2025-09-12 at 02:34 -0700, Srinuvasan Arjunan wrote:
> Hi,
> 
>         When generating SBOM for foreign architectures (e.g., arm64), some Python packages fail to build. One such example is python3-cyclonedx-python-lib. During arm64 builds it throws the below error:
> 
> | The following packages have unmet dependencies:
> |  sbuild-build-depends-main-dummy:arm64 : Depends: dh-python:arm64
> |                                          Depends: python3-all:arm64 but it is not going to be installed
> |                                          Depends: python3-setuptools:arm64
> |                                          Depends: pybuild-plugin-pyproject:arm64
> |                                          Depends: python3-hatchling:arm64 but it is not installable
> 
> 

Hi, this happens because we cross-compile the arch:all package (which
we shoudn't) and also bitbake dependencies are not propagated
correctly. Fixing all that has been taken care of in the following
patches:

- handle DPKG_ARCH=all case for transitive deps
- dpkg-raw: add files to source package

These are not yet applied (but hopefully they will be soon).

Felix