Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2023-03-22 22:31:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old) and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.31432 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools" Wed Mar 22 22:31:41 2023 rev:460 rq:1073782 version:20230315.982c565 Changes: -------- --- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2023-02-17 16:46:10.651258818 +0100 +++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.31432/openSUSE-release-tools.changes 2023-03-22 22:32:29.382751053 +0100 @@ -1,0 +2,63 @@ +Wed Mar 15 11:38:33 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230315.982c565: + * pkglistgen: handle published repos using sha512 nistead of sha256 + +------------------------------------------------------------------- +Tue Mar 14 08:35:56 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230314.143a171: + * skippkg-finder: add conditionals support for the product ftp-tree + +------------------------------------------------------------------- +Thu Mar 09 14:06:26 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230309.7eca6b9: + * Drop flavors in Leap155 appliances + +------------------------------------------------------------------- +Thu Mar 09 11:43:29 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230309.8252602: + * add eruby generated pkglistgen.opensuse.gocd.yaml + * remove pkglistgen for leap16 completely + * Comment out skippkgfinder for now + * Initial Leap 16.0 pkglistgen + +------------------------------------------------------------------- +Thu Mar 09 09:06:47 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230309.846b7c0: + * dashboard: leap: fix openQA IDs + +------------------------------------------------------------------- +Fri Mar 03 22:11:13 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230303.db6249f: + * gocd: add Micro and Bedrock packagelistgenerator call + +------------------------------------------------------------------- +Fri Mar 03 22:07:20 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230303.e6dbbae: + * Create new pipeline to deploy sle-prjmgr-tools scripts + +------------------------------------------------------------------- +Fri Mar 03 21:56:55 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230303.08e0489: + * Switch testing from Leap 15.3 to openSUSE Leap 15.4 + +------------------------------------------------------------------- +Fri Mar 03 15:55:27 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230303.85a08f7: + * Fix handling of preinstall images + +------------------------------------------------------------------- +Thu Mar 02 06:06:21 UTC 2023 - opensuse-releaset...@opensuse.org + +- Update to version 20230302.a0cb736: + * Port from mock to unittest.mock + +------------------------------------------------------------------- Old: ---- openSUSE-release-tools-20230210.1cf4e6b.obscpio New: ---- openSUSE-release-tools-20230315.982c565.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openSUSE-release-tools.spec ++++++ --- /var/tmp/diff_new_pack.rBGPuC/_old 2023-03-22 22:32:30.090754616 +0100 +++ /var/tmp/diff_new_pack.rBGPuC/_new 2023-03-22 22:32:30.094754635 +0100 @@ -20,7 +20,7 @@ %define source_dir openSUSE-release-tools %define announcer_filename factory-package-news Name: openSUSE-release-tools -Version: 20230210.1cf4e6b +Version: 20230315.982c565 Release: 0 Summary: Tools to aid in staging and release work for openSUSE/SUSE License: GPL-2.0-or-later AND MIT ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.rBGPuC/_old 2023-03-22 22:32:30.138754858 +0100 +++ /var/tmp/diff_new_pack.rBGPuC/_new 2023-03-22 22:32:30.138754858 +0100 @@ -1,7 +1,7 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param> - <param name="changesrevision">1cf4e6bb02ea1352c8257b391e4c814aa03d8924</param> + <param name="changesrevision">982c565e51ba25ee52e40369c98ee9b35607d837</param> </service> </servicedata> ++++++ openSUSE-release-tools-20230210.1cf4e6b.obscpio -> openSUSE-release-tools-20230315.982c565.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/.obs/workflows.yml new/openSUSE-release-tools-20230315.982c565/.obs/workflows.yml --- old/openSUSE-release-tools-20230210.1cf4e6b/.obs/workflows.yml 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/.obs/workflows.yml 2023-03-15 12:37:09.000000000 +0100 @@ -13,10 +13,10 @@ - target_project: openSUSE:Factory target_repository: snapshot architectures: [ x86_64 ] - - name: '15.3' + - name: '15.4' paths: - target_project: openSUSE:Tools - target_repository: '15.3' + target_repository: '15.4' architectures: [ x86_64 ] filters: event: pull_request diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/check_source.py new/openSUSE-release-tools-20230315.982c565/check_source.py --- old/openSUSE-release-tools-20230210.1cf4e6b/check_source.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/check_source.py 2023-03-15 12:37:09.000000000 +0100 @@ -221,10 +221,13 @@ new_info = self.package_source_parse(source_project, source_package, source_revision, target_package) filename = new_info.get('filename', '') - if not (filename.endswith('.kiwi') or filename == 'Dockerfile') and new_info['name'] != target_package: + expected_name = target_package + if filename == '_preinstallimage': + expected_name = 'preinstallimage' + if not (filename.endswith('.kiwi') or filename == 'Dockerfile') and new_info['name'] != expected_name: shutil.rmtree(dir) self.review_messages['declined'] = "A package submitted as %s has to build as 'Name: %s' - found Name '%s'" % ( - target_package, target_package, new_info['name']) + target_package, expected_name, new_info['name']) return False if not self.check_service_file(target_package): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/dashboard/generate.py new/openSUSE-release-tools-20230315.982c565/dashboard/generate.py --- old/openSUSE-release-tools-20230210.1cf4e6b/dashboard/generate.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/dashboard/generate.py 2023-03-15 12:37:09.000000000 +0100 @@ -183,10 +183,10 @@ openqa_group='openSUSE Leap 15', openqa_version='15.5', openqa_groupid=50) fetcher.add('openSUSE:Backports:SLE-15-SP5', nick='Backports:SLE-15-SP5') fetcher.add('openSUSE:Leap:15.5:Images', nick='Leap:15.5:Images', openqa_group='openSUSE Leap 15.5 Images', - openqa_version='15.5', openqa_groupid=105) + openqa_version='15.5', openqa_groupid=103) fetcher.add('openSUSE:Leap:15.5:ARM', nick='Leap:15.5:ARM', download_url='https://download.opensuse.org/ports/armv7hl/distribution/leap/15.5/iso', - openqa_group='openSUSE Leap 15.5 ARMv7', openqa_version='15.5', openqa_groupid=79) + openqa_group='openSUSE Leap 15.5 ARMv7', openqa_version='15.5', openqa_groupid=106) fetcher.add('openSUSE:Leap:15.5:ARM:Images', nick='Leap:15.5:ARM:Images', openqa_group='openSUSE Leap 15.5 ARMv7 Images', openqa_version='15.5', openqa_groupid=104) fetcher.add('openSUSE:Leap:15.4:Images', nick='Leap:15.4:Images', openqa_group='openSUSE Leap 15.4 Images', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/dist/ci/testenv-tumbleweed/Dockerfile new/openSUSE-release-tools-20230315.982c565/dist/ci/testenv-tumbleweed/Dockerfile --- old/openSUSE-release-tools-20230210.1cf4e6b/dist/ci/testenv-tumbleweed/Dockerfile 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/dist/ci/testenv-tumbleweed/Dockerfile 2023-03-15 12:37:09.000000000 +0100 @@ -6,7 +6,7 @@ RUN zypper --gpg-auto-import-keys ref RUN zypper in -y osc python3-pytest python3-httpretty python3-pyxdg python3-PyYAML \ - python3-pika python3-mock python3-cmdln python3-lxml python3-python-dateutil python3-colorama \ + python3-pika python3-cmdln python3-lxml python3-python-dateutil python3-colorama \ python3-influxdb python3-pytest-cov libxml2-tools curl python3-flake8 \ shadow vim vim-data strace git sudo patch openSUSE-release openSUSE-release-ftp \ perl-Net-SSLeay perl-Text-Diff perl-XML-Simple perl-XML-Parser build \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/gocd/alp.gocd.yaml new/openSUSE-release-tools-20230315.982c565/gocd/alp.gocd.yaml --- old/openSUSE-release-tools-20230210.1cf4e6b/gocd/alp.gocd.yaml 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/gocd/alp.gocd.yaml 2023-03-15 12:37:09.000000000 +0100 @@ -44,3 +44,17 @@ tasks: - script: python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p SUSE:ALP:RISCV -s target --only-release-packages --force - script: python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p SUSE:ALP:RISCV -s target + SUSE_ALP_Products_Micro_0.1: + timeout: 60 + resources: + - repo-checker + tasks: + - script: python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p SUSE:ALP:Products:Micro:0.1 -s target --only-release-packages --force + - script: python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p SUSE:ALP:Products:Micro:0.1 -s target + SUSE_ALP_Products_Bedrock_0.1: + timeout: 60 + resources: + - repo-checker + tasks: + - script: python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p SUSE:ALP:Products:Bedrock:0.1 -s target --only-release-packages --force + - script: python3 -u ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p SUSE:ALP:Products:Bedrock:0.1 -s target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/gocd/alp.gocd.yaml.erb new/openSUSE-release-tools-20230315.982c565/gocd/alp.gocd.yaml.erb --- old/openSUSE-release-tools-20230210.1cf4e6b/gocd/alp.gocd.yaml.erb 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/gocd/alp.gocd.yaml.erb 2023-03-15 12:37:09.000000000 +0100 @@ -16,7 +16,7 @@ approval: type: manual jobs: -<% ['SUSE:ALP/target', 'SUSE:ALP:PowerPC', 'SUSE:ALP:zSystems', 'SUSE:ALP:RISCV'].each do |project| +<% ['SUSE:ALP/target', 'SUSE:ALP:PowerPC', 'SUSE:ALP:zSystems', 'SUSE:ALP:RISCV', 'SUSE:ALP:Products:Micro:0.1', 'SUSE:ALP:Products:Bedrock:0.1'].each do |project| project=project.split('/') name=project[0].gsub(':', '_') if project.size > 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/gocd/pkglistgen.opensuse.gocd.yaml new/openSUSE-release-tools-20230315.982c565/gocd/pkglistgen.opensuse.gocd.yaml --- old/openSUSE-release-tools-20230210.1cf4e6b/gocd/pkglistgen.opensuse.gocd.yaml 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/gocd/pkglistgen.opensuse.gocd.yaml 2023-03-15 12:37:09.000000000 +0100 @@ -108,6 +108,27 @@ - repo-checker tasks: - script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos openSUSE:Factory:RISCV + Pkglistgen.openSUSE_Leap_16.0: + group: Leap + lock_behavior: unlockWhenFinished + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + timer: + spec: 0 40 * ? * * + only_on_changes: false + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - pkglistgen: + approval: + type: manual + jobs: + openSUSE_Leap_16.0_target: + resources: + - repo-checker + tasks: + - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p openSUSE:Leap:16.0 -s target Pkglistgen.openSUSE_Leap_15.5: group: Leap lock_behavior: unlockWhenFinished diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/gocd/pkglistgen.opensuse.gocd.yaml.erb new/openSUSE-release-tools-20230315.982c565/gocd/pkglistgen.opensuse.gocd.yaml.erb --- old/openSUSE-release-tools-20230210.1cf4e6b/gocd/pkglistgen.opensuse.gocd.yaml.erb 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/gocd/pkglistgen.opensuse.gocd.yaml.erb 2023-03-15 12:37:09.000000000 +0100 @@ -57,6 +57,36 @@ tasks: - script: python3 -u ./pkglistgen.py --apiurl https://api.opensuse.org handle_update_repos <%= project %> <% end -%> + Pkglistgen.openSUSE_Leap_16.0: + group: Leap + lock_behavior: unlockWhenFinished + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + timer: + spec: 0 40 * ? * * + only_on_changes: false + materials: + git: + git: https://github.com/openSUSE/openSUSE-release-tools.git + stages: + - pkglistgen: + approval: + type: manual + jobs: +<% ['openSUSE:Leap:16.0/target'].each do |project| + project=project.split('/') + name=project[0].gsub(':', '_') + if project.size > 1 + options=" -s #{project[1]}" + name = name + "_#{project[1]}" + end + -%> + <%= name %>: + resources: + - repo-checker + tasks: + - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org update_and_solve -p <%= project[0] %><%= options %> +<% end -%> Pkglistgen.openSUSE_Leap_15.5: group: Leap lock_behavior: unlockWhenFinished diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/gocd/sp.target.gocd.yaml new/openSUSE-release-tools-20230315.982c565/gocd/sp.target.gocd.yaml --- old/openSUSE-release-tools-20230210.1cf4e6b/gocd/sp.target.gocd.yaml 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/gocd/sp.target.gocd.yaml 2023-03-15 12:37:09.000000000 +0100 @@ -64,7 +64,59 @@ done osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:TEST/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED - - Release.Images.To.Test.New: + - Release.Images.To.Publish: + approval: manual + roles: + - SLE + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-totest-manager + resources: + - staging-bot + tasks: + - script: |- + osc -A https://api.suse.de release SUSE:SLE-15-SP5:GA:TEST + sleep 600 + while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do + echo PENDING + sleep 600 + done + osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED + while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do + echo PENDING + sleep 600 + done + osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP5:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED + + SLE15.SP5.Images.NEW: + group: SLE15.Target + lock_behavior: unlockWhenFinished + materials: + repos: + git: git://botmaster.suse.de/suse-repos.git + auto_update: true + whitelist: + - SUSE:SLE-15-SP5:GA_-_images.yaml + destination: repos + scripts: + auto_update: true + git: https://github.com/openSUSE/openSUSE-release-tools.git + whitelist: + - DO_NOT_TRIGGER + destination: scripts + environment_variables: + OSC_CONFIG: /home/go/config/oscrc-staging-bot + stages: + - Expect.Images.To.Finish: + resources: + - staging-bot + tasks: + - script: | + export PYTHONPATH=scripts + set -e + ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r containerfile + ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP5:GA -r images + + - Release.Images.To.Test: approval: manual roles: - SLE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/pkglistgen/update_repo_handler.py new/openSUSE-release-tools-20230315.982c565/pkglistgen/update_repo_handler.py --- old/openSUSE-release-tools-20230210.1cf4e6b/pkglistgen/update_repo_handler.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/pkglistgen/update_repo_handler.py 2023-03-15 12:37:09.000000000 +0100 @@ -74,7 +74,13 @@ root = ET.fromstring(repomd.content) primary_element = root.find('.//r:data[@type="primary"]', ns) location = primary_element.find('r:location', ns).get('href') - sha256_expected = primary_element.find('r:checksum[@type="sha256"]', ns).text + sha256_or_512 = 0 + try: + sha_expected = primary_element.find('r:checksum[@type="sha512"]', ns).text + sha256_or_512 = 512 + except AttributeError: + sha_expected = primary_element.find('r:checksum[@type="sha256"]', ns).text + sha256_or_512 = 256 f = tempfile.TemporaryFile() f.write(repomd.content) @@ -85,9 +91,13 @@ with requests.get(url, stream=True) as primary: if primary.status_code != requests.codes.ok: raise Exception(url + ' does not exist') - sha256 = hashlib.sha256(primary.content).hexdigest() - if sha256 != sha256_expected: - raise Exception('checksums do not match {} != {}'.format(sha256, sha256_expected)) + if sha256_or_512 == 512: + sha = hashlib.sha512(primary.content).hexdigest() + else: + sha = hashlib.sha256(primary.content).hexdigest() + + if sha != sha_expected: + raise Exception('checksums do not match {} != {}'.format(sha, sha_expected)) content = gzip.GzipFile(fileobj=io.BytesIO(primary.content)) os.lseek(f.fileno(), 0, os.SEEK_SET) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/publish_distro_conf/publish_leap155_appliances.config new/openSUSE-release-tools-20230315.982c565/publish_distro_conf/publish_leap155_appliances.config --- old/openSUSE-release-tools-20230210.1cf4e6b/publish_distro_conf/publish_leap155_appliances.config 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/publish_distro_conf/publish_leap155_appliances.config 2023-03-15 12:37:09.000000000 +0100 @@ -5,8 +5,7 @@ synclog="${logfile_base}.log" deletelog="${logfile_base}-deletes.log" path="/distribution/leap/$leap_version/appliances" -flavors=(kvm-and-xen) -#flavors=() +flavors=() repos=() extra_repos=() isodir="" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/requirements.txt new/openSUSE-release-tools-20230315.982c565/requirements.txt --- old/openSUSE-release-tools-20230210.1cf4e6b/requirements.txt 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/requirements.txt 2023-03-15 12:37:09.000000000 +0100 @@ -10,4 +10,3 @@ # Dependencies for testing httpretty -mock diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/skippkg-finder.py new/openSUSE-release-tools-20230315.982c565/skippkg-finder.py --- old/openSUSE-release-tools-20230210.1cf4e6b/skippkg-finder.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/skippkg-finder.py 2023-03-15 12:37:09.000000000 +0100 @@ -44,6 +44,8 @@ self.skiplist_supplement_regex = set(config.get('skippkg-finder-skiplist-supplement-regex', '').split(' ')) # drops off RPM from a list of the supplement RPMs due to regex self.skiplist_supplement_ignores = set(config.get('skippkg-finder-skiplist-supplement-ignores', '').split(' ')) + # conditional support scenario + self.skiplist_conditionals = set(config.get('skippkg-finder-conditional-scenarios', '').split(' ')) def is_sle_specific(self, package): """ @@ -244,6 +246,20 @@ return True return False + def create_group(self, group, conditional, packages=[]): + if not (group and conditional): + return '' + group_tree = ET.Element('group', {'name': group}) + ET.SubElement(group_tree, 'conditional', {'name': conditional}) + packagelist = ET.SubElement(group_tree, 'packagelist', {'relationship': 'requires'}) + for pkg in sorted(packages): + if not self.print_only and self.verbose: + print(pkg) + attr = {'name': pkg} + ET.SubElement(packagelist, 'package', attr) + + return ET.tostring(group_tree, pretty_print=True, encoding='unicode') + def crawl(self): """Main method""" @@ -325,21 +341,26 @@ binary not in self.skiplist_supplement_ignores: obsoleted.append(binary) - skip_list = ET.Element('group', {'name': 'NON_FTP_PACKAGES'}) - ET.SubElement(skip_list, 'conditional', {'name': 'drop_from_ftp'}) - packagelist = ET.SubElement(skip_list, 'packagelist', {'relationship': 'requires'}) - for pkg in sorted(obsoleted): - if not self.print_only and self.verbose: - print(pkg) - attr = {'name': pkg} - ET.SubElement(packagelist, 'package', attr) + skip_list = self.create_group('NON_FTP_PACKAGES', 'drop_from_ftp', obsoleted) + + # Handle the conditionals + cond_list = {} + for item in self.skiplist_conditionals: + # node[0] is the condition, node[1] is the package + # an example of the format: only_x86_64:glibc-32bit + node = item.split(':') + if node[0] not in cond_list: + cond_list[node[0]] = [] + cond_list[node[0]].append(node[1]) + for cond in cond_list.keys(): + group = self.create_group('NON_FTP_PACKAGES_' + cond, cond, cond_list[cond]) + skip_list += group + if not self.print_only: source_file_ensure(self.apiurl, self.upload_project, META_PACKAGE, 'NON_FTP_PACKAGES.group', - ET.tostring(skip_list, pretty_print=True, encoding='unicode'), - 'Update the skip list') + skip_list, 'Update the skip list') else: - print(ET.tostring(skip_list, pretty_print=True, - encoding='unicode')) + print(skip_list) def main(args): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/tests/accept_tests.py new/openSUSE-release-tools-20230315.982c565/tests/accept_tests.py --- old/openSUSE-release-tools-20230210.1cf4e6b/tests/accept_tests.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/tests/accept_tests.py 2023-03-15 12:37:09.000000000 +0100 @@ -6,7 +6,7 @@ from osclib.core import package_list from osc.core import get_request -from mock import MagicMock +from unittest.mock import MagicMock from . import OBSLocal # CI-Node: Long2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/tests/check_tests.py new/openSUSE-release-tools-20230315.982c565/tests/check_tests.py --- old/openSUSE-release-tools-20230210.1cf4e6b/tests/check_tests.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/tests/check_tests.py 2023-03-15 12:37:09.000000000 +0100 @@ -3,7 +3,7 @@ from osclib.check_command import CheckCommand from lxml import etree -from mock import MagicMock +from unittest.mock import MagicMock from . import OBSLocal H_REPORT = """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/tests/factory_submit_request_tests.py new/openSUSE-release-tools-20230315.982c565/tests/factory_submit_request_tests.py --- old/openSUSE-release-tools-20230210.1cf4e6b/tests/factory_submit_request_tests.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/tests/factory_submit_request_tests.py 2023-03-15 12:37:09.000000000 +0100 @@ -3,7 +3,7 @@ # Needed to mock LegalAuto from osc.core import change_review_state -from mock import MagicMock +from unittest.mock import MagicMock # Import the involved staging commands from osclib.freeze_command import FreezeCommand diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/tests/select_tests.py new/openSUSE-release-tools-20230315.982c565/tests/select_tests.py --- old/openSUSE-release-tools-20230210.1cf4e6b/tests/select_tests.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/tests/select_tests.py 2023-03-15 12:37:09.000000000 +0100 @@ -8,7 +8,7 @@ from osclib.core import source_file_load from urllib.error import HTTPError from lxml import etree as ET -from mock import MagicMock +from unittest.mock import MagicMock from . import OBSLocal # CI-Node: Long1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20230210.1cf4e6b/tests/sle_submit_request_tests.py new/openSUSE-release-tools-20230315.982c565/tests/sle_submit_request_tests.py --- old/openSUSE-release-tools-20230210.1cf4e6b/tests/sle_submit_request_tests.py 2023-02-10 11:08:40.000000000 +0100 +++ new/openSUSE-release-tools-20230315.982c565/tests/sle_submit_request_tests.py 2023-03-15 12:37:09.000000000 +0100 @@ -7,7 +7,7 @@ # Needed to mock LegalAuto from osc.core import change_review_state -from mock import MagicMock +from unittest.mock import MagicMock # Import the involved staging commands from osclib.freeze_command import FreezeCommand ++++++ openSUSE-release-tools.obsinfo ++++++ --- /var/tmp/diff_new_pack.rBGPuC/_old 2023-03-22 22:32:31.010759246 +0100 +++ /var/tmp/diff_new_pack.rBGPuC/_new 2023-03-22 22:32:31.014759266 +0100 @@ -1,5 +1,5 @@ name: openSUSE-release-tools -version: 20230210.1cf4e6b -mtime: 1676023720 -commit: 1cf4e6bb02ea1352c8257b391e4c814aa03d8924 +version: 20230315.982c565 +mtime: 1678880229 +commit: 982c565e51ba25ee52e40369c98ee9b35607d837