Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package dnf-plugins-core for
openSUSE:Factory checked in at 2021-11-03 17:26:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dnf-plugins-core (Old)
and /work/SRC/openSUSE:Factory/.dnf-plugins-core.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dnf-plugins-core"
Wed Nov 3 17:26:35 2021 rev:18 rq:929012 version:4.0.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/dnf-plugins-core/dnf-plugins-core.changes
2021-08-27 21:44:56.454042918 +0200
+++
/work/SRC/openSUSE:Factory/.dnf-plugins-core.new.1890/dnf-plugins-core.changes
2021-11-03 17:27:31.385378477 +0100
@@ -1,0 +2,10 @@
+Wed Nov 3 11:50:23 UTC 2021 - Neal Gompa <[email protected]>
+
+- Update to 4.0.24
+ + [copr] Avoid using deprecated function distro.linux_distribution()
(rh#2011550)
+ + [copr] don't traceback on empty lines in /etc/os-release
+ + [leaves] Show strongly connected components
+ + [needs-restarting] Fix wrong boot time (rh#1960437)
+ + [playground] Disable playground command, since it doesn't work
+
+-------------------------------------------------------------------
Old:
----
dnf-plugins-core-4.0.22.tar.gz
New:
----
dnf-plugins-core-4.0.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dnf-plugins-core.spec ++++++
--- /var/tmp/diff_new_pack.tLIqG8/_old 2021-11-03 17:27:31.801378705 +0100
+++ /var/tmp/diff_new_pack.tLIqG8/_new 2021-11-03 17:27:31.805378707 +0100
@@ -2,7 +2,7 @@
# spec file for package dnf-plugins-core
#
# Copyright (c) 2020 SUSE LLC
-# Copyright (c) 2020-2021 Neal Gompa <[email protected]>.
+# Copyright (c) 2021 Neal Gompa <[email protected]>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -56,7 +56,7 @@
#global prerel rc1
Name: dnf-plugins-core
-Version: 4.0.22
+Version: 4.0.24
Release: 0
Summary: Core Plugins for DNF
License: GPL-2.0-or-later
++++++ dnf-plugins-core-4.0.22.tar.gz -> dnf-plugins-core-4.0.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/AUTHORS
new/dnf-plugins-core-4.0.24/AUTHORS
--- old/dnf-plugins-core-4.0.22/AUTHORS 2021-06-14 15:29:37.000000000 +0200
+++ new/dnf-plugins-core-4.0.24/AUTHORS 2021-10-21 08:38:48.000000000 +0200
@@ -35,3 +35,4 @@
Tomas Babej <[email protected]>
Vladan Kudlac <[email protected]>
Wieland Hoffmann <[email protected]>
+ Otto Urpelainen <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/dnf-plugins-core.spec
new/dnf-plugins-core-4.0.24/dnf-plugins-core.spec
--- old/dnf-plugins-core-4.0.22/dnf-plugins-core.spec 2021-06-14
15:29:37.000000000 +0200
+++ new/dnf-plugins-core-4.0.24/dnf-plugins-core.spec 2021-10-21
08:38:48.000000000 +0200
@@ -33,7 +33,7 @@
%endif
Name: dnf-plugins-core
-Version: 4.0.22
+Version: 4.0.24
Release: 1%{?dist}
Summary: Core Plugins for DNF
License: GPLv2+
@@ -763,6 +763,16 @@
%endif
%changelog
+* Thu Oct 21 2021 Pavla Kratochvilova <[email protected]> - 4.0.24-1
+- [copr] on CentOS Stream, enable centos stream chroot instead of not epel 8
(RhBug:1994154)
+- [copr] Avoid using deprecated function distro.linux_distribution()
(RhBug:2011550)
+- [copr] don't traceback on empty lines in /etc/os-release
+
+* Thu Sep 16 2021 Pavla Kratochvilova <[email protected]> - 4.0.23-1
+- [leaves] Show strongly connected components
+- [needs-restarting] Fix wrong boot time (RhBug:1960437)
+- [playground] Disable playground command, since it doesn't work
+
* Mon Jun 14 2021 Pavla Kratochvilova <[email protected]> - 4.0.22-1
- [repomanage] Allow running only with metadata
- [repomanage] Enhance documentation (RhBug:1898293)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/doc/release_notes.rst
new/dnf-plugins-core-4.0.24/doc/release_notes.rst
--- old/dnf-plugins-core-4.0.22/doc/release_notes.rst 2021-06-14
15:29:37.000000000 +0200
+++ new/dnf-plugins-core-4.0.24/doc/release_notes.rst 2021-10-21
08:38:48.000000000 +0200
@@ -22,6 +22,35 @@
.. contents::
====================
+4.0.24 Release Notes
+====================
+
+- Bug fixes:
+ - [copr] on CentOS Stream, enable centos stream chroot instead of not epel 8
(RhBug:1994154)
+ - [copr] Avoid using deprecated function distro.linux_distribution()
(RhBug:2011550)
+ - [copr] don't traceback on empty lines in /etc/os-release
+
+Bugs fixed in 4.0.24:
+
+* :rhbug:`1994154`
+* :rhbug:`2011550`
+
+====================
+4.0.23 Release Notes
+====================
+
+- New features:
+ - [leaves] Show strongly connected components
+
+- Bug fixes:
+ - [needs-restarting] Fix wrong boot time (RhBug:1960437)
+ - [playground] Disable playground command, since it doesn't work
+
+Bugs fixed in 4.0.23:
+
+* :rhbug:`1960437`
+
+====================
4.0.22 Release Notes
====================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/doc/summaries_cache
new/dnf-plugins-core-4.0.24/doc/summaries_cache
--- old/dnf-plugins-core-4.0.22/doc/summaries_cache 2021-06-14
15:29:37.000000000 +0200
+++ new/dnf-plugins-core-4.0.24/doc/summaries_cache 2021-10-21
08:38:48.000000000 +0200
@@ -626,5 +626,17 @@
[
1898293,
"repomanage --old does not list the oldest package per module"
+ ],
+ [
+ 1960437,
+ "needs-restarting calculating wrong boot time"
+ ],
+ [
+ 1994154,
+ "wrong baseurl / dnf copr enable / centos stream"
+ ],
+ [
+ 2011550,
+ "dnf-plugins-core uses distro.linux_distribution(), deprecated in
distro 1.6.0"
]
]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/plugins/copr.py
new/dnf-plugins-core-4.0.24/plugins/copr.py
--- old/dnf-plugins-core-4.0.22/plugins/copr.py 2021-06-14 15:29:37.000000000
+0200
+++ new/dnf-plugins-core-4.0.24/plugins/copr.py 2021-10-21 08:38:48.000000000
+0200
@@ -38,7 +38,11 @@
# If that fails, attempt to import the deprecated implementation
# from the platform module.
try:
- from distro import linux_distribution, os_release_attr
+ from distro import name, version, codename, os_release_attr
+
+ # Re-implement distro.linux_distribution() to avoid a deprecation warning
+ def linux_distribution():
+ return (name(), version(), codename())
except ImportError:
def os_release_attr(_):
return ""
@@ -50,8 +54,13 @@
with open('/etc/os-release') as os_release_file:
os_release_data = {}
for line in os_release_file:
- os_release_key, os_release_value = line.rstrip().split('=')
- os_release_data[os_release_key] =
os_release_value.strip('"')
+ try:
+ os_release_key, os_release_value =
line.rstrip().split('=')
+ os_release_data[os_release_key] =
os_release_value.strip('"')
+ except ValueError:
+ # Skip empty lines and everything that is not a simple
+ # variable assignment
+ pass
return (os_release_data['NAME'],
os_release_data['VERSION_ID'], None)
PLUGIN_CONF = 'copr'
@@ -117,6 +126,8 @@
parser.add_argument('arg', nargs='*')
def configure(self):
+ if self.cli.command.opts.command != "copr":
+ return
copr_hub = None
copr_plugin_config = ConfigParser()
config_files = []
@@ -350,9 +361,10 @@
"Re-enable the project to fix this."))
def _list_user_projects(self, user_name):
- # http://copr.fedorainfracloud.org/api/coprs/ignatenkobrain/
- api_path = "/api/coprs/{}/".format(user_name)
- res = self.base.urlopen(self.copr_url + api_path, mode='w+')
+ #
https://copr.fedorainfracloud.org/api_3/project/list?ownername=ignatenkobrain
+ api_path = "/api_3/project/list?ownername={0}".format(user_name)
+ url = self.copr_url + api_path
+ res = self.base.urlopen(url, mode='w+')
try:
json_parse = json.loads(res.read())
except ValueError:
@@ -362,21 +374,18 @@
self._check_json_output(json_parse)
section_text = _("List of {} coprs").format(user_name)
self._print_match_section(section_text)
- i = 0
- while i < len(json_parse["repos"]):
- msg = "{0}/{1} : ".format(user_name,
- json_parse["repos"][i]["name"])
- desc = json_parse["repos"][i]["description"]
- if not desc:
- desc = _("No description given")
+
+ for item in json_parse["items"]:
+ msg = "{0}/{1} : ".format(user_name, item["name"])
+ desc = item["description"] or _("No description given")
msg = self.base.output.fmtKeyValFill(ucd(msg), desc)
print(msg)
- i += 1
def _search(self, query):
- # http://copr.fedorainfracloud.org/api/coprs/search/tests/
- api_path = "/api/coprs/search/{}/".format(query)
- res = self.base.urlopen(self.copr_url + api_path, mode='w+')
+ # https://copr.fedorainfracloud.org/api_3/project/search?query=tests
+ api_path = "/api_3/project/search?query={}".format(query)
+ url = self.copr_url + api_path
+ res = self.base.urlopen(url, mode='w+')
try:
json_parse = json.loads(res.read())
except ValueError:
@@ -385,16 +394,12 @@
self._check_json_output(json_parse)
section_text = _("Matched: {}").format(query)
self._print_match_section(section_text)
- i = 0
- while i < len(json_parse["repos"]):
- msg = "{0}/{1} : ".format(json_parse["repos"][i]["username"],
- json_parse["repos"][i]["coprname"])
- desc = json_parse["repos"][i]["description"]
- if not desc:
- desc = _("No description given.")
+
+ for item in json_parse["items"]:
+ msg = "{0} : ".format(item["full_name"])
+ desc = item["description"] or _("No description given.")
msg = self.base.output.fmtKeyValFill(ucd(msg), desc)
print(msg)
- i += 1
def _print_match_section(self, text):
formatted = self.base.output.fmtSection(text)
@@ -431,7 +436,7 @@
dist = linux_distribution()
# Get distribution architecture
distarch = self.base.conf.substitutions['basearch']
- if "Fedora" in dist:
+ if any([name in dist for name in ["Fedora", "Fedora Linux"]]):
if "Rawhide" in dist:
chroot = ("fedora-rawhide-" + distarch)
# workaround for enabling repos in Rawhide when VERSION in
os-release
@@ -456,6 +461,8 @@
chroot = ("opensuse-tumbleweed-{}".format(distarch))
else:
chroot = ("opensuse-leap-{0}-{1}".format(dist[1], distarch))
+ elif "CentOS Stream" in dist:
+ chroot = ("centos-stream-{0}-{1}".format(dist[1], distarch))
else:
chroot = ("epel-%s-x86_64" % dist[1].split(".", 1)[0])
return chroot
@@ -619,7 +626,7 @@
@classmethod
def _check_json_output(cls, json_obj):
- if json_obj["output"] != "ok":
+ if "error" in json_obj:
raise dnf.exceptions.Error("{}".format(json_obj["error"]))
@classmethod
@@ -681,6 +688,7 @@
choices=['enable', 'disable', 'upgrade'])
def run(self):
+ raise dnf.exceptions.Error("Playground is temporarily unsupported")
subcommand = self.opts.subcommand[0]
chroot = self._guess_chroot()
if subcommand == "enable":
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/plugins/leaves.py
new/dnf-plugins-core-4.0.24/plugins/leaves.py
--- old/dnf-plugins-core-4.0.22/plugins/leaves.py 2021-06-14
15:29:37.000000000 +0200
+++ new/dnf-plugins-core-4.0.24/plugins/leaves.py 2021-10-21
08:38:48.000000000 +0200
@@ -72,8 +72,7 @@
def kosaraju(self, graph, rgraph):
"""
Run Kosaraju's algorithm to find strongly connected components
- in the graph, and return the list of nodes in the components
- without any incoming edges.
+ in the graph, and return the components without any incoming edges.
"""
N = len(graph)
rstack = []
@@ -140,7 +139,7 @@
sccredges.difference_update(scc)
if not sccredges:
- leaves.extend(scc)
+ leaves.append(scc.copy())
del scc[:]
sccredges.clear()
@@ -148,8 +147,18 @@
def findleaves(self):
(packages, depends, rdepends) = self.buildgraph()
- return [packages[i] for i in self.kosaraju(depends, rdepends)]
+ return [packages[i] for scc in self.kosaraju(depends, rdepends) for i
in scc]
def run(self):
- for pkg in sorted(map(str, self.findleaves())):
- print(pkg)
+ (packages, depends, rdepends) = self.buildgraph()
+ leaves = self.kosaraju(depends, rdepends)
+ for scc in leaves:
+ for i, pkg in enumerate(scc):
+ scc[i] = str(packages[pkg])
+ scc.sort()
+ leaves.sort(key=lambda scc: scc[0])
+ for scc in leaves:
+ mark = '-'
+ for pkg in scc:
+ print("{} {}".format(mark, pkg))
+ mark = ' '
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/plugins/needs_restarting.py
new/dnf-plugins-core-4.0.24/plugins/needs_restarting.py
--- old/dnf-plugins-core-4.0.22/plugins/needs_restarting.py 2021-06-14
15:29:37.000000000 +0200
+++ new/dnf-plugins-core-4.0.24/plugins/needs_restarting.py 2021-10-21
08:38:48.000000000 +0200
@@ -199,7 +199,7 @@
@staticmethod
def get_boot_time():
- return int(os.stat('/proc/1/cmdline').st_mtime)
+ return int(os.stat('/proc/1').st_mtime)
@staticmethod
def get_sc_clk_tck():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/dnf-plugins-core-4.0.22/po/CMakeLists.txt
new/dnf-plugins-core-4.0.24/po/CMakeLists.txt
--- old/dnf-plugins-core-4.0.22/po/CMakeLists.txt 2021-06-14
15:29:37.000000000 +0200
+++ new/dnf-plugins-core-4.0.24/po/CMakeLists.txt 2021-10-21
08:38:48.000000000 +0200
@@ -38,6 +38,15 @@
)
endif()
+add_custom_target(gettext-pot
+ COMMENT "Generating fresh dnf.pot file from sources"
+
+ COMMAND find ./plugins -iname '*.py' |
+ xargs xgettext -F --from-code=UTF-8 --keyword=P_:1,2 --keyword=C_:1c,2
-c --output=${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pot
+
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ )
+
IF (GETTEXT_FOUND)
# this process unfortunately reformats .po files so copy them