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 2025-07-11 21:30:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/product-composer (Old)
and /work/SRC/openSUSE:Factory/.product-composer.new.7373 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "product-composer"
Fri Jul 11 21:30:21 2025 rev:43 rq:1291853 version:0.6.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/product-composer/product-composer.changes
2025-07-07 17:07:57.178983540 +0200
+++
/work/SRC/openSUSE:Factory/.product-composer.new.7373/product-composer.changes
2025-07-11 21:32:22.170633456 +0200
@@ -1,0 +2,7 @@
+Fri Jul 11 06:37:35 UTC 2025 - Adrian Schröter <[email protected]>
+
+- update to version 0.6.9:
+ * Create the .license directory independend of iso generation
+ * Support set_updateinfo_id_prefix to be set per flavor
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ product-composer.spec ++++++
--- /var/tmp/diff_new_pack.yI3ONx/_old 2025-07-11 21:32:22.654653414 +0200
+++ /var/tmp/diff_new_pack.yI3ONx/_new 2025-07-11 21:32:22.654653414 +0200
@@ -23,7 +23,7 @@
%endif
Name: product-composer
-Version: 0.6.8
+Version: 0.6.9
Release: 0
Summary: Product Composer
License: GPL-2.0-or-later
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.yI3ONx/_old 2025-07-11 21:32:22.690654899 +0200
+++ /var/tmp/diff_new_pack.yI3ONx/_new 2025-07-11 21:32:22.694655064 +0200
@@ -1,5 +1,5 @@
-mtime: 1751894140
-commit: bad38fbb561c2485d5b99fb573ba879939455a160fcbff1240e7ac6de8d6d91d
+mtime: 1752215883
+commit: 5c6ecbcb0162f0364289bfc6d32d7dd19e7837cc7fd63b1a98a420d0f77861e6
url: https://src.opensuse.org/tools/product-composer
revision: devel
++++++ build.specials.obscpio ++++++
++++++ product-composer.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/product-composer/src/productcomposer/createartifacts/createtree.py
new/product-composer/src/productcomposer/createartifacts/createtree.py
--- old/product-composer/src/productcomposer/createartifacts/createtree.py
2025-07-07 15:16:02.000000000 +0200
+++ new/product-composer/src/productcomposer/createartifacts/createtree.py
2025-07-11 08:38:15.000000000 +0200
@@ -160,33 +160,32 @@
create_updateinfo_xml(maindir, yml, pool, flavor, debugdir, sourcedir)
# Add License File and create extra .license directory
- if yml['iso'] and yml['iso'].get('tree', None) != 'drop':
- licensefilename = '/license.tar'
- if os.path.exists(maindir + '/license-' + yml['name'] + '.tar') or
os.path.exists(maindir + '/license-' + yml['name'] + '.tar.gz'):
- licensefilename = '/license-' + yml['name'] + '.tar'
- if os.path.exists(maindir + licensefilename + '.gz'):
- run_helper(['gzip', '-d', maindir + licensefilename + '.gz'],
- failmsg="uncompress license.tar.gz")
- if os.path.exists(maindir + licensefilename):
- note("Setup .license directory")
- licensedir = maindir + ".license"
- if not os.path.exists(licensedir):
- os.mkdir(licensedir)
- args = ['tar', 'xf', maindir + licensefilename, '-C', licensedir]
- output = run_helper(args, failmsg="extract license tar ball")
- if not os.path.exists(licensedir + "/license.txt"):
- die("No license.txt extracted", details=output)
+ licensefilename = '/license.tar'
+ if os.path.exists(maindir + '/license-' + yml['name'] + '.tar') or
os.path.exists(maindir + '/license-' + yml['name'] + '.tar.gz'):
+ licensefilename = '/license-' + yml['name'] + '.tar'
+ if os.path.exists(maindir + licensefilename + '.gz'):
+ run_helper(['gzip', '-d', maindir + licensefilename + '.gz'],
+ failmsg="uncompress license.tar.gz")
+ if os.path.exists(maindir + licensefilename):
+ note("Setup .license directory")
+ licensedir = maindir + ".license"
+ if not os.path.exists(licensedir):
+ os.mkdir(licensedir)
+ args = ['tar', 'xf', maindir + licensefilename, '-C', licensedir]
+ output = run_helper(args, failmsg="extract license tar ball")
+ if not os.path.exists(licensedir + "/license.txt"):
+ die("No license.txt extracted", details=output)
- mr = ModifyrepoWrapper(
- file=maindir + licensefilename,
- directory=os.path.join(maindir, "repodata"))
- mr.run_cmd()
- os.unlink(maindir + licensefilename)
- # meta package may bring a second file or expanded symlink, so we
need clean up
- if os.path.exists(maindir + '/license.tar'):
- os.unlink(maindir + '/license.tar')
- if os.path.exists(maindir + '/license.tar.gz'):
- os.unlink(maindir + '/license.tar.gz')
+ mr = ModifyrepoWrapper(
+ file=maindir + licensefilename,
+ directory=os.path.join(maindir, "repodata"))
+ mr.run_cmd()
+ os.unlink(maindir + licensefilename)
+ # meta package may bring a second file or expanded symlink, so we need
clean up
+ if os.path.exists(maindir + '/license.tar'):
+ os.unlink(maindir + '/license.tar')
+ if os.path.exists(maindir + '/license.tar.gz'):
+ os.unlink(maindir + '/license.tar.gz')
for repodatadir in repodatadirectories:
# detached signature
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/product-composer/src/productcomposer/createartifacts/createupdateinfoxml.py
new/product-composer/src/productcomposer/createartifacts/createupdateinfoxml.py
---
old/product-composer/src/productcomposer/createartifacts/createupdateinfoxml.py
2025-07-07 15:16:02.000000000 +0200
+++
new/product-composer/src/productcomposer/createartifacts/createupdateinfoxml.py
2025-07-11 08:38:15.000000000 +0200
@@ -51,7 +51,7 @@
update.set('from', yml['set_updateinfo_from'])
id_node = update.find('id')
- if 'set_updateinfo_id_prefix' in yml:
+ if len(yml['set_updateinfo_id_prefix']) > 0:
# avoid double application of same prefix
id_text = re.sub(r'^'+yml['set_updateinfo_id_prefix'], '',
id_node.text)
id_node.text = yml['set_updateinfo_id_prefix'] + id_text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/product-composer/src/productcomposer/parsers/yamlparser.py
new/product-composer/src/productcomposer/parsers/yamlparser.py
--- old/product-composer/src/productcomposer/parsers/yamlparser.py
2025-07-07 15:16:02.000000000 +0200
+++ new/product-composer/src/productcomposer/parsers/yamlparser.py
2025-07-11 08:38:15.000000000 +0200
@@ -48,6 +48,8 @@
'repodata',
'content',
'unpack',
+ 'set_updateinfo_from',
+ 'set_updateinfo_id_prefix',
):
if f.get(tag, None):
yml[tag] = f[tag]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/product-composer/src/productcomposer/verifiers/composeschema.py
new/product-composer/src/productcomposer/verifiers/composeschema.py
--- old/product-composer/src/productcomposer/verifiers/composeschema.py
2025-07-07 15:16:02.000000000 +0200
+++ new/product-composer/src/productcomposer/verifiers/composeschema.py
2025-07-11 08:38:15.000000000 +0200
@@ -89,7 +89,7 @@
installcheck: Optional[list[Literal['ignore_errors']]] | None = None
set_updateinfo_from: Optional[str] = None
- set_updateinfo_id_prefix: Optional[str] = None
+ set_updateinfo_id_prefix: Optional[str] = ""
block_updates_under_embargo: Optional[str] = None
flavors: Optional[dict[str, compose_schema]] = {}