Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package product-composer for 
openSUSE:Factory checked in at 2026-03-23 17:14:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/product-composer (Old)
 and      /work/SRC/openSUSE:Factory/.product-composer.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "product-composer"

Mon Mar 23 17:14:26 2026 rev:51 rq:1342053 version:0.9.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/product-composer/product-composer.changes        
2026-02-20 17:50:55.144253808 +0100
+++ 
/work/SRC/openSUSE:Factory/.product-composer.new.8177/product-composer.changes  
    2026-03-23 17:16:12.412758061 +0100
@@ -1,0 +2,14 @@
+Mon Mar 23 13:58:23 UTC 2026 - Adrian Schröter <[email protected]>
+
+- update to version 0.9.3
+  * Generate SBOM files also for seperate source and debug media
+
+-------------------------------------------------------------------
+Mon Mar 23 06:34:10 UTC 2026 - Adrian Schröter <[email protected]>
+
+- update to version 0.9.2
+  - fixed SBOM generation when using iso: tree drop option
+  - use /usr/bin/sign instead of hardcoded signdummy.
+    This is no difference when using the build script.
+
+-------------------------------------------------------------------

Old:
----
  product-composer-0.9.1.tar.xz

New:
----
  product-composer-0.9.3.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ product-composer.spec ++++++
--- /var/tmp/diff_new_pack.JY8BtE/_old  2026-03-23 17:16:14.476843906 +0100
+++ /var/tmp/diff_new_pack.JY8BtE/_new  2026-03-23 17:16:14.480844072 +0100
@@ -23,7 +23,7 @@
 %endif
 
 Name:           product-composer
-Version:        0.9.1
+Version:        0.9.3
 Release:        0
 Summary:        Product Composer
 License:        GPL-2.0-or-later

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.JY8BtE/_old  2026-03-23 17:16:14.524845902 +0100
+++ /var/tmp/diff_new_pack.JY8BtE/_new  2026-03-23 17:16:14.528846069 +0100
@@ -1,5 +1,6 @@
-mtime: 1771527461
-commit: a1d847a5d1ee7f025220d6beb4b33de3269a19d46735322eea1be4bdcdbe2508
+mtime: 1774274369
+commit: f3dc279e53d5840d3bb6dbd66ac3a7e79ddefca6a68abe8c107c822d9426b4bd
 url: https://src.opensuse.org/tools/product-composer
-revision: devel
+revision: factory
+trackingbranch: factory
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.JY8BtE/_old  2026-03-23 17:16:14.552847067 +0100
+++ /var/tmp/diff_new_pack.JY8BtE/_new  2026-03-23 17:16:14.556847233 +0100
@@ -2,8 +2,8 @@
   <service name="obs_scm" mode="manual">
     <param name="url">https://github.com/openSUSE/product-composer</param>
     <param name="scm">git</param>
-    <param name="revision">0.9.1</param>
-    <param name="version">0.9.1</param>
+    <param name="revision">0.9.3</param>
+    <param name="version">0.9.3</param>
   </service>
   <service name="tar" mode="manual" />
   <service name="recompress" mode="manual">

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      2026-02-19 20:02:01.000000000 +0100
+++ new/.gitignore      2026-03-23 15:02:39.000000000 +0100
@@ -1,3 +1,4 @@
+product-composer
 .osc
 *.obscpio
 *.osc

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-03-23 15:02:39.000000000 +0100
@@ -0,0 +1,6 @@
+product-composer
+.osc
+*.obscpio
+*.osc
+*.obscpio
+*.osc

++++++ product-composer-0.9.1.tar.xz -> product-composer-0.9.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/product-composer-0.9.1/src/productcomposer/createartifacts/createtree.py 
new/product-composer-0.9.3/src/productcomposer/createartifacts/createtree.py
--- 
old/product-composer-0.9.1/src/productcomposer/createartifacts/createtree.py    
    2026-02-19 19:23:37.000000000 +0100
+++ 
new/product-composer-0.9.3/src/productcomposer/createartifacts/createtree.py    
    2026-03-23 14:57:17.000000000 +0100
@@ -199,24 +199,37 @@
         if os.path.exists(maindir + '/license.tar.gz'):
             os.unlink(maindir + '/license.tar.gz')
 
-    for repodatadir in repodatadirectories:
-        # detached signature
-        args = ['/usr/lib/build/signdummy', '-d', repodatadir + 
"/repodata/repomd.xml"]
-        run_helper(args, failmsg="create detached signature")
-        if 'enable_cmssign' in yml['build_options']:
-                   args = ['/usr/lib/build/signdummy', '--cmssign', 
repodatadir + "/repodata/repomd.xml"]
-                   run_helper(args, failmsg="create cms signature")
-
-        # pubkey
-        with open(repodatadir + "/repodata/repomd.xml.key", 'w') as 
pubkey_file:
-            args = ['/usr/lib/build/signdummy', '-p']
-            run_helper(args, stdout=pubkey_file, failmsg="write signature 
public key")
+    if os.path.exists('/usr/bin/sign'):
+        for repodatadir in repodatadirectories:
+            # detached signature
+            args = ['/usr/bin/sign', '-d', repodatadir + 
"/repodata/repomd.xml"]
+            run_helper(args, failmsg="create detached signature")
+            if 'enable_cmssign' in yml['build_options']:
+                args = ['/usr/bin/sign', '--cmssign', repodatadir + 
"/repodata/repomd.xml"]
+                run_helper(args, failmsg="create cms signature")
+            # pubkey
+            with open(repodatadir + "/repodata/repomd.xml.key", 'w') as 
pubkey_file:
+                args = ['/usr/bin/sign', '-p']
+                run_helper(args, stdout=pubkey_file, failmsg="write signature 
public key")
 
-    for workdir in workdirectories:
-        if os.path.exists(workdir + '/CHECKSUMS'):
-            args = ['/usr/lib/build/signdummy', '-d', workdir + '/CHECKSUMS']
-            run_helper(args, failmsg="create detached signature for CHECKSUMS")
+        for workdir in workdirectories:
+            if os.path.exists(workdir + '/CHECKSUMS'):
+                args = ['/usr/bin/sign', '-d', workdir + '/CHECKSUMS']
+                run_helper(args, failmsg="create detached signature for 
CHECKSUMS")
+
+    # create SBOM data
+    generate_sbom_call = None
+    if os.path.exists("/usr/lib/build/generate_sbom"):
+        generate_sbom_call = ["/usr/lib/build/generate_sbom"]
+
+    # Take sbom generation from OBS server
+    # Con: build results are not reproducible
+    # Pro: SBOM formats are constant changing, we don't need to adapt always 
all distributions for that
+    if os.path.exists("/.build/generate_sbom"):
+        # unfortunatly, it is not exectuable by default
+        generate_sbom_call = ['env', 'BUILD_DIR=/.build', 'perl', 
'/.build/generate_sbom']
 
+    for workdir in workdirectories:
         application_id = product_base_dir
         # When using the baseiso feature, the primary media should be
         # the base iso, with the packages added.
@@ -236,42 +249,41 @@
                     iso_config['joliet'] = False
                 create_iso(outdir, iso_config, workdir, application_id)
 
-            # cleanup
-            if yml['iso']['tree'] == 'drop':
-                shutil.rmtree(workdir)
-
-    # create SBOM data
-    generate_sbom_call = None
-    if os.path.exists("/usr/lib/build/generate_sbom"):
-        generate_sbom_call = ["/usr/lib/build/generate_sbom"]
+        if generate_sbom_call:
+            spdx_distro = f"{yml['name']}-{yml['version']}"
+            note(f"Creating sboom data for {spdx_distro}")
+            # SPDX
+            args = generate_sbom_call + [
+                     "--format", 'spdx',
+                     "--distro", spdx_distro,
+                     "--product", workdir
+                   ]
+            with open(workdir + ".spdx.json", 'w') as sbom_file:
+                run_helper(args, stdout=sbom_file, failmsg="run generate_sbom 
for SPDX")
+
+            # CycloneDX
+            args = generate_sbom_call + [
+                      "--format", 'cyclonedx',
+                      "--distro", spdx_distro,
+                      "--product", workdir
+                   ]
+            with open(workdir + ".cdx.json", 'w') as sbom_file:
+                run_helper(args, stdout=sbom_file, failmsg="run generate_sbom 
for CycloneDX")
 
-    # Take sbom generation from OBS server
-    # Con: build results are not reproducible
-    # Pro: SBOM formats are constant changing, we don't need to adapt always 
all distributions for that
-    if os.path.exists("/.build/generate_sbom"):
-        # unfortunatly, it is not exectuable by default
-        generate_sbom_call = ['env', 'BUILD_DIR=/.build', 'perl', 
'/.build/generate_sbom']
+    # drop everything except selected meta data. intended for test builds
+    if 'discard_artifacts' in yml['build_options']:
+        for workdir in workdirectories:
+            for suffix in ["", ".iso", ".install.iso"]:
+                if os.path.exists(workdir + suffix):
+                    warn("discard_artifacts enabled, removing " + workdir + 
suffix)
+                    shutil.rmtree(workdir + suffix)
+        return
 
-    if generate_sbom_call:
-        spdx_distro = f"{yml['name']}-{yml['version']}"
-        note(f"Creating sboom data for {spdx_distro}")
-        # SPDX
-        args = generate_sbom_call + [
-                 "--format", 'spdx',
-                 "--distro", spdx_distro,
-                 "--product", maindir
-               ]
-        with open(maindir + ".spdx.json", 'w') as sbom_file:
-            run_helper(args, stdout=sbom_file, failmsg="run generate_sbom for 
SPDX")
-
-        # CycloneDX
-        args = generate_sbom_call + [
-                  "--format", 'cyclonedx',
-                  "--distro", spdx_distro,
-                  "--product", maindir
-               ]
-        with open(maindir + ".cdx.json", 'w') as sbom_file:
-            run_helper(args, stdout=sbom_file, failmsg="run generate_sbom for 
CycloneDX")
+    # drop just the entire tree, we have the iso already
+    if yml['iso'] and yml['iso']['tree'] == 'drop':
+        for workdir in workdirectories:
+             shutil.rmtree(workdir)
+        return
 
     # cleanup main repodata if wanted and existing
     if yml['repodata'] and yml['repodata'] != 'all':
@@ -280,11 +292,3 @@
             if os.path.exists(repodatadir):
                 shutil.rmtree(repodatadir)
 
-    # drop everything except selected meta data. intended for test builds
-    if 'discard_artifacts' in yml['build_options']:
-        for workdir in workdirectories:
-            for suffix in [ "", ".iso", ".install.iso" ]:
-                if os.path.exists(workdir + suffix):
-                    warn("discard_artifacts enabled, removing " + workdir + 
suffix)
-                    shutil.rmtree(workdir + suffix)
-

++++++ product-composer.obsinfo ++++++
--- /var/tmp/diff_new_pack.JY8BtE/_old  2026-03-23 17:16:14.900861541 +0100
+++ /var/tmp/diff_new_pack.JY8BtE/_new  2026-03-23 17:16:14.904861707 +0100
@@ -1,5 +1,5 @@
 name: product-composer
-version: 0.9.1
-mtime: 1771525417
-commit: c3fb48d44369427148e795c79634ac9a0ee5c3e1
+version: 0.9.3
+mtime: 1774274237
+commit: a84a8791052bd7b01ce3b67cc4402836b2780238
 

Reply via email to