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 2024-05-24 19:53:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/product-composer (Old)
 and      /work/SRC/openSUSE:Factory/.product-composer.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "product-composer"

Fri May 24 19:53:35 2024 rev:13 rq:1176757 version:0.4.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/product-composer/product-composer.changes        
2024-05-17 20:07:50.965207016 +0200
+++ 
/work/SRC/openSUSE:Factory/.product-composer.new.24587/product-composer.changes 
    2024-05-24 19:53:57.739702202 +0200
@@ -1,0 +2,7 @@
+Fri May 24 13:54:21 UTC 2024 - Adrian Schröter <[email protected]>
+
+- update to version 0.4.8
+  * Support export of slsa.provenance files
+  * Allow to override product directory per flavor
+
+-------------------------------------------------------------------

Old:
----
  product-composer-0.4.7.obscpio

New:
----
  product-composer-0.4.8.obscpio

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

Other differences:
------------------
++++++ product-composer.spec ++++++
--- /var/tmp/diff_new_pack.BTuLsd/_old  2024-05-24 19:53:58.295722548 +0200
+++ /var/tmp/diff_new_pack.BTuLsd/_new  2024-05-24 19:53:58.295722548 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           product-composer
-Version:        0.4.7
+Version:        0.4.8
 Release:        0
 Summary:        Product Composer
 License:        GPL-2.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.BTuLsd/_old  2024-05-24 19:53:58.335724012 +0200
+++ /var/tmp/diff_new_pack.BTuLsd/_new  2024-05-24 19:53:58.335724012 +0200
@@ -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="version">0.4.7</param>
-    <param name="revision">0.4.7</param>
+    <param name="version">0.4.8</param>
+    <param name="revision">0.4.8</param>
   </service>
   <service name="set_version" mode="manual" />
   <service name="tar" mode="buildtime" />

++++++ product-composer-0.4.7.obscpio -> product-composer-0.4.8.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/product-composer-0.4.7/docs/build_description.adoc 
new/product-composer-0.4.8/docs/build_description.adoc
--- old/product-composer-0.4.7/docs/build_description.adoc      2024-05-17 
15:35:56.000000000 +0200
+++ new/product-composer-0.4.8/docs/build_description.adoc      2024-05-24 
15:52:19.000000000 +0200
@@ -15,26 +15,14 @@
   - my-single-rpm-package
 
 === build options
-==== take_all_available_versions
 
-By default only "the best" version of each rpm is taken.
-Use this switch to put all candidates on the medium.
-For example for maintenance repositories.
-
-==== ignore_missing_packages
-
-Missing packages lead by default to a build failure.
-Use this switch to continue. The missing packages are
-still listed in the build log.
-
-==== hide_flavor_in_product_directory_name
+The build options may be used to change the behaviour of the build
+process. The options are described in the details below.
 
-The flavor name is by default part of the directory
-name of the build result. This can be disabled, 
-when each flavor has a different arch list. Otherwise
-conflicts can happen.
+Just add them to enable the desired functionality, no further
+arguments are allowed.
 
-==== flavors
+=== flavors
 
 Flavors can be defined with any name. These can be
 used to build multiple media from one build description.
@@ -46,7 +34,7 @@
 You need to add a _multibuild file to your sources
 to enable the build.
 
-==== unpack
+=== unpack
 
 unpack defines the packageset to be used for extracting
 the content of the rpm packages directly on the medium.
@@ -58,7 +46,7 @@
 Currently it gets only extracted to the first/main medium,
 but not on source or debug media.
 
-==== packagesets
+=== packagesets
 
 The packages list lists rpm names to be put on the medium.
 
@@ -117,10 +105,28 @@
 
 ==== build_options
 
-The build options may be used to change the behaviour of the build
-process. The options are described above.
+===== take_all_available_versions
 
-Just add them to enable them, no further arguments are allowed.
+By default only "the best" version of each rpm is taken.
+Use this switch to put all candidates on the medium.
+For example for maintenance repositories.
+
+===== ignore_missing_packages
+
+Missing packages lead by default to a build failure.
+Use this switch to continue. The missing packages are
+still listed in the build log.
+
+===== hide_flavor_in_product_directory_name
+
+The flavor name is by default part of the directory
+name of the build result. This can be disabled, 
+when each flavor has a different arch list. Otherwise
+conflicts can happen.
+
+===== add_slsa_provenance
+
+Add slsa provenance files for each rpm if available
 
 ==== debug
 
@@ -212,3 +218,8 @@
 This can be used to have a common identifier for an update for many products, 
but
 still being able to identify the filtering for a specific product.
 
+==== block_updates_under_embargo
+
+The current default is to include maintenance updates under embargo. This 
option can
+be set to abort when an embargo date is in future.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/product-composer-0.4.7/examples/ftp.productcompose 
new/product-composer-0.4.8/examples/ftp.productcompose
--- old/product-composer-0.4.7/examples/ftp.productcompose      2024-05-17 
15:35:56.000000000 +0200
+++ new/product-composer-0.4.8/examples/ftp.productcompose      2024-05-24 
15:52:19.000000000 +0200
@@ -29,10 +29,10 @@
 build_options:
 ### For maintenance, otherwise only "the best" version of each package is 
picked:
 - take_all_available_versions
-### do not abort on missing packages
-- ignore_missing_packages
+# - ignore_missing_packages
 # - hide_flavor_in_product_directory_name
-- block_updates_under_embargo
+# - block_updates_under_embargo
+# - add_slsa_provenance
 
 # Enable collection of source and debug packages. Either "include" it
 # on main medium, "drop" it or "split" it away on extra medium.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/product-composer-0.4.7/src/productcomposer/cli.py 
new/product-composer-0.4.8/src/productcomposer/cli.py
--- old/product-composer-0.4.7/src/productcomposer/cli.py       2024-05-17 
15:35:56.000000000 +0200
+++ new/product-composer-0.4.8/src/productcomposer/cli.py       2024-05-24 
15:52:19.000000000 +0200
@@ -173,6 +173,8 @@
             yml['version'] = f['version']
         if 'product-type' in f:
             yml['product-type'] = f['product-type']
+        if 'product_directory_name' in f:
+            yml['product_directory_name'] = f['product_directory_name']
 
     if 'architectures' not in yml or not yml['architectures']:
         die("No architecture defined. Maybe wrong flavor?")
@@ -238,18 +240,18 @@
             sourcedir = outdir + '/' + product_base_dir + '-Source'
             os.mkdir(sourcedir)
             workdirectories.append(sourcedir)
-        elif yml['source'] == 'drop':
-            sourcedir = None
-        elif yml['source'] != 'include':
+        elif yml['source'] == 'include':
+            sourcedir = maindir
+        elif yml['source'] != 'drop':
             die("Bad source option, must be either 'include', 'split' or 
'drop'")
     if "debug" in yml:
         if yml['debug'] == 'split':
             debugdir = outdir + '/' + product_base_dir + '-Debug'
             os.mkdir(debugdir)
             workdirectories.append(debugdir)
-        elif yml['debug'] == 'drop':
-            debugdir = None
-        elif yml['debug'] != 'include':
+        elif yml['debug'] == 'include':
+            debugdir = maindir
+        elif yml['debug'] != 'drop':
             die("Bad debug option, must be either 'include', 'split' or 
'drop'")
 
     for arch in yml['architectures']:
@@ -853,6 +855,9 @@
     singlemode = True
     if 'take_all_available_versions' in yml['build_options']:
         singlemode = False
+    add_slsa = False
+    if 'add_slsa_provenance' in yml['build_options']:
+        add_slsa = True
 
     main_pkgset = create_package_set(yml, arch, flavor, 'main')
 
@@ -870,7 +875,7 @@
             continue
 
         for rpm in rpms:
-            link_entry_into_dir(rpm, rpmdir)
+            link_entry_into_dir(rpm, rpmdir, add_slsa=add_slsa)
             if rpm.name in supportstatus_override:
                 supportstatus[rpm.name] = supportstatus_override[rpm.name]
             else:
@@ -885,7 +890,7 @@
                 # so we need to add also the src rpm
                 srpm = pool.lookup_rpm(srcrpm.arch, srcrpm.name, '=', None, 
srcrpm.version, srcrpm.release)
                 if srpm:
-                    link_entry_into_dir(srpm, sourcedir)
+                    link_entry_into_dir(srpm, sourcedir, add_slsa=add_slsa)
                 else:
                     details = f"         required by  {rpm}"
                     warn(f"source rpm package {srcrpm} not found", 
details=details)
@@ -894,11 +899,11 @@
             if debugdir:
                 drpm = pool.lookup_rpm(arch, srcrpm.name + "-debugsource", 
'=', None, srcrpm.version, srcrpm.release)
                 if drpm:
-                    link_entry_into_dir(drpm, debugdir)
+                    link_entry_into_dir(drpm, debugdir, add_slsa=add_slsa)
 
                 drpm = pool.lookup_rpm(arch, rpm.name + "-debuginfo", '=', 
rpm.epoch, rpm.version, rpm.release)
                 if drpm:
-                    link_entry_into_dir(drpm, debugdir)
+                    link_entry_into_dir(drpm, debugdir, add_slsa=add_slsa)
 
     if missing_package and not 'ignore_missing_packages' in 
yml['build_options']:
         die('Abort due to missing packages')
@@ -917,13 +922,17 @@
             os.link(filename, outname)
 
 
-def link_entry_into_dir(entry, directory):
-    link_file_into_dir(entry.location, directory + '/' + entry.arch)
-    add_entry_to_report(entry, directory)
-
-
-def add_entry_to_report(entry, directory):
+def link_entry_into_dir(entry, directory, add_slsa=False):
     outname = directory + '/' + entry.arch + '/' + 
os.path.basename(entry.location)
+    if not os.path.exists(outname):
+        link_file_into_dir(entry.location, directory + '/' + entry.arch)
+        add_entry_to_report(entry, outname)
+        if add_slsa:
+            slsaname = entry.location.removesuffix('.rpm') + 
'.slsa_provenance.json'
+            if os.path.exists(slsaname):
+                link_file_into_dir(slsaname, directory + '/' + entry.arch)
+
+def add_entry_to_report(entry, outname):
     # first one wins, see link_file_into_dir
     if outname not in tree_report:
         tree_report[outname] = entry

++++++ product-composer.obsinfo ++++++
--- /var/tmp/diff_new_pack.BTuLsd/_old  2024-05-24 19:53:58.451728257 +0200
+++ /var/tmp/diff_new_pack.BTuLsd/_new  2024-05-24 19:53:58.455728403 +0200
@@ -1,5 +1,5 @@
 name: product-composer
-version: 0.4.7
-mtime: 1715952956
-commit: e6b0f8a8f64c2e42eb9af5d7b47741373ef3f424
+version: 0.4.8
+mtime: 1716558739
+commit: c83a1737ac73d82d1ac9f4ce6115323c36b39f5e
 

Reply via email to