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 <adr...@suse.de> + +- 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]] = {}