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-07-25 11:51:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1467 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Tue Jul 25 11:51:37 2023 rev:486 rq:1100547 version:20230721.2396b32
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2023-07-24 18:26:29.302334077 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1467/openSUSE-release-tools.changes
2023-07-25 11:53:31.326302243 +0200
@@ -1,0 +2,23 @@
+Fri Jul 21 15:20:17 UTC 2023 - [email protected]
+
+- Update to version 20230721.2396b32:
+ * docs/staging: remove obsolete references
+ * Add backup server URL and update source map
+
+-------------------------------------------------------------------
+Fri Jul 21 15:18:49 UTC 2023 - [email protected]
+
+- Update to version 20230721.2d37d5b:
+ * gocd: enable Leap 15.6 checkers
+ * Revert temporary fixups, these are working now
+ * Add a simple smoke test launching all scripts with --help
+ * Require typing_extensions on SLE & Leap
+ * Fallback import Literal & TypedDict from typing_extension
+
+-------------------------------------------------------------------
+Fri Jul 21 15:17:21 UTC 2023 - [email protected]
+
+- Update to version 20230721.3301485:
+ * Add BCI repo publishing bot
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20230721.5bc933b.obscpio
New:
----
openSUSE-release-tools-20230721.2396b32.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.5dK4c3/_old 2023-07-25 11:53:32.174307209 +0200
+++ /var/tmp/diff_new_pack.5dK4c3/_new 2023-07-25 11:53:32.178307232 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20230721.5bc933b
+Version: 20230721.2396b32
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
@@ -58,6 +58,10 @@
Requires: python3-python-dateutil
Requires: python3-pyxdg
Requires: python3-requests
+# typing extensions are needed on SLE & Leap
+%if 0%{?suse_version} <= 1500
+Requires: python3-typing_extensions
+%endif
# bs_mirrorfull
Requires: perl-Net-SSLeay
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.5dK4c3/_old 2023-07-25 11:53:32.226307513 +0200
+++ /var/tmp/diff_new_pack.5dK4c3/_new 2023-07-25 11:53:32.230307536 +0200
@@ -1,7 +1,7 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param
name="changesrevision">5bc933b1b7426aba8cb75dbc25410aebfa07f974</param>
+ <param
name="changesrevision">2396b32c141ca25b057c43758454abdc43f9131b</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20230721.5bc933b.obscpio ->
openSUSE-release-tools-20230721.2396b32.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/.github/workflows/ci-test.yml
new/openSUSE-release-tools-20230721.2396b32/.github/workflows/ci-test.yml
--- old/openSUSE-release-tools-20230721.5bc933b/.github/workflows/ci-test.yml
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/.github/workflows/ci-test.yml
2023-07-21 17:19:45.000000000 +0200
@@ -42,6 +42,50 @@
if: always()
run: docker-compose -f dist/ci/docker-compose.yml down
+ smoke-test:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ image:
+ - registry.opensuse.org/opensuse/tumbleweed:latest
+ - registry.opensuse.org/opensuse/leap:15.5
+
+ container: ${{ matrix.image }}
+ steps:
+ - name: install git to checkout the repo
+ run: zypper -n in git
+
+ - uses: actions/checkout@v3
+
+ - name: fix the file permissions of the repository
+ run: chown -R $(id -un):$(id -gn) .
+
+ - name: add the openSUSE:Tools repository for Tumbleweed
+ if: ${{ contains(matrix.image, 'tumbleweed') }}
+ run: zypper -n ar
https://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_Tumbleweed/openSUSE:Tools.repo
+
+ - name: add the openSUSE:Tools repository for Leap
+ if: ${{ contains(matrix.image, '15.5') }}
+ run: zypper -n ar
https://download.opensuse.org/repositories/openSUSE:/Tools/15.5/openSUSE:Tools.repo
+
+ - name: install the build & runtime dependencies of openSUSE-release-tool
+ run: |
+ zypper -n --gpg-auto-import-keys refresh
+ zypper -n source-install openSUSE-release-tools
+ zypper -n install openSUSE-release-tools
+
+ - name: FIXME, install missing dependencies
+ run: |
+ zypper -n in python3-typing_extensions python3-solv python3-pika
python3-openqa_client build python3-influxdb python3-bugzilla
+
+ - name: run a simple smoke test whether --help actually works
+ run: |
+ for f in $(find . -maxdepth 1 -type f -executable -print); do
+ # skip completely broken scripts or those without --help
+ [[ " ./checknewer.py ./repo2fileprovides.py
./openqa-maintenance.py ./docker_publisher.py ./publish_distro ./bs_mirrorfull
./findfileconflicts ./write_repo_susetags_file.pl ./issue-diff.py " =~ "$f" ]]
|| "$f" --help
+ done
+
linters:
runs-on: ubuntu-latest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/check_source.py
new/openSUSE-release-tools-20230721.2396b32/check_source.py
--- old/openSUSE-release-tools-20230721.5bc933b/check_source.py 2023-07-21
13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/check_source.py 2023-07-21
17:19:45.000000000 +0200
@@ -1,6 +1,5 @@
#!/usr/bin/python3
-from contextlib import suppress
import difflib
import glob
import os
@@ -248,22 +247,17 @@
pathname=copath,
server_service_files=True, expand_link=True)
os.rename(source_package, target_package)
shutil.rmtree(os.path.join(target_package, '.osc'))
- # TODO(dmllr): Fix in the source checker
- with suppress(FileNotFoundError):
- os.remove(os.path.join(target_package, '.gitattributes'))
new_info = self.package_source_parse(source_project, source_package,
source_revision, target_package)
filename = new_info.get('filename', '')
expected_name = target_package
if filename == '_preinstallimage':
expected_name = 'preinstallimage'
- # TODO(dmllr): self.package_source_parse cannot handle scm_sync
submissions, so skip the check for now
- if not self.source_is_scm_staging_submission(source_project):
- if not (filename.endswith('.kiwi') or filename == 'Dockerfile')
and new_info['name'] != expected_name:
- shutil.rmtree(copath)
- self.review_messages['declined'] = "A package submitted as %s
has to build as 'Name: %s' - found Name '%s'" % (
- target_package, expected_name, new_info['name'])
- return False
+ if not (filename.endswith('.kiwi') or filename == 'Dockerfile') and
new_info['name'] != expected_name:
+ shutil.rmtree(copath)
+ self.review_messages['declined'] = "A package submitted as %s has
to build as 'Name: %s' - found Name '%s'" % (
+ target_package, expected_name, new_info['name'])
+ return False
if not self.check_service_file(target_package):
return False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/dist/package/openSUSE-release-tools.spec
new/openSUSE-release-tools-20230721.2396b32/dist/package/openSUSE-release-tools.spec
---
old/openSUSE-release-tools-20230721.5bc933b/dist/package/openSUSE-release-tools.spec
2023-07-21 13:05:41.000000000 +0200
+++
new/openSUSE-release-tools-20230721.2396b32/dist/package/openSUSE-release-tools.spec
2023-07-21 17:19:45.000000000 +0200
@@ -58,6 +58,10 @@
Requires: python3-python-dateutil
Requires: python3-pyxdg
Requires: python3-requests
+# typing extensions are needed on SLE & Leap
+%if 0%{?suse_version} <= 1500
+Requires: python3-typing_extensions
+%endif
# bs_mirrorfull
Requires: perl-Net-SSLeay
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/docs/staging.asciidoc
new/openSUSE-release-tools-20230721.2396b32/docs/staging.asciidoc
--- old/openSUSE-release-tools-20230721.5bc933b/docs/staging.asciidoc
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/docs/staging.asciidoc
2023-07-21 17:19:45.000000000 +0200
@@ -8,9 +8,8 @@
------------
[id="intro"]
-The staging plugin is used to enable the new
-https://progress.opensuse.org/workflow/factory-proposal.html[factory
-workflow] to work with staging projects. This plugin implements some
+The staging plugin is used to enable the new factory
+workflow to work with staging projects. This plugin implements some
functionality that some day will be directly implemented in OBS
itself. Meanwhile this plugin is used as a playground field to
explore these new concepts and operations.
@@ -229,10 +228,9 @@
*
https://build.opensuse.org/project/show/openSUSE:Factory:Rings:0-Bootstrap[openSUSE:Factory:Rings:0-Bootstrap]
*
https://build.opensuse.org/project/show/openSUSE:Factory:Rings:1-MinimalX[openSUSE:Factory:Rings:1-MinimalX]
-*
https://build.opensuse.org/project/show/openSUSE:Factory:Rings:2-TestDVD[openSUSE:Factory:Rings:2-TestDVD]
-And you can find a better description in the
-https://www.youtube.com/watch?v=K-wTVGqKFR8[talk conference]
+And you can find a better description in this
+https://www.youtube.com/watch?v=K-wTVGqKFR8[very old presentation] from a
conference
celebrated in 2014 in Dubrovnik, Croatia.
This command is used to check the current status of the rings and to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/bci.gocd.yaml
new/openSUSE-release-tools-20230721.2396b32/gocd/bci.gocd.yaml
--- old/openSUSE-release-tools-20230721.5bc933b/gocd/bci.gocd.yaml
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/gocd/bci.gocd.yaml
2023-07-21 17:19:45.000000000 +0200
@@ -127,6 +127,25 @@
osc -A https://api.suse.de/ api
"/build/$PRJ/_result?view=summary&repository=images" | grep "result project" |
grep 'code="published" state="published">' && echo PUBLISHED
done
+ SLE_BCI_15SP3.RepoPublisher:
+ group: BCI
+ lock_behavior: unlockWhenFinished
+ materials:
+ git:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-totest-manager
+ BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}'
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - staging-bot
+ tasks:
+ - script: |
+ export PYTHONPATH=scripts
+ ./scripts/gocd/bci_repo_publish.py -A https://api.suse.de
--verbose --debug run "--token=$BCI_TOKEN" 15-SP3
+
SLE_BCI_15SP4.RelPkgs:
group: BCI
lock_behavior: unlockWhenFinished
@@ -212,6 +231,25 @@
osc -A https://api.suse.de/ api
"/build/$PRJ/_result?view=summary&repository=images" | grep "result project" |
grep 'code="published" state="published">' && echo PUBLISHED
done
+ SLE_BCI_15SP4.RepoPublisher:
+ group: BCI
+ lock_behavior: unlockWhenFinished
+ materials:
+ git:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-totest-manager
+ BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}'
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - staging-bot
+ tasks:
+ - script: |
+ export PYTHONPATH=scripts
+ ./scripts/gocd/bci_repo_publish.py -A https://api.suse.de
--verbose --debug run "--token=$BCI_TOKEN" 15-SP4
+
SLE_BCI_15SP5.RelPkgs:
group: BCI
lock_behavior: unlockWhenFinished
@@ -297,3 +335,22 @@
osc -A https://api.suse.de/ api
"/build/$PRJ/_result?view=summary&repository=images" | grep "result project" |
grep 'code="published" state="published">' && echo PUBLISHED
done
+ SLE_BCI_15SP5.RepoPublisher:
+ group: BCI
+ lock_behavior: unlockWhenFinished
+ materials:
+ git:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-totest-manager
+ BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}'
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - staging-bot
+ tasks:
+ - script: |
+ export PYTHONPATH=scripts
+ ./scripts/gocd/bci_repo_publish.py -A https://api.suse.de
--verbose --debug run "--token=$BCI_TOKEN" 15-SP5
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/bci.gocd.yaml.erb
new/openSUSE-release-tools-20230721.2396b32/gocd/bci.gocd.yaml.erb
--- old/openSUSE-release-tools-20230721.5bc933b/gocd/bci.gocd.yaml.erb
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/gocd/bci.gocd.yaml.erb
2023-07-21 17:19:45.000000000 +0200
@@ -126,4 +126,23 @@
done
osc -A https://api.suse.de/ api
"/build/$PRJ/_result?view=summary&repository=images" | grep "result project" |
grep 'code="published" state="published">' && echo PUBLISHED
done
+
+ SLE_BCI_15<%= sp %>.RepoPublisher:
+ group: BCI
+ lock_behavior: unlockWhenFinished
+ materials:
+ git:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-totest-manager
+ BCI_TOKEN: '{{SECRET:[opensuse.secrets][BCI_TOKEN]}}'
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - staging-bot
+ tasks:
+ - script: |
+ export PYTHONPATH=scripts
+ ./scripts/gocd/bci_repo_publish.py -A https://api.suse.de
--verbose --debug run "--token=$BCI_TOKEN" 15-<%= sp %>
<% end %>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/bci_repo_publish.py
new/openSUSE-release-tools-20230721.2396b32/gocd/bci_repo_publish.py
--- old/openSUSE-release-tools-20230721.5bc933b/gocd/bci_repo_publish.py
1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-release-tools-20230721.2396b32/gocd/bci_repo_publish.py
2023-07-21 17:19:45.000000000 +0200
@@ -0,0 +1,199 @@
+#!/usr/bin/python3
+# (c) 2023 [email protected]
+# GPL-2.0-or-later
+
+# This is a "mini ttm" for the BCI repo. Differences:
+# * No :ToTest staging area
+# * Only the repo is built, so it needs BCI specific openQA queries
+# * The publishing location is arch specific
+# * Uses a token for releasing to the publishing project
+
+
+import cmdln
+import logging
+import ToolBase
+import requests
+import sys
+import time
+import re
+from lxml import etree as ET
+from openqa_client.client import OpenQA_Client
+from osc.core import http_GET, makeurl
+
+
+class BCIRepoPublisher(ToolBase.ToolBase):
+ def __init__(self):
+ ToolBase.ToolBase.__init__(self)
+ self.logger = logging.getLogger(__name__)
+ self.openqa = OpenQA_Client(server='https://openqa.suse.de')
+
+ def version_of_product(self, project, package, repo, arch):
+ """Get the build version of the given product build, based on the
binary name."""
+ url = makeurl(self.apiurl, ['build', project, repo, arch, package])
+ root = ET.parse(http_GET(url)).getroot()
+ for binary in root.findall('binary'):
+ result = re.match(r'.*-Build(.*)-Media1.report',
binary.get('filename'))
+ if result:
+ return result.group(1)
+
+ raise RuntimeError(f"Failed to get version of {project}/{package}")
+
+ def mtime_of_product(self, project, package, repo, arch):
+ """Get the build time stamp of the given product, based on
_buildenv."""
+ url = makeurl(self.apiurl, ['build', project, repo, arch, package])
+ root = ET.parse(http_GET(url)).getroot()
+ mtime = root.xpath('/binarylist/binary[@filename =
"_buildenv"]/@mtime')
+ return mtime[0]
+
+ def openqa_jobs_for_product(self, arch, version, build):
+ """Query openQA for all relevant jobs"""
+ values = {
+ 'group': 'BCI repo',
+ 'flavor': 'BCI-Repo-Updates',
+ 'arch': arch,
+ 'version': version,
+ 'build': build,
+ 'scope': 'current',
+ 'latest': '1',
+ }
+ return self.openqa.openqa_request('GET', 'jobs', values)['jobs']
+
+ def is_repo_published(self, project, repo):
+ """Validates that the given prj/repo is fully published and all builds
+ have succeeded."""
+ url = makeurl(self.apiurl, ['build', project, '_result'],
+ {'view': 'summary', 'repository': repo})
+ root = ET.parse(http_GET(url)).getroot()
+ for result in root.findall('result'):
+ if result.get('dirty', 'false') != 'false':
+ return False
+ if result.get('code') != 'published' or result.get('state') !=
'published':
+ return False
+
+ for statuscount in root.findall('statuscount'):
+ if statuscount.get('code') not in ('succeeded', 'disabled',
'excluded'):
+ return False
+
+ return True
+
+ def run(self, version, token=None):
+ build_prj = f'SUSE:SLE-{version}:Update:BCI'
+
+ if not self.is_repo_published(build_prj, 'images'):
+ self.logger.info(f'{build_prj}/images not successfully built')
+ return
+
+ # Build the list of packages with metainfo
+ packages = []
+ # As long as it's the same everywhere, hardcoding this list here
+ # is easier and safer than trying to derive it from the package list.
+ for arch in ('aarch64', 'ppc64le', 's390x', 'x86_64'):
+ packages.append({
+ 'arch': arch,
+ 'name': f'000product:SLE_BCI-ftp-POOL-{arch}',
+ 'build_prj': build_prj,
+ 'publish_prj': f'SUSE:Products:SLE-BCI:{version}:{arch}'
+ })
+
+ # Fetch the build numbers of built products.
+ # After release, the BuildXXX part vanishes, so the mtime has to be
+ # used instead for comparing built and published binaries.
+ for pkg in packages:
+ pkg['built_version'] = self.version_of_product(pkg['build_prj'],
pkg['name'],
+ 'images', 'local')
+ pkg['built_mtime'] = self.mtime_of_product(pkg['build_prj'],
pkg['name'],
+ 'images', 'local')
+ pkg['published_mtime'] = self.mtime_of_product(pkg['publish_prj'],
pkg['name'],
+ 'images', 'local')
+
+ # Verify that the builds for all archs are in sync
+ built_versions = {pkg['built_version'] for pkg in packages}
+ if len(built_versions) != 1:
+ # This should not be the case if everything is built and idle
+ self.logger.warning(f'Different builds found - not releasing:
{packages}')
+ return
+
+ # Compare versions
+ newer_version_available = [int(pkg['built_mtime']) >
int(pkg['published_mtime'])
+ for pkg in packages]
+ if not any(newer_version_available):
+ self.logger.info('Current build already published, nothing to do.')
+ return
+
+ # Check openQA results
+ openqa_passed = True
+ for pkg in packages:
+ passed = 0
+ pending = 0
+ failed = 0
+ for job in self.openqa_jobs_for_product(arch=pkg['arch'],
version=version,
+
build=pkg['built_version']):
+ if job['result'] in ('passed', 'softfailed'):
+ passed += 1
+ elif job['result'] == 'none':
+
self.logger.info(f'https://openqa.suse.de/tests/{job["id"]} pending')
+ pending += 1
+ else:
+
self.logger.warning(f'https://openqa.suse.de/tests/{job["id"]} failed')
+ failed += 1
+
+ if passed == 0 or pending > 0 or failed > 0:
+ openqa_passed = False
+
+ if not openqa_passed:
+ self.logger.info('No positive result from openQA (yet)')
+ return
+
+ # Trigger publishing
+ if token is None:
+ self.logger.warning('Would publish now, but no token specified')
+ return
+
+ for pkg in packages:
+ self.logger.info(f'Releasing {pkg["name"]}...')
+ params = {
+ 'project': pkg['build_prj'], 'package': pkg['name'],
+ 'filter_source_repository': 'images',
+ 'targetproject': pkg['publish_prj'], 'targetrepository':
'images'
+ }
+ url = makeurl(self.apiurl, ['trigger', 'release'], params)
+ # No bindings for using tokens yet, so do the request manually
+ req = requests.post(url, headers={'Authorization': f'Token
{token}'})
+ if req.status_code != 200:
+ raise RuntimeError(f'Releasing failed: {req.text}')
+
+ self.logger.info('Waiting for publishing to finish')
+ for pkg in packages:
+ while not self.is_repo_published(pkg['publish_prj'], 'images'):
+ self.logger.debug(f'Waiting for {pkg["publish_prj"]}')
+ time.sleep(20)
+
+
+class CommandLineInterface(ToolBase.CommandLineInterface):
+ def __init__(self, *args, **kwargs):
+ ToolBase.CommandLineInterface.__init__(self, args, kwargs)
+
+ def setup_tool(self):
+ tool = BCIRepoPublisher()
+ if self.options.debug:
+ logging.basicConfig(level=logging.DEBUG)
+ elif self.options.verbose:
+ logging.basicConfig(level=logging.INFO)
+
+ return tool
+
+ @cmdln.option('--token', help='The token for publishing. Does a dry run if
not given.')
+ def do_run(self, subcmd, opts, project):
+ """${cmd_name}: run the BCI repo publisher for the specified project,
+ e.g. 15-SP3
+
+ ${cmd_usage}
+ ${cmd_option_list}
+ """
+
+ self.tool.run(project, token=opts.token)
+
+
+if __name__ == "__main__":
+ cli = CommandLineInterface()
+ sys.exit(cli.main())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/pkglistgen.opensuse.gocd.yaml
new/openSUSE-release-tools-20230721.2396b32/gocd/pkglistgen.opensuse.gocd.yaml
---
old/openSUSE-release-tools-20230721.5bc933b/gocd/pkglistgen.opensuse.gocd.yaml
2023-07-21 13:05:41.000000000 +0200
+++
new/openSUSE-release-tools-20230721.2396b32/gocd/pkglistgen.opensuse.gocd.yaml
2023-07-21 17:19:45.000000000 +0200
@@ -129,7 +129,7 @@
- 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:
+ Pkglistgen.openSUSE_Leap_15.6:
group: Leap
lock_behavior: unlockWhenFinished
environment_variables:
@@ -145,12 +145,12 @@
approval:
type: manual
jobs:
- openSUSE_Leap_15.5_target:
+ openSUSE_Leap_15.6_target:
resources:
- repo-checker
tasks:
- - script: python3 ./skippkg-finder.py -A https://api.opensuse.org
-o openSUSE:Leap:15.5 -s SUSE:SLE-15-SP5:GA
- - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org
update_and_solve -p openSUSE:Leap:15.5 -s target
+ - script: python3 ./skippkg-finder.py -A https://api.opensuse.org
-o openSUSE:Leap:15.6 -s SUSE:SLE-15-SP6:GA
+ - script: python3 ./pkglistgen.py -d -A https://api.opensuse.org
update_and_solve -p openSUSE:Leap:15.6 -s target
Pkglistgen.openSUSE_Leap_15.4_CR:
group: Leap
lock_behavior: unlockWhenFinished
@@ -173,7 +173,7 @@
tasks:
- script: python3 ./skippkg-finder.py -A https://api.opensuse.org
-o openSUSE:Leap:15.4:Images -t openSUSE:Leap:15.4:Update -s
SUSE:SLE-15-SP4:Update
- script: python3 ./pkglistgen.py -d -A https://api.opensuse.org
update_and_solve -p openSUSE:Leap:15.4:Images -s target
- Update.Repos.Leap.openSUSE_Leap_15.5:
+ Update.Repos.Leap.openSUSE_Leap_15.6:
group: Leap
lock_behavior: unlockWhenFinished
environment_variables:
@@ -189,11 +189,11 @@
approval:
type: manual
jobs:
- openSUSE_Leap_15.5:
+ openSUSE_Leap_15.6:
resources:
- repo-checker
tasks:
- - script: python3 ./pkglistgen.py --apiurl
https://api.opensuse.org handle_update_repos openSUSE:Leap:15.5
+ - script: python3 ./pkglistgen.py --apiurl
https://api.opensuse.org handle_update_repos openSUSE:Leap:15.6
Update.Repos.Leap.openSUSE_Leap_15.4_Images:
group: Leap
lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/pkglistgen.opensuse.gocd.yaml.erb
new/openSUSE-release-tools-20230721.2396b32/gocd/pkglistgen.opensuse.gocd.yaml.erb
---
old/openSUSE-release-tools-20230721.5bc933b/gocd/pkglistgen.opensuse.gocd.yaml.erb
2023-07-21 13:05:41.000000000 +0200
+++
new/openSUSE-release-tools-20230721.2396b32/gocd/pkglistgen.opensuse.gocd.yaml.erb
2023-07-21 17:19:45.000000000 +0200
@@ -87,7 +87,7 @@
tasks:
- script: python3 ./pkglistgen.py -d -A https://api.opensuse.org
update_and_solve -p <%= project[0] %><%= options %>
<% end -%>
- Pkglistgen.openSUSE_Leap_15.5:
+ Pkglistgen.openSUSE_Leap_15.6:
group: Leap
lock_behavior: unlockWhenFinished
environment_variables:
@@ -103,7 +103,7 @@
approval:
type: manual
jobs:
-<% ['openSUSE:Leap:15.5/target'].each do |project|
+<% ['openSUSE:Leap:15.6/target'].each do |project|
project=project.split('/')
name=project[0].gsub(':', '_')
if project.size > 1
@@ -115,7 +115,7 @@
resources:
- repo-checker
tasks:
- - script: python3 ./skippkg-finder.py -A https://api.opensuse.org
-o openSUSE:Leap:15.5 -s SUSE:SLE-15-SP5:GA
+ - script: python3 ./skippkg-finder.py -A https://api.opensuse.org
-o openSUSE:Leap:15.6 -s SUSE:SLE-15-SP6:GA
- script: python3 ./pkglistgen.py -d -A https://api.opensuse.org
update_and_solve -p <%= project[0] %><%= options %>
<% end -%>
Pkglistgen.openSUSE_Leap_15.4_CR:
@@ -149,7 +149,7 @@
- script: python3 ./skippkg-finder.py -A https://api.opensuse.org
-o openSUSE:Leap:15.4:Images -t openSUSE:Leap:15.4:Update -s
SUSE:SLE-15-SP4:Update
- script: python3 ./pkglistgen.py -d -A https://api.opensuse.org
update_and_solve -p <%= project[0] %><%= options %>
<% end -%>
-<% %w(openSUSE:Leap:15.5 openSUSE:Leap:15.4:Images).each do |project| -%>
+<% %w(openSUSE:Leap:15.6 openSUSE:Leap:15.4:Images).each do |project| -%>
Update.Repos.Leap.<%= project.gsub(':', '_') %>:
group: Leap
lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/rebuild-trigger.gocd.yaml
new/openSUSE-release-tools-20230721.2396b32/gocd/rebuild-trigger.gocd.yaml
--- old/openSUSE-release-tools-20230721.5bc933b/gocd/rebuild-trigger.gocd.yaml
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/gocd/rebuild-trigger.gocd.yaml
2023-07-21 17:19:45.000000000 +0200
@@ -143,7 +143,7 @@
./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r openSUSE_PPC GNOME:Factory
./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r openSUSE_Factory GNOME:Next
./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r openSUSE_PPC GNOME:Next
- Trigger.Rebuild.SLE_15_SP5_Backports:
+ Trigger.Rebuild.SLE_15_SP6_Backports:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -161,10 +161,10 @@
- repo-checker
tasks:
- script: |-
- echo "SLE15 SP5 Backports"
- ./project-installcheck.py --debug check --store
openSUSE:Backports:SLE-15-SP5:Staging/dashboard --no-rebuild
openSUSE:Backports:SLE-15-SP5
- echo "SLE15 SP5 Step Backports (Rebuilds)"
- ./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r step openSUSE:Backports:SLE-15-SP5
+ echo "SLE15 SP6 Backports"
+ ./project-installcheck.py --debug check --store
openSUSE:Backports:SLE-15-SP6:Staging/dashboard --no-rebuild
openSUSE:Backports:SLE-15-SP6
+ echo "SLE15 SP6 Step Backports (Rebuilds)"
+ ./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r step openSUSE:Backports:SLE-15-SP6
Trigger.Rebuild.Step:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
@@ -193,7 +193,7 @@
./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r standard openSUSE:Step:15-SP1
echo "Step 15"
./project-installcheck.py --debug check --store
home:repo-checker/rebuilds -r standard openSUSE:Step:15
- Trigger.Rebuild.Leap_15_5:
+ Trigger.Rebuild.Leap_15_6:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -211,5 +211,5 @@
- repo-checker
tasks:
- script: |-
- echo "Leap 15.5"
- ./project-installcheck.py --debug check --store
openSUSE:Leap:15.5:Staging/dashboard --no-rebuild openSUSE:Leap:15.5
+ echo "Leap 15.6"
+ ./project-installcheck.py --debug check --store
openSUSE:Leap:15.6:Staging/dashboard --no-rebuild openSUSE:Leap:15.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/staging.bot.gocd.yaml
new/openSUSE-release-tools-20230721.2396b32/gocd/staging.bot.gocd.yaml
--- old/openSUSE-release-tools-20230721.5bc933b/gocd/staging.bot.gocd.yaml
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/gocd/staging.bot.gocd.yaml
2023-07-21 17:19:45.000000000 +0200
@@ -114,7 +114,7 @@
osc -A https://api.opensuse.org staging -p
openSUSE:Factory:NonFree unselect --cleanup
osc -A https://api.opensuse.org staging -p
openSUSE:Factory:NonFree repair --cleanup
rm -rf $tempdir
- AdiChecker.Backports.SLE-15-SP5:
+ AdiChecker.Backports.SLE-15-SP6:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -127,7 +127,7 @@
git: git://botmaster.suse.de/opensuse-repos.git
auto_update: true
whitelist:
- - openSUSE:Backports:SLE-15-SP5:Staging:adi*.yaml
+ - openSUSE:Backports:SLE-15-SP6:Staging:adi*.yaml
destination: repos
stages:
- Run:
@@ -137,8 +137,8 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A https://api.opensuse.org
-p openSUSE:Backports:SLE-15-SP5
- SBot.Regular.Backports.SLE-15-SP5:
+ ./scripts/staging-installcheck.py -A https://api.opensuse.org
-p openSUSE:Backports:SLE-15-SP6
+ SBot.Regular.Backports.SLE-15-SP6:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -165,13 +165,13 @@
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
- osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP5 rebuild
- osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP5 list --supersede
- osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP5 adi
- osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP5 unselect --cleanup
- osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP5 repair --cleanup
+ osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP6 rebuild
+ osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP6 list --supersede
+ osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP6 adi
+ osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP6 unselect --cleanup
+ osc -A https://api.opensuse.org staging -p
openSUSE:Backports:SLE-15-SP6 repair --cleanup
rm -rf $tempdir
- AdiChecker.Leap.15.5:
+ AdiChecker.Leap.15.6:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -184,7 +184,7 @@
git: git://botmaster.suse.de/opensuse-repos.git
auto_update: true
whitelist:
- - openSUSE:Leap:15.5:Staging:adi*.yaml
+ - openSUSE:Leap:15.6:Staging:adi*.yaml
destination: repos
stages:
- Run:
@@ -194,8 +194,8 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A https://api.opensuse.org
-p openSUSE:Leap:15.5
- SBot.Regular.Leap.15.5:
+ ./scripts/staging-installcheck.py -A https://api.opensuse.org
-p openSUSE:Leap:15.6
+ SBot.Regular.Leap.15.6:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -222,9 +222,9 @@
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
- osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5
rebuild
- osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5
list --supersede
- osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5
adi
- osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5
unselect --cleanup
- osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.5
repair --cleanup
+ osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.6
rebuild
+ osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.6
list --supersede
+ osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.6
adi
+ osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.6
unselect --cleanup
+ osc -A https://api.opensuse.org staging -p openSUSE:Leap:15.6
repair --cleanup
rm -rf $tempdir
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/staging.bot.gocd.yaml.erb
new/openSUSE-release-tools-20230721.2396b32/gocd/staging.bot.gocd.yaml.erb
--- old/openSUSE-release-tools-20230721.5bc933b/gocd/staging.bot.gocd.yaml.erb
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/gocd/staging.bot.gocd.yaml.erb
2023-07-21 17:19:45.000000000 +0200
@@ -1,6 +1,6 @@
format_version: 3
pipelines:
-<% %w(Factory Factory:NonFree Backports:SLE-15-SP5 Leap:15.5).each do
|project| -%>
+<% %w(Factory Factory:NonFree Backports:SLE-15-SP6 Leap:15.6).each do
|project| -%>
<% nickname = project.gsub(':', '.') -%>
AdiChecker.<%= nickname %>:
group: openSUSE.Checkers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/totestmanager.gocd.yaml
new/openSUSE-release-tools-20230721.2396b32/gocd/totestmanager.gocd.yaml
--- old/openSUSE-release-tools-20230721.5bc933b/gocd/totestmanager.gocd.yaml
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/gocd/totestmanager.gocd.yaml
2023-07-21 17:19:45.000000000 +0200
@@ -168,7 +168,7 @@
- script: |-
install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.4:ARM:Images
- TTM.Leap_15.5:
+ TTM.Leap_15.5_Images:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -188,8 +188,8 @@
tasks:
- script: |-
install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
- scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.5
- TTM.Leap_15.5_Images:
+ scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.5:Images
+ TTM.Leap_15.5_ARM:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -209,8 +209,8 @@
tasks:
- script: |-
install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
- scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.5:Images
- TTM.Leap_15.5_ARM:
+ scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.5:ARM
+ TTM.Leap_15.5_ARM_Images:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -230,8 +230,8 @@
tasks:
- script: |-
install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
- scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.5:ARM
- TTM.Leap_15.5_ARM_Images:
+ scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.5:ARM:Images
+ TTM.Leap_15.6:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
environment_variables:
@@ -251,7 +251,70 @@
tasks:
- script: |-
install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
- scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.5:ARM:Images
+ scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.6
+ TTM.Leap_15.6_Images:
+ group: openSUSE.Checkers
+ lock_behavior: unlockWhenFinished
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-totest-manager
+ materials:
+ script:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ destination: scripts
+ timer:
+ spec: 0 */15 * ? * *
+ only_on_changes: false
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - staging-bot
+ tasks:
+ - script: |-
+ install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
+ scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.6:Images
+ TTM.Leap_15.6_ARM:
+ group: openSUSE.Checkers
+ lock_behavior: unlockWhenFinished
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-totest-manager
+ materials:
+ script:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ destination: scripts
+ timer:
+ spec: 0 */15 * ? * *
+ only_on_changes: false
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - staging-bot
+ tasks:
+ - script: |-
+ install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
+ scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.6:ARM
+ TTM.Leap_15.6_ARM_Images:
+ group: openSUSE.Checkers
+ lock_behavior: unlockWhenFinished
+ environment_variables:
+ OSC_CONFIG: /home/go/config/oscrc-totest-manager
+ materials:
+ script:
+ git: https://github.com/openSUSE/openSUSE-release-tools.git
+ destination: scripts
+ timer:
+ spec: 0 */15 * ? * *
+ only_on_changes: false
+ stages:
+ - Run:
+ approval: manual
+ resources:
+ - staging-bot
+ tasks:
+ - script: |-
+ install -D /home/go/config/openqa-client.conf
/home/go/.config/openqa/client.conf
+ scripts/totest-manager.py -A https://api.opensuse.org --debug run
openSUSE:Leap:15.6:ARM:Images
TTM.Leap_Micro_5.4:
group: openSUSE.Checkers
lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/gocd/totestmanager.gocd.yaml.erb
new/openSUSE-release-tools-20230721.2396b32/gocd/totestmanager.gocd.yaml.erb
---
old/openSUSE-release-tools-20230721.5bc933b/gocd/totestmanager.gocd.yaml.erb
2023-07-21 13:05:41.000000000 +0200
+++
new/openSUSE-release-tools-20230721.2396b32/gocd/totestmanager.gocd.yaml.erb
2023-07-21 17:19:45.000000000 +0200
@@ -9,10 +9,13 @@
openSUSE:Leap:15.4:Images
openSUSE:Leap:15.4:ARM
openSUSE:Leap:15.4:ARM:Images
- openSUSE:Leap:15.5
openSUSE:Leap:15.5:Images
openSUSE:Leap:15.5:ARM
openSUSE:Leap:15.5:ARM:Images
+ openSUSE:Leap:15.6
+ openSUSE:Leap:15.6:Images
+ openSUSE:Leap:15.6:ARM
+ openSUSE:Leap:15.6:ARM:Images
openSUSE:Leap:Micro:5.4
openSUSE:Leap:Micro:5.4:Images
) -%>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/metrics/access/aggregate.php
new/openSUSE-release-tools-20230721.2396b32/metrics/access/aggregate.php
--- old/openSUSE-release-tools-20230721.5bc933b/metrics/access/aggregate.php
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/metrics/access/aggregate.php
2023-07-21 17:19:45.000000000 +0200
@@ -7,6 +7,7 @@
$CACHE_DIR = $_SERVER['HOME'] .
'/.cache/openSUSE-release-tools/metrics-access';
const PROTOCOLS = ['ipv4', 'ipv6'];
const PONTIFEX = 'http://pontifex.infra.opensuse.org/logs';
+const BACKUP = 'http://backup.infra.opensuse.org';
const LANGLEY = 'http://langley.suse.de/pub/pontifex%s-opensuse.suse.de';
const VHOST = 'download.opensuse.org';
const FILENAME = 'download.opensuse.org-%s-access_log.xz';
@@ -18,18 +19,17 @@
$begin->sub(date_interval_create_from_date_string('1 day'));
$source_map = [
'ipv4' => [
- '2010-01-03' => false,
- '2014-04-14' => sprintf(LANGLEY, 2) . '/' . VHOST,
- '2017-12-04' => sprintf(LANGLEY, 3) . '/' . VHOST,
- // 2017-12-05 has bad permissions on langley and is still on origin.
- '2021-09-05' => false,
+ '2023-01-01' => false,
+ //'2014-04-14' => sprintf(LANGLEY, 2) . '/' . VHOST,
+ //'2017-12-04' => sprintf(LANGLEY, 3) . '/' . VHOST,
+ '2023-06-18' => BACKUP . '/' . VHOST,
$begin->format('Y-m-d') => PONTIFEX . '/' . VHOST,
'filename' => FILENAME,
],
'ipv6' => [
'2012-12-31' => false,
- '2017-12-04' => sprintf(LANGLEY, 3) . '/' . IPV6_PREFIX . VHOST,
- '2021-09-05' => false,
+ //'2017-12-04' => sprintf(LANGLEY, 3) . '/' . IPV6_PREFIX . VHOST,
+ '2023-06-18' => BACKUP . '/' . IPV6_PREFIX . VHOST,
$begin->format('Y-m-d') => PONTIFEX . '/' . IPV6_PREFIX . VHOST,
'filename' => IPV6_PREFIX . FILENAME,
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/origin-manager.py
new/openSUSE-release-tools-20230721.2396b32/origin-manager.py
--- old/openSUSE-release-tools-20230721.5bc933b/origin-manager.py
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/origin-manager.py
2023-07-21 17:19:45.000000000 +0200
@@ -1,6 +1,11 @@
#!/usr/bin/python3
-from typing import Literal, Optional, Tuple, Union
+from typing import Optional, Tuple, Union
+try:
+ from typing import Literal
+except ImportError:
+ from typing_extensions import Literal
+
from osclib.core import devel_project_get
from osclib.core import package_source_hash
from osclib.core import package_kind
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/osclib/comments.py
new/openSUSE-release-tools-20230721.2396b32/osclib/comments.py
--- old/openSUSE-release-tools-20230721.5bc933b/osclib/comments.py
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/osclib/comments.py
2023-07-21 17:19:45.000000000 +0200
@@ -1,5 +1,10 @@
from datetime import datetime
-from typing import TYPE_CHECKING, Any, Dict, Generator, List, Literal,
Optional, Tuple, TypedDict, Union
+from typing import TYPE_CHECKING, Any, Dict, Generator, List, Optional, Tuple,
Union
+try:
+ from typing import Literal, TypedDict
+except ImportError:
+ from typing_extensions import Literal, TypedDict
+
from dateutil.parser import parse as date_parse
import re
if TYPE_CHECKING:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/osclib/core.py
new/openSUSE-release-tools-20230721.2396b32/osclib/core.py
--- old/openSUSE-release-tools-20230721.5bc933b/osclib/core.py 2023-07-21
13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/osclib/core.py 2023-07-21
17:19:45.000000000 +0200
@@ -4,7 +4,12 @@
import re
import socket
import logging
-from typing import List, Literal, Optional, Tuple, Union
+from typing import List, Optional, Tuple, Union
+try:
+ from typing import Literal
+except ImportError:
+ from typing_extensions import Literal
+
from lxml import etree as ET
from urllib.error import HTTPError
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20230721.5bc933b/osclib/origin.py
new/openSUSE-release-tools-20230721.2396b32/osclib/origin.py
--- old/openSUSE-release-tools-20230721.5bc933b/osclib/origin.py
2023-07-21 13:05:41.000000000 +0200
+++ new/openSUSE-release-tools-20230721.2396b32/osclib/origin.py
2023-07-21 17:19:45.000000000 +0200
@@ -1,6 +1,10 @@
from copy import deepcopy
import logging
-from typing import Any, Dict, Generator, List, Literal, NamedTuple, Optional,
Tuple, TypedDict, Union
+from typing import Any, Dict, Generator, List, NamedTuple, Optional, Tuple,
Union
+try:
+ from typing import Literal, TypedDict
+except ImportError:
+ from typing_extensions import Literal, TypedDict
from osc.core import ReviewState
from osclib.conf import Config
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.5dK4c3/_old 2023-07-25 11:53:33.130312806 +0200
+++ /var/tmp/diff_new_pack.5dK4c3/_new 2023-07-25 11:53:33.130312806 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20230721.5bc933b
-mtime: 1689937541
-commit: 5bc933b1b7426aba8cb75dbc25410aebfa07f974
+version: 20230721.2396b32
+mtime: 1689952785
+commit: 2396b32c141ca25b057c43758454abdc43f9131b