Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package zypper-changelog-plugin for
openSUSE:Factory checked in at 2022-12-08 16:52:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zypper-changelog-plugin (Old)
and /work/SRC/openSUSE:Factory/.zypper-changelog-plugin.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zypper-changelog-plugin"
Thu Dec 8 16:52:02 2022 rev:5 rq:1041318 version:0.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/zypper-changelog-plugin/zypper-changelog-plugin.changes
2022-11-16 15:43:56.335964665 +0100
+++
/work/SRC/openSUSE:Factory/.zypper-changelog-plugin.new.1835/zypper-changelog-plugin.changes
2022-12-08 16:52:09.559782276 +0100
@@ -1,0 +2,5 @@
+Thu Dec 8 06:20:17 UTC 2022 - Zoltan Balogh <[email protected]>
+
+- Fixing bsc#1206081 - The zypper changelog plugin fails for packages not
installed
+
+-------------------------------------------------------------------
Old:
----
zypper-changelog-plugin-0.2.tar.gz
New:
----
zypper-changelog-plugin-0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zypper-changelog-plugin.spec ++++++
--- /var/tmp/diff_new_pack.Eu3s4Y/_old 2022-12-08 16:52:10.071784902 +0100
+++ /var/tmp/diff_new_pack.Eu3s4Y/_new 2022-12-08 16:52:10.079784943 +0100
@@ -17,13 +17,13 @@
Name: zypper-changelog-plugin
-Version: 0.2
+Version: 0.3
Release: 0
Summary: Changelog listing tool
License: GPL-2.0-only
Group: System/Packages
URL: https://github.com/bzoltan1/zypper-changelog-plugin.git
-Source: zypper-changelog-plugin-0.2.tar.gz
+Source: zypper-changelog-plugin-0.3.tar.gz
Requires: /usr/bin/python3
Requires: python3-requests
BuildArch: noarch
++++++ zypper-changelog-plugin-0.2.tar.gz -> zypper-changelog-plugin-0.3.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zypper-changelog-plugin-0.2/zypper-changelog
new/zypper-changelog-plugin-0.3/zypper-changelog
--- old/zypper-changelog-plugin-0.2/zypper-changelog 2022-11-11
09:02:55.815362460 +0100
+++ new/zypper-changelog-plugin-0.3/zypper-changelog 2021-01-17
17:12:02.848290488 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright © 2018 SUSE LLC
#
@@ -34,12 +34,11 @@
def log_text(text):
- if args.debug:
- print(text)
+ print(text)
def parse_args():
- p = ArgumentParser(prog='zypper changelog',
+ p = ArgumentParser(prog='zypper-changelog',
description='Shows the changelog' +
'of one ore more packages.',
formatter_class=argparse.RawDescriptionHelpFormatter)
@@ -56,15 +55,15 @@
help="Package name \
or regular expression to match packages.")
p.add_argument("-r", "--repositories",
- dest="repos", default="ALL",
- help="Comma separated list of repositories \
+ dest="repos", default="oss",
+ help="Comma separated list of repositores \
to search for changelogs.")
p.add_argument("-a", "--all",
dest="all", default=False,
action='store_true',
help="Lists changelogs for all packages")
p.add_argument("-u", "--update",
- dest="update", default=True,
+ dest="update", default=False,
action='store_true',
help="Lists changelogs for all packages to be updated")
if len(sys.argv[1:]) == 0:
@@ -91,7 +90,6 @@
arch = ''
zypp_process = subprocess.Popen(["zypper",
"-x",
- "--non-interactive",
"list-updates"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
@@ -142,17 +140,14 @@
package_list = args.packages.split(",")
list_of_xml_files = []
+
# Find the cache file of the repositories
for root, dirs, files in os.walk("/var/cache/zypp/raw/"):
for file in files:
if file.endswith("primary.xml.gz"):
- if args.repos=="ALL":
- list_of_xml_files.append(os.path.join(root, file))
- else:
- for repository in repository_list:
- log_text("Enabled repository: %s" % repository)
- if repository in root:
- list_of_xml_files.append(os.path.join(root, file))
+ for repository in repository_list:
+ if repository in root:
+ list_of_xml_files.append(os.path.join(root, file))
ts = rpm.TransactionSet("", (rpm._RPMVSF_NOSIGNATURES or
rpm.RPMVSF_NOHDRCHK or
@@ -169,13 +164,10 @@
stdout_value, stderr_value = zypp_process.communicate()
repo_tree = ET.ElementTree(ET.fromstring(stdout_value))
repo_root = repo_tree.getroot()
-
-
for files in list_of_xml_files:
for repo in repo_root.iter('repo'):
if repo.get('alias') in files:
mirror_url = repo.find('url').text
- log_text("Mirror URL: %s" % mirror_url)
zcat_process = subprocess.Popen(["zcat",
"%s" % files],
@@ -212,14 +204,14 @@
start = field.get('start')
end = field.get('end')
url = '%s/%s' % (mirror_url, package[10].get('href'))
- log_text("URL to fetch the rpm header from: %s" % url)
+ log_text(url)
try:
# Fetch the rpm header as it contains the changelogs
rpm_header = requests.get(url,
headers={'Range':
- 'bytes=0-%s' % (end)},
- timeout=5)
- except requests.ConnectionError as e:
+ 'bytes=0-%s' % (end)})
+ rpm_header.raise_for_status()
+ except requests.exceptions.HTTPError as e:
log_text(e)
continue
# Dump the header to a temporary file as the ts.hdrFromFdno
@@ -243,14 +235,6 @@
for (name, time, text) in zip(changelog_name,
changelog_time,
changelog_text):
- # In some cases the rpm data is in bytes and need to be
- # converted to strings
- if type(name) == bytes:
- name_str = name.decode("utf-8")
- name = name_str
- if type(text) == bytes:
- text_str = text.decode("utf-8")
- text = text_str
dt = datetime.datetime.fromtimestamp(time).strftime("%a %b " +
"%d %Y")
if args.commits:
@@ -259,12 +243,9 @@
changelog += "* %s %s\n%s\n\n" % (dt, name, text)
if args.update:
local = str(local_changelog(package[0].text))
- #text_file = open("local-%s" % package , "w")
- #text_file.write(local)
- #text_file.close()
diff = difflib.ndiff(local.split('\n'), changelog.split('\n'))
- for line in diff:
- if line.startswith('+ '):
- print(line.replace('+ ', ''))
+ for l in diff:
+ if l.startswith('+ '):
+ print(l.replace('+ ', ''))
else:
print(changelog)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zypper-changelog-plugin-0.2/zypper-changelog-plugin.changes
new/zypper-changelog-plugin-0.3/zypper-changelog-plugin.changes
--- old/zypper-changelog-plugin-0.2/zypper-changelog-plugin.changes
2022-11-16 07:35:40.361361224 +0100
+++ new/zypper-changelog-plugin-0.3/zypper-changelog-plugin.changes
2022-12-08 07:20:56.746357798 +0100
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Thu Dec 8 06:20:17 UTC 2022 - Zoltan Balogh <[email protected]>
+
+- Fixing #1206081 - The zypper changelog plugin fails for packages not
installed
+
+-------------------------------------------------------------------
Wed Nov 16 06:35:11 UTC 2022 - Zoltan Balogh <[email protected]>
- Update with few fixes after testing on Leap and SLES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/zypper-changelog-plugin-0.2/zypper-changelog-plugin.spec
new/zypper-changelog-plugin-0.3/zypper-changelog-plugin.spec
--- old/zypper-changelog-plugin-0.2/zypper-changelog-plugin.spec
2022-11-16 07:30:01.986726181 +0100
+++ new/zypper-changelog-plugin-0.3/zypper-changelog-plugin.spec
1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-#
-# spec file for package zypper-changelog-plugin
-#
-# Copyright (c) 2021 SUSE LLC
-#
-# All modifications and additions to the file contributed by third parties
-# remain the property of their copyright owners, unless otherwise agreed
-# upon. The license for this file, and modifications and additions to the
-# file, is the same license as for the pristine package itself (unless the
-# license for the pristine package is not an Open Source License, in which
-# case the license is the MIT License). An "Open Source License" is a
-# license that conforms to the Open Source Definition (Version 1.9)
-# published by the Open Source Initiative.
-
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
-#
-
-
-Name: zypper-changelog-plugin
-Version: 0.2
-Release: 0
-Summary: Changelog listing tool
-License: GPL-2.0-only
-Group: System/Packages
-URL: https://github.com/bzoltan1/zypper-changelog-plugin.git
-Source: zypper-changelog-plugin-0.2.tar.gz
-Requires: /usr/bin/python3
-Requires: python3-requests
-BuildArch: noarch
-
-%description
-This tool is to show the changelog of packages in the repository
-%prep
-%setup -q
-
-%build
-
-%install
-mkdir -p %{buildroot}%{_bindir}/
-install -m 755 zypper-changelog %{buildroot}%{_bindir}/zypper-changelog
-mkdir -p %{buildroot}/usr/lib/zypper/commands %{buildroot}/%{_mandir}/man8
-install -m 644 zypper-changelog.8 %{buildroot}/%{_mandir}/man8/
-
-%files
-%license LICENSE
-%doc README.md
-%{_bindir}/zypper-changelog
-%{_mandir}/man8/*
-
-%changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/zypper-changelog-plugin-0.2/zypper-changelog.spec
new/zypper-changelog-plugin-0.3/zypper-changelog.spec
--- old/zypper-changelog-plugin-0.2/zypper-changelog.spec 1970-01-01
01:00:00.000000000 +0100
+++ new/zypper-changelog-plugin-0.3/zypper-changelog.spec 2020-05-06
14:30:43.897154403 +0200
@@ -0,0 +1,43 @@
+#
+# spec file for package zypper-changelog
+#
+# Copyright (c) 2020 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+Name: zypper-changelog
+Version: 0.1
+Release: 1%{?dist}
+Summary: Changelog listing tool
+License: GPL-2.0-or-later
+URL: https://github.com/bzoltan1/zypper-changelog.git
+Source: zypper-changelog-0.1.tar.gz
+Requires: python3
+BuildArch: noarch
+
+%description
+This tool is to show the changelog of packages in the repository
+%prep
+%setup -q
+
+%install
+mkdir -p %{buildroot}%{_bindir}/
+install -m 755 zypper-changelog %{buildroot}%{_bindir}/zypper-changelog
+
+%files
+%doc README.md
+%license LICENSE
+%{_bindir}/zypper-changelog
+
+%changelog