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