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 2026-05-23 23:25:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.2084 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Sat May 23 23:25:19 2026 rev:553 rq:1354725 version:20260515.6fd49568
Changes:
--------
---
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
2026-05-12 19:32:39.573981847 +0200
+++
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.2084/openSUSE-release-tools.changes
2026-05-23 23:27:23.236736409 +0200
@@ -1,0 +2,15 @@
+Fri May 15 12:33:05 UTC 2026 - [email protected]
+
+- Update to version 20260515.6fd49568:
+ * check_bugowner: Really fix missing directories.
+
+-------------------------------------------------------------------
+Thu May 14 07:40:09 UTC 2026 - [email protected]
+
+- Update to version 20260514.327b57bc:
+ * scm: git: Improve git repository corruption detection.
+ * check_bugowner: Abstract review message formatting.
+ * check_bugowner: Switch to check_source_submission_v2.
+ * check_bugowner: Fix rendering of inactive users.
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20260505.9d4790bf.obscpio
New:
----
openSUSE-release-tools-20260515.6fd49568.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.H0jFxv/_old 2026-05-23 23:27:24.232777071 +0200
+++ /var/tmp/diff_new_pack.H0jFxv/_new 2026-05-23 23:27:24.236777234 +0200
@@ -21,7 +21,7 @@
%define announcer_filename factory-package-news
%define services osrt-slsa.target [email protected]
[email protected] [email protected] [email protected]
[email protected] [email protected]
Name: openSUSE-release-tools
-Version: 20260505.9d4790bf
+Version: 20260515.6fd49568
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.H0jFxv/_old 2026-05-23 23:27:24.288779357 +0200
+++ /var/tmp/diff_new_pack.H0jFxv/_new 2026-05-23 23:27:24.292779520 +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">9d4790bf4fe52c0eed85b4453136c25a85c88a27</param>
+ <param
name="changesrevision">6fd49568590cfbab90ecabffbf35cd8a624e7e43</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20260505.9d4790bf.obscpio ->
openSUSE-release-tools-20260515.6fd49568.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/openSUSE-release-tools-20260505.9d4790bf/check_bugowner.py
new/openSUSE-release-tools-20260515.6fd49568/check_bugowner.py
--- old/openSUSE-release-tools-20260505.9d4790bf/check_bugowner.py
2026-05-05 15:14:37.000000000 +0200
+++ new/openSUSE-release-tools-20260515.6fd49568/check_bugowner.py
2026-05-15 14:30:08.000000000 +0200
@@ -140,7 +140,7 @@
local_dir = Path(self._gitea_cache_dir(), owner, repo)
self.logger.debug(f"Cache directory: {local_dir}")
- if not self.scm.is_repo(local_dir):
+ if not self.scm.is_repo(local_dir) and local_dir.exists():
self.logger.warning(f"Git cache directory appears corrupted,
removing {local_dir}...")
shutil.rmtree(local_dir)
@@ -417,8 +417,7 @@
not_found_users.append(e)
if not_found_users:
- users = ', '.join(not_found_users)
- self.logger.warning(f"The following users were not found on LDAP:
{users}.")
+ self.logger.warning(f"The following users were not found on LDAP:
{', '.join(not_found_users)}.")
# Get inactive users
inactive_users = [
@@ -442,7 +441,7 @@
if self.maintainership_format_version ==
MaintainershipFormat.one_dot_o:
users = self.maintained[package].get("users", False)
if not users:
- self.logger.info(f"No users found for {package}")
+ self.logger.info(f"No users found for {package} in
{MAINTAINERSHIP_FILE}")
else:
users = self.maintained[package]
@@ -459,30 +458,48 @@
groups = ', '.join('[`' + g +
'`](https://build.suse.de/groups/' + g + ')' for g in groups)
groups_message = [f"OBS groups: {groups}."]
else:
- self.logger.debug(f"No groups found for {package}")
+ self.logger.debug(f"No groups found for {package} in
{MAINTAINERSHIP_FILE}")
return users_message + groups_message
else:
return ["`whitelisted`"]
raise ValueError("Control should never reach here")
- def _gitea_check_source_submission(
+ def _format_gitea_review_warnings(self, warnings):
+ return "\n".join("**Warning**: " + w for w in warnings) + "\n\n"
+
+ def _format_gitea_accepted_message(self, warnings, validated_packages,
packages_maintainers):
+ if validated_packages:
+ packages_maintainers_messages = [
+ "\n".join(
+ f" + {m}" for m in maintainers
+ )
+ for maintainers in packages_maintainers]
+ validate_packages_message = "\n".join(
+ f" - `{p}`:\n{m}" for p, m in zip(validated_packages,
packages_maintainers_messages) if m
+ )
+ packages_message = f"The following packages were checked and are
covered either in `{MAINTAINERSHIP_FILE}`" + \
+ f" or `{WHITELIST_FILE}`:\n\n" + validate_packages_message
+ else:
+ packages_message = ""
+ return self._format_gitea_review_warnings(warnings) + "The change does
not introduce orphan packages. " + packages_message
+
+ def _gitea_check_source_submission_v2(
self,
head_project: str,
head_package: str,
head_revision: str,
base_project: str,
base_package: str,
+ base_revision: str,
) -> bool:
# If the caches are more than a day old, clear them
self._cache_clear(self.ldap_cache)
self._cache_clear(self.email_cache)
- # Get the target branch or commit
+ # Get the target branch if set
if self.request.actions[0].tgt_branch:
base_revision = self.request.actions[0].tgt_branch
- else:
- base_revision = self.request.actions[0].tgt_rev
# Create the repo in case it doesn't exist
# or checkout the base revision in case it does
@@ -520,30 +537,11 @@
is_valid = len(orphans) == 0
- review_warnings = "\n".join("**Warning**: " + w for w in warnings) +
"\n\n"
-
if is_valid:
- if validated_packages:
- packages_maintainers = [self._gitea_package_maintainers(p) for
p in validated_packages]
-
- packages_maintainers_messages = []
- for maintainers in packages_maintainers:
- packages_maintainers_messages.append("\n".join(
- f" + {m}" for m in maintainers
- ))
-
- validate_packages_message = "\n".join(
- f" - `{p}`:\n{m}" for p, m in zip(validated_packages,
packages_maintainers_messages) if m
- )
- packages_message = f"The following packages were checked and
are covered either in `{MAINTAINERSHIP_FILE}`" + \
- f" or `{WHITELIST_FILE}`:\n\n" + validate_packages_message
- else:
- packages_message = ""
-
- self.review_messages["accepted"] = review_warnings + \
- "The change does not introduce orphan packages. " +
packages_message
+ packages_maintainers = [self._gitea_package_maintainers(p) for p
in validated_packages]
+ self.review_messages["accepted"] =
self._format_gitea_accepted_message(warnings, validated_packages,
packages_maintainers)
else:
- self.review_messages["declined"] = review_warnings + \
+ self.review_messages["declined"] =
self._format_gitea_review_warnings(warnings) + \
f"Missing maintainership information for {',
'.join(orphans)}." + \
f" Please edit {MAINTAINERSHIP_FILE} and resubmit."
@@ -555,9 +553,11 @@
return is_valid
- def check_source_submission(self, src_project, src_package, src_rev,
target_project, target_package):
+ def check_source_submission_v2(self, src_project, src_package, src_rev,
target_project, target_package, target_revision):
if self.platform.name == "GITEA":
- return self._gitea_check_source_submission(src_project,
src_package, src_rev, target_project, target_package)
+ return self._gitea_check_source_submission_v2(
+ src_project, src_package, src_rev, target_project,
target_package, target_revision
+ )
elif self.platform.name == "OBS":
return self._obs_check_source_submission(src_project, src_package,
src_rev, target_project, target_package)
else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/openSUSE-release-tools-20260505.9d4790bf/scm/git.py
new/openSUSE-release-tools-20260515.6fd49568/scm/git.py
--- old/openSUSE-release-tools-20260505.9d4790bf/scm/git.py 2026-05-05
15:14:37.000000000 +0200
+++ new/openSUSE-release-tools-20260515.6fd49568/scm/git.py 2026-05-15
14:30:08.000000000 +0200
@@ -3,6 +3,7 @@
import git
import os
import shutil
+from pathlib import Path
class Git(scm.base.SCMBase):
@@ -59,8 +60,11 @@
if isinstance(repo, git.Repo):
return True
else:
+ path = repo if isinstance(repo, Path) else Path(repo)
+ if not path.is_dir():
+ return False
try:
- git.Repo(repo)
+ git.Repo(path)
return True
except git.exc.InvalidGitRepositoryError:
return False
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.H0jFxv/_old 2026-05-23 23:27:25.612833409 +0200
+++ /var/tmp/diff_new_pack.H0jFxv/_new 2026-05-23 23:27:25.616833572 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20260505.9d4790bf
-mtime: 1777986877
-commit: 9d4790bf4fe52c0eed85b4453136c25a85c88a27
+version: 20260515.6fd49568
+mtime: 1778848208
+commit: 6fd49568590cfbab90ecabffbf35cd8a624e7e43