openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
December 2021
- 1 participants
- 2461 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pyproj for openSUSE:Factory checked in at 2021-12-01 20:47:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyproj (Old)
and /work/SRC/openSUSE:Factory/.python-pyproj.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyproj"
Wed Dec 1 20:47:24 2021 rev:19 rq:934930 version:3.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pyproj/python-pyproj.changes 2021-09-20 23:36:30.307422038 +0200
+++ /work/SRC/openSUSE:Factory/.python-pyproj.new.31177/python-pyproj.changes 2021-12-02 02:24:13.660822487 +0100
@@ -1,0 +2,25 @@
+Thu Nov 18 10:44:14 UTC 2021 - Libor Pechacek <lpechacek(a)suse.com>
+
+- Update to 3.3.0
+ * WHL: Wheels contain PROJ 8.2.0
+ * DEP: Minimum supported Python version 3.8 (issue #930)
+ * DEP: Minimum PROJ version 8.0 (issue #940)
+ * BUG: Prepend "Derived" to CRS type name if CRS is derived
+ (issue #932)
+ * BUG: Improved handling of inf values in
+ pyproj.transformer.Transformer.transform_bounds (pull #961)
+ * BUG: CRS CF conversions mismatch of PROJ parameters in
+ rotated pole (issue #948)
+ * ENH: Add support for transforming bounds at the poles in
+ pyproj.transformer.Transformer.transform_bounds (pull #962)
+ * ENH: Added pyproj.transformer.Transformer.source_crs &
+ pyproj.transformer.Transformer.target_crs (pull #976)
+ * ENH: Added
+ pyproj.crs.coordinate_operation.PoleRotationNetCDFCFConversion
+ (issue #948)
+ * ENH: Added pyproj.database.get_database_metadata (issue #990)
+ * ENH: Added PROJ database metadata to pyproj.show_versions
+ (issue #990)
+- Packaging: update build requirements
+
+-------------------------------------------------------------------
Old:
----
pyproj-3.2.1.tar.gz
New:
----
pyproj-3.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyproj.spec ++++++
--- /var/tmp/diff_new_pack.oahSGR/_old 2021-12-02 02:24:14.040821162 +0100
+++ /var/tmp/diff_new_pack.oahSGR/_new 2021-12-02 02:24:14.044821147 +0100
@@ -20,22 +20,22 @@
%define skip_python36 1
%{?!python_module:%define python_module() python3-%{**}}
Name: python-pyproj
-Version: 3.2.1
+Version: 3.3.0
Release: 0
Summary: Python interface to PROJ library
License: SUSE-Public-Domain AND X11
Group: Development/Languages/Python
URL: https://github.com/pyproj4/pyproj
Source: https://files.pythonhosted.org/packages/source/p/pyproj/pyproj-%{version}.t…
-BuildRequires: %{python_module Cython >= 0.23.5}
+BuildRequires: %{python_module Cython >= 0.28.4}
BuildRequires: %{python_module Shapely}
BuildRequires: %{python_module aenum}
-BuildRequires: %{python_module devel >= 3.7}
+BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module numpy}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: proj
-BuildRequires: proj-devel >= 7.2.0
+BuildRequires: proj-devel >= 8
BuildRequires: python-rpm-macros
Requires: python-aenum
Requires: python-numpy
++++++ pyproj-3.2.1.tar.gz -> pyproj-3.3.0.tar.gz ++++++
++++ 3127 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-psycopg2 for openSUSE:Factory checked in at 2021-11-29 17:28:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-psycopg2 (Old)
and /work/SRC/openSUSE:Factory/.python-psycopg2.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-psycopg2"
Mon Nov 29 17:28:34 2021 rev:39 rq:934511 version:2.9.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-psycopg2/python-psycopg2.changes 2021-10-16 22:47:56.264706961 +0200
+++ /work/SRC/openSUSE:Factory/.python-psycopg2.new.31177/python-psycopg2.changes 2021-12-02 02:24:02.012863120 +0100
@@ -1,0 +2,10 @@
+Mon Nov 29 10:57:15 UTC 2021 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 2.9.2:
+ * Raise `ValueError` for dates >= Y10k (:ticket:`#1307`).
+ * `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to
+ PostgreSQL 14.
+ * Add preliminary support for Python 3.11 (:tickets:`#1376, #1386`).
+ * Wheel package compiled against OpenSSL 1.1.1l and PostgreSQL 14.1
+
+-------------------------------------------------------------------
Old:
----
psycopg2-2.9.1.tar.gz
New:
----
psycopg2-2.9.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-psycopg2.spec ++++++
--- /var/tmp/diff_new_pack.GiSYVh/_old 2021-12-02 02:24:02.436861641 +0100
+++ /var/tmp/diff_new_pack.GiSYVh/_new 2021-12-02 02:24:02.440861627 +0100
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-psycopg2
-Version: 2.9.1
+Version: 2.9.2
Release: 0
Summary: Python-PostgreSQL Database Adapter
License: LGPL-3.0-or-later AND (LGPL-3.0-or-later OR ZPL-2.0) AND SUSE-GPL-2.0-with-openssl-exception
++++++ psycopg2-2.9.1.tar.gz -> psycopg2-2.9.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/NEWS new/psycopg2-2.9.2/NEWS
--- old/psycopg2-2.9.1/NEWS 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/NEWS 2021-11-12 01:02:18.000000000 +0100
@@ -1,10 +1,21 @@
Current release
---------------
+What's new in psycopg 2.9.2
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Raise `ValueError` for dates >= Y10k (:ticket:`#1307`).
+- `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to
+ PostgreSQL 14.
+- Add preliminary support for Python 3.11 (:tickets:`#1376, #1386`).
+- Wheel package compiled against OpenSSL 1.1.1l and PostgreSQL 14.1
+ (:ticket:`#1388`).
+
+
What's new in psycopg 2.9.1
^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Fix regression with named `sql.Placeholder` (:ticket:`1291`).
+Fix regression with named `sql.Placeholder` (:ticket:`#1291`).
What's new in psycopg 2.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/PKG-INFO new/psycopg2-2.9.2/PKG-INFO
--- old/psycopg2-2.9.1/PKG-INFO 2021-06-17 01:47:10.153814300 +0200
+++ new/psycopg2-2.9.2/PKG-INFO 2021-11-12 01:02:18.751813400 +0100
@@ -1,12 +1,12 @@
Metadata-Version: 1.2
Name: psycopg2
-Version: 2.9.1
+Version: 2.9.2
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: https://psycopg.org/
Author: Federico Di Gregorio
Author-email: fog(a)initd.org
Maintainer: Daniele Varrazzo
-Maintainer-email: daniele.varrazzo(a)gmail.org
+Maintainer-email: daniele.varrazzo(a)gmail.com
License: LGPL with exceptions
Project-URL: Homepage, https://psycopg.org/
Project-URL: Documentation, https://www.psycopg.org/docs/
@@ -94,6 +94,7 @@
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: C
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/doc/Makefile new/psycopg2-2.9.2/doc/Makefile
--- old/psycopg2-2.9.1/doc/Makefile 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/doc/Makefile 2021-11-12 01:02:18.000000000 +0100
@@ -19,7 +19,7 @@
cp -r src/_build/html .
src/sqlstate_errors.rst: ../psycopg/sqlstate_errors.h $(BUILD_DIR)
- env/bin/python src/tools/make_sqlstate_docs.py $< > $@
+ ./env/bin/python src/tools/make_sqlstate_docs.py $< > $@
$(BUILD_DIR):
$(MAKE) PYTHON=$(PYTHON) -C .. package
@@ -33,7 +33,7 @@
rm -rf html src/sqlstate_errors.rst
env: requirements.txt
- virtualenv -p $(PYTHON) env
+ $(PYTHON) -m venv env
./env/bin/pip install -r requirements.txt
echo "$$(pwd)/../build/lib.$(PYTHON_VERSION)" \
> env/lib/python$(PYTHON_VERSION)/site-packages/psycopg.pth
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/doc/src/cursor.rst new/psycopg2-2.9.2/doc/src/cursor.rst
--- old/psycopg2-2.9.1/doc/src/cursor.rst 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/doc/src/cursor.rst 2021-11-12 01:02:18.000000000 +0100
@@ -562,13 +562,6 @@
>>> cur.fetchall()
[(6, 42, 'foo'), (7, 74, 'bar')]
- .. note:: the name of the table is not quoted: if the table name
- contains uppercase letters or special characters it must be quoted
- with double quotes::
-
- cur.copy_from(f, '"TABLE"')
-
-
.. versionchanged:: 2.0.6
added the *columns* parameter.
@@ -577,6 +570,11 @@
are encoded in the connection `~connection.encoding` when sent to
the backend.
+ .. versionchanged:: 2.9
+ the table and fields names are now quoted. If you need to specify
+ a schema-qualified table please use `copy_expert()`.
+
+
.. method:: copy_to(file, table, sep='\\t', null='\\\\N', columns=None)
Write the content of the table named *table* *to* the file-like
@@ -598,12 +596,6 @@
2|\N|dada
...
- .. note:: the name of the table is not quoted: if the table name
- contains uppercase letters or special characters it must be quoted
- with double quotes::
-
- cur.copy_to(f, '"TABLE"')
-
.. versionchanged:: 2.0.6
added the *columns* parameter.
@@ -612,6 +604,10 @@
are decoded in the connection `~connection.encoding` when read
from the backend.
+ .. versionchanged:: 2.9
+ the table and fields names are now quoted. If you need to specify
+ a schema-qualified table please use `copy_expert()`.
+
.. method:: copy_expert(sql, file, size=8192)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/doc/src/install.rst new/psycopg2-2.9.2/doc/src/install.rst
--- old/psycopg2-2.9.1/doc/src/install.rst 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/doc/src/install.rst 2021-11-12 01:02:18.000000000 +0100
@@ -31,7 +31,7 @@
This will install a pre-compiled binary version of the module which does not
require the build or runtime prerequisites described below. Make sure to use
-an up-date-date version of :program:`pip` (you can upgrade it using something
+an up-to-date version of :program:`pip` (you can upgrade it using something
like ``pip install -U pip``).
You may then import the ``psycopg2`` package, as usual:
@@ -131,8 +131,8 @@
..
NOTE: keep consistent with setup.py and the /features/ page.
-- Python versions from 3.6 to 3.9
-- PostgreSQL server versions from 7.4 to 13
+- Python versions from 3.6 to 3.10
+- PostgreSQL server versions from 7.4 to 14
- PostgreSQL client library version from 9.1
@@ -198,7 +198,7 @@
(usually distributed in a ``libpq.so`` or ``libpq.dll`` file). `!psycopg2`
relies on the host OS to find the library if the library is installed in a
standard location there is usually no problem; if the library is in a
-non-standard location you will have to tell somehow Psycopg how to find it,
+non-standard location you will have to tell Psycopg how to find it,
which is OS-dependent (for instance setting a suitable
:envvar:`LD_LIBRARY_PATH` on Linux).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/doc/src/usage.rst new/psycopg2-2.9.2/doc/src/usage.rst
--- old/psycopg2-2.9.1/doc/src/usage.rst 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/doc/src/usage.rst 2021-11-12 01:02:18.000000000 +0100
@@ -795,6 +795,8 @@
.. index::
single: with statement
+.. _with:
+
``with`` statement
^^^^^^^^^^^^^^^^^^
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/lib/errorcodes.py new/psycopg2-2.9.2/lib/errorcodes.py
--- old/psycopg2-2.9.1/lib/errorcodes.py 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/lib/errorcodes.py 2021-11-12 01:02:18.000000000 +0100
@@ -391,6 +391,7 @@
CRASH_SHUTDOWN = '57P02'
CANNOT_CONNECT_NOW = '57P03'
DATABASE_DROPPED = '57P04'
+IDLE_SESSION_TIMEOUT = '57P05'
# Class 58 - System Error (errors external to PostgreSQL itself)
SYSTEM_ERROR = '58000'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/connection_int.c new/psycopg2-2.9.2/psycopg/connection_int.c
--- old/psycopg2-2.9.1/psycopg/connection_int.c 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/connection_int.c 2021-11-12 01:02:18.000000000 +0100
@@ -33,6 +33,7 @@
#include "psycopg/green.h"
#include "psycopg/notify.h"
+#include <stdlib.h>
#include <string.h>
/* String indexes match the ISOLATION_LEVEL_* consts */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/connection_type.c new/psycopg2-2.9.2/psycopg/connection_type.c
--- old/psycopg2-2.9.1/psycopg/connection_type.c 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/connection_type.c 2021-11-12 01:02:18.000000000 +0100
@@ -35,6 +35,7 @@
#include "psycopg/green.h"
#include "psycopg/xid.h"
+#include <stdlib.h>
#include <string.h>
#include <ctype.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/pqpath.c new/psycopg2-2.9.2/psycopg/pqpath.c
--- old/psycopg2-2.9.1/psycopg/pqpath.c 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/pqpath.c 2021-11-12 01:02:18.000000000 +0100
@@ -47,6 +47,7 @@
#include "psycopg/libpq_support.h"
#include "libpq-fe.h"
+#include <stdlib.h>
#ifdef _WIN32
/* select() */
#include <winsock2.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/psycopgmodule.c new/psycopg2-2.9.2/psycopg/psycopgmodule.c
--- old/psycopg2-2.9.1/psycopg/psycopgmodule.c 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/psycopgmodule.c 2021-11-12 01:02:18.000000000 +0100
@@ -57,6 +57,8 @@
#include <datetime.h>
#include "psycopg/adapter_datetime.h"
+#include <stdlib.h>
+
HIDDEN PyObject *psycoEncodings = NULL;
HIDDEN PyObject *sqlstate_errors = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/replication_connection_type.c new/psycopg2-2.9.2/psycopg/replication_connection_type.c
--- old/psycopg2-2.9.1/psycopg/replication_connection_type.c 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/replication_connection_type.c 2021-11-12 01:02:18.000000000 +0100
@@ -129,6 +129,11 @@
self, self->conn.dsn, self->conn.closed);
}
+static int
+replicationConnectionType_traverse(PyObject *self, visitproc visit, void *arg)
+{
+ return connectionType.tp_traverse(self, visit, arg);
+}
/* object calculated member list */
@@ -173,7 +178,7 @@
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER |
Py_TPFLAGS_HAVE_GC, /*tp_flags*/
replicationConnectionType_doc, /*tp_doc*/
- 0, /*tp_traverse*/
+ replicationConnectionType_traverse, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/replication_cursor_type.c new/psycopg2-2.9.2/psycopg/replication_cursor_type.c
--- old/psycopg2-2.9.1/psycopg/replication_cursor_type.c 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/replication_cursor_type.c 2021-11-12 01:02:18.000000000 +0100
@@ -346,6 +346,11 @@
"<ReplicationCursor object at %p; closed: %d>", self, self->cur.closed);
}
+static int
+replicationCursorType_traverse(PyObject *self, visitproc visit, void *arg)
+{
+ return cursorType.tp_traverse(self, visit, arg);
+}
/* object type */
@@ -374,7 +379,7 @@
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_ITER |
Py_TPFLAGS_HAVE_GC, /*tp_flags*/
replicationCursorType_doc, /*tp_doc*/
- 0, /*tp_traverse*/
+ replicationCursorType_traverse, /*tp_traverse*/
0, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/sqlstate_errors.h new/psycopg2-2.9.2/psycopg/sqlstate_errors.h
--- old/psycopg2-2.9.1/psycopg/sqlstate_errors.h 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/sqlstate_errors.h 2021-11-12 01:02:18.000000000 +0100
@@ -279,6 +279,7 @@
{"57P02", "CrashShutdown"},
{"57P03", "CannotConnectNow"},
{"57P04", "DatabaseDropped"},
+{"57P05", "IdleSessionTimeout"},
/* Class 58 - System Error (errors external to PostgreSQL itself) */
{"58000", "SystemError"},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg/typecast_datetime.c new/psycopg2-2.9.2/psycopg/typecast_datetime.c
--- old/psycopg2-2.9.1/psycopg/typecast_datetime.c 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg/typecast_datetime.c 2021-11-12 01:02:18.000000000 +0100
@@ -71,7 +71,6 @@
return NULL;
}
else {
- if (y > 9999) y = 9999;
obj = PyObject_CallFunction(
(PyObject*)PyDateTimeAPI->DateType, "iii", y, m, d);
}
@@ -172,8 +171,6 @@
mm += 1;
ss -= 60;
}
- if (y > 9999)
- y = 9999;
tzinfo_factory = ((cursorObject *)curs)->tzinfo_factory;
if (n >= 5 && tzinfo_factory != Py_None) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg2.egg-info/PKG-INFO new/psycopg2-2.9.2/psycopg2.egg-info/PKG-INFO
--- old/psycopg2-2.9.1/psycopg2.egg-info/PKG-INFO 2021-06-17 01:47:10.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg2.egg-info/PKG-INFO 2021-11-12 01:02:18.000000000 +0100
@@ -1,12 +1,12 @@
Metadata-Version: 1.2
Name: psycopg2
-Version: 2.9.1
+Version: 2.9.2
Summary: psycopg2 - Python-PostgreSQL Database Adapter
Home-page: https://psycopg.org/
Author: Federico Di Gregorio
Author-email: fog(a)initd.org
Maintainer: Daniele Varrazzo
-Maintainer-email: daniele.varrazzo(a)gmail.org
+Maintainer-email: daniele.varrazzo(a)gmail.com
License: LGPL with exceptions
Project-URL: Homepage, https://psycopg.org/
Project-URL: Documentation, https://www.psycopg.org/docs/
@@ -94,6 +94,7 @@
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: C
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/psycopg2.egg-info/SOURCES.txt new/psycopg2-2.9.2/psycopg2.egg-info/SOURCES.txt
--- old/psycopg2-2.9.1/psycopg2.egg-info/SOURCES.txt 2021-06-17 01:47:10.000000000 +0200
+++ new/psycopg2-2.9.2/psycopg2.egg-info/SOURCES.txt 2021-11-12 01:02:18.000000000 +0100
@@ -135,7 +135,6 @@
scripts/make_errorcodes.py
scripts/make_errors.py
scripts/refcounter.py
-scripts/travis_update_docs.sh
scripts/build/appveyor.py
scripts/build/build_libpq.sh
scripts/build/build_macos.sh
@@ -144,6 +143,7 @@
scripts/build/build_sdist.sh
scripts/build/download_packages_appveyor.py
scripts/build/download_packages_github.py
+scripts/build/strip_wheel.sh
tests/__init__.py
tests/dbapi20.py
tests/dbapi20_tpc.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/build/appveyor.py new/psycopg2-2.9.2/scripts/build/appveyor.py
--- old/psycopg2-2.9.1/scripts/build/appveyor.py 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/build/appveyor.py 2021-11-12 01:02:18.000000000 +0100
@@ -321,15 +321,11 @@
def build_binary_packages():
- """Create wheel/exe binary packages."""
+ """Create wheel binary packages."""
os.chdir(opt.package_dir)
add_pg_config_path()
- # Build .exe packages for whom still use them
- if opt.package_name == 'psycopg2':
- run_python(['setup.py', 'bdist_wininst', "-d", opt.dist_dir])
-
# Build .whl packages
run_python(['setup.py', 'bdist_wheel', "-d", opt.dist_dir])
@@ -661,7 +657,7 @@
def py_ver(self):
"""The Python version to build as 2 digits string."""
rv = os.environ['PY_VER']
- assert rv in ('36', '37', '38', '39'), rv
+ assert rv in ('36', '37', '38', '39', '310'), rv
return rv
@property
@@ -747,6 +743,7 @@
'37': '14.0',
'38': '14.0',
'39': '16.0',
+ '310': '16.0',
}
return vsvers[self.py_ver]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/build/build_libpq.sh new/psycopg2-2.9.2/scripts/build/build_libpq.sh
--- old/psycopg2-2.9.1/scripts/build/build_libpq.sh 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/build/build_libpq.sh 2021-11-12 01:02:18.000000000 +0100
@@ -5,10 +5,10 @@
set -euo pipefail
set -x
-openssl_version="1.1.1k"
+openssl_version="1.1.1l"
ldap_version="2.4.59"
sasl_version="2.1.27"
-postgres_version="13.3"
+postgres_version="14.1"
yum install -y zlib-devel krb5-devel pam-devel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/build/build_macos.sh new/psycopg2-2.9.2/scripts/build/build_macos.sh
--- old/psycopg2-2.9.1/scripts/build/build_macos.sh 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/build/build_macos.sh 2021-11-12 01:02:18.000000000 +0100
@@ -11,7 +11,10 @@
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
prjdir="$( cd "${dir}/../.." && pwd )"
-brew install gnu-sed postgresql@13
+brew update
+brew install gnu-sed postgresql@14
+# Fetch 14.1 if 14.0 is still the default version
+brew reinstall postgresql
# Start the database for testing
brew services start postgresql
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/build/build_manylinux2014.sh new/psycopg2-2.9.2/scripts/build/build_manylinux2014.sh
--- old/psycopg2-2.9.1/scripts/build/build_manylinux2014.sh 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/build/build_manylinux2014.sh 2021-11-12 01:02:18.000000000 +0100
@@ -41,6 +41,7 @@
# Bundle external shared libraries into the wheels
for whl in "${prjdir}"/dist/*.whl; do
+ "${dir}/strip_wheel.sh" "$whl"
auditwheel repair "$whl" -w "$distdir"
done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/build/build_manylinux_2_24.sh new/psycopg2-2.9.2/scripts/build/build_manylinux_2_24.sh
--- old/psycopg2-2.9.1/scripts/build/build_manylinux_2_24.sh 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/build/build_manylinux_2_24.sh 2021-11-12 01:02:18.000000000 +0100
@@ -27,7 +27,7 @@
fi
# Install prerequisite libraries
-curl -s https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
+curl -k -s https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt stretch-pgdg main" \
> /etc/apt/sources.list.d/pgdg.list
apt-get -y update
@@ -41,6 +41,7 @@
# Bundle external shared libraries into the wheels
for whl in "${prjdir}"/dist/*.whl; do
+ "${dir}/strip_wheel.sh" "$whl"
auditwheel repair "$whl" -w "$distdir"
done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/build/download_packages_appveyor.py new/psycopg2-2.9.2/scripts/build/download_packages_appveyor.py
--- old/psycopg2-2.9.1/scripts/build/download_packages_appveyor.py 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/build/download_packages_appveyor.py 2021-11-12 01:02:18.000000000 +0100
@@ -8,6 +8,7 @@
import logging
import datetime as dt
from pathlib import Path
+from argparse import ArgumentParser
import requests
@@ -24,6 +25,7 @@
def main():
+ opt = parse_cmdline()
try:
token = os.environ["APPVEYOR_TOKEN"]
except KeyError:
@@ -33,8 +35,13 @@
s.headers["Content-Type"] = "application/json"
s.headers["Authorization"] = f"Bearer {token}"
- logger.info("fetching last run")
- resp = s.get(f"{API_URL}/projects/{REPOS}/")
+ if opt.build:
+ logger.info("fetching build %s", opt.build)
+ resp = s.get(f"{API_URL}/projects/{REPOS}/build/{opt.build}")
+ else:
+ logger.info("fetching last run")
+ resp = s.get(f"{API_URL}/projects/{REPOS}")
+
resp.raise_for_status()
data = resp.json()
@@ -52,7 +59,7 @@
jobs = data["build"]["jobs"]
for job in jobs:
if job["status"] != "success":
- raise ScriptError("status for job {job['jobId']} is {job['status']}")
+ raise ScriptError(f"status for job {job['jobId']} is {job['status']}")
logger.info(f"fetching artifacts info for {job['name']}")
resp = s.get(f"{API_URL}/buildjobs/{job['jobId']}/artifacts/")
@@ -77,6 +84,13 @@
logger.info("now you can run: 'twine upload -s packages/*'")
+def parse_cmdline():
+ parser = ArgumentParser(description=__doc__)
+ parser.add_argument("--build", help="build version to download [default: latest]")
+ opt = parser.parse_args()
+ return opt
+
+
def pretty_interval(td):
secs = td.total_seconds()
mins, secs = divmod(secs, 60)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/build/strip_wheel.sh new/psycopg2-2.9.2/scripts/build/strip_wheel.sh
--- old/psycopg2-2.9.1/scripts/build/strip_wheel.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/psycopg2-2.9.2/scripts/build/strip_wheel.sh 2021-11-12 01:02:18.000000000 +0100
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+# Strip symbols inplace from the libraries in a zip archive.
+#
+# Stripping symbols is beneficial (reduction of 30% of the final package, >
+# %90% of the installed libraries. However just running `auditwheel repair
+# --strip` breaks some of the libraries included from the system, which fail at
+# import with errors such as "ELF load command address/offset not properly
+# aligned".
+#
+# System libraries are already pretty stripped. _psycopg2.so goes around
+# 1.6M -> 300K (python 3.8, x86_64)
+#
+# This script is designed to run on a wheel archive before auditwheel.
+
+set -euo pipefail
+set -x
+
+wheel=$(realpath "$1")
+shift
+
+# python or python3?
+if which python > /dev/null; then
+ py=python
+else
+ py=python3
+fi
+
+tmpdir=$(mktemp -d)
+trap "rm -r ${tmpdir}" EXIT
+
+cd "${tmpdir}"
+$py -m zipfile -e "${wheel}" .
+
+find . -name *.so -ls -exec strip "$@" {} \;
+# Display the size after strip
+find . -name *.so -ls
+
+$py -m zipfile -c "${wheel}" *
+
+cd -
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/make_errorcodes.py new/psycopg2-2.9.2/scripts/make_errorcodes.py
--- old/psycopg2-2.9.1/scripts/make_errorcodes.py 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/make_errorcodes.py 2021-11-12 01:02:18.000000000 +0100
@@ -33,7 +33,7 @@
file_start = read_base_file(filename)
# If you add a version to the list fix the docs (in errorcodes.rst)
classes, errors = fetch_errors(
- ['9.1', '9.2', '9.3', '9.4', '9.5', '9.6', '10', '11', '12', '13'])
+ ['9.1', '9.2', '9.3', '9.4', '9.5', '9.6', '10', '11', '12', '13', '14'])
disambiguate(errors)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/make_errors.py new/psycopg2-2.9.2/scripts/make_errors.py
--- old/psycopg2-2.9.1/scripts/make_errors.py 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/make_errors.py 2021-11-12 01:02:18.000000000 +0100
@@ -30,7 +30,7 @@
# If you add a version to the list fix the docs (in errors.rst)
classes, errors = fetch_errors(
- ['9.1', '9.2', '9.3', '9.4', '9.5', '9.6', '10', '11', '12', '13'])
+ ['9.1', '9.2', '9.3', '9.4', '9.5', '9.6', '10', '11', '12', '13', '14'])
f = open(filename, "w")
print("/*\n * Autogenerated by 'scripts/make_errors.py'.\n */\n", file=f)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/scripts/travis_update_docs.sh new/psycopg2-2.9.2/scripts/travis_update_docs.sh
--- old/psycopg2-2.9.1/scripts/travis_update_docs.sh 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/scripts/travis_update_docs.sh 1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-# Trigger a rebuild of the psycopg.org website to update the documentation.
-# The script is meant to run by Travis CI.
-
-set -euo pipefail
-
-# The travis token can be set at https://github.com/psycopg/psycopg2/settings/secrets/actions
-# and can be set on a selected branch only (which should match the DOC_BRANCH
-# in the psycopg-website Makefile, or it won't refresh a thing).
-if [ -z "${TRAVIS_TOKEN:-}" ]; then
- echo "skipping docs update: travis token not set" >&2
- exit 0
-fi
-
-echo "triggering psycopg-website rebuild" >&2
-curl -s -X POST \
- -H "Content-Type: application/json" \
- -H "Accept: application/json" \
- -H "Travis-API-Version: 3" \
- -H "Authorization: token ${TRAVIS_TOKEN}" \
- -d "{\"request\": {\"branch\": \"${TRAVIS_BRANCH}\"}}" \
- https://api.travis-ci.com/repo/psycopg%2Fpsycopg-website/requests
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/setup.py new/psycopg2-2.9.2/setup.py
--- old/psycopg2-2.9.1/setup.py 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/setup.py 2021-11-12 01:02:18.000000000 +0100
@@ -44,7 +44,7 @@
# Take a look at https://www.python.org/dev/peps/pep-0440/
# for a consistent versioning pattern.
-PSYCOPG_VERSION = '2.9.1'
+PSYCOPG_VERSION = '2.9.2'
# note: if you are changing the list of supported Python version please fix
@@ -59,6 +59,7 @@
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
+Programming Language :: Python :: 3.10
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: Implementation :: CPython
Programming Language :: C
@@ -550,7 +551,7 @@
author="Federico Di Gregorio",
author_email="fog(a)initd.org",
maintainer="Daniele Varrazzo",
- maintainer_email="daniele.varrazzo(a)gmail.org",
+ maintainer_email="daniele.varrazzo(a)gmail.com",
url="https://psycopg.org/",
license="LGPL with exceptions",
platforms=["any"],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/psycopg2-2.9.1/tests/test_dates.py new/psycopg2-2.9.2/tests/test_dates.py
--- old/psycopg2-2.9.1/tests/test_dates.py 2021-06-17 01:47:09.000000000 +0200
+++ new/psycopg2-2.9.2/tests/test_dates.py 2021-11-12 01:02:18.000000000 +0100
@@ -115,12 +115,26 @@
self.DATETIME = psycopg2.extensions.PYDATETIME
self.INTERVAL = psycopg2.extensions.PYINTERVAL
+ def test_parse_10k_date(self):
+ # datetime does not support dates larger than date.max
+ self.assertEqual(self.DATE('9999-12-31', self.curs), date(9999, 12, 31))
+ self.assertRaises(ValueError, self.DATE, '10000-01-01', self.curs)
+
def test_parse_bc_date(self):
# datetime does not support BC dates
+ self.assertEqual(self.DATE('0001-01-01', self.curs), date(1, 1, 1))
self.assertRaises(ValueError, self.DATE, '00042-01-01 BC', self.curs)
+ def test_parse_10k_datetime(self):
+ # datetime does not support dates larger than date.max
+ self.assertEqual(self.DATETIME('9999-12-31 23:59:59', self.curs),
+ datetime(9999, 12, 31, 23, 59, 59))
+ self.assertRaises(ValueError, self.DATE, '10000-01-01', self.curs)
+
def test_parse_bc_datetime(self):
# datetime does not support BC dates
+ self.assertEqual(self.DATETIME('0001-01-01 13:30:29', self.curs),
+ datetime(1, 1, 1, 13, 30, 29))
self.assertRaises(ValueError, self.DATETIME,
'00042-01-01 13:30:29 BC', self.curs)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pbr for openSUSE:Factory checked in at 2021-11-29 17:28:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pbr (Old)
and /work/SRC/openSUSE:Factory/.python-pbr.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pbr"
Mon Nov 29 17:28:21 2021 rev:56 rq:934075 version:5.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pbr/python-pbr.changes 2021-05-20 19:23:47.230260098 +0200
+++ /work/SRC/openSUSE:Factory/.python-pbr.new.31177/python-pbr.changes 2021-12-02 02:23:54.776888363 +0100
@@ -1,0 +2,9 @@
+Sat Nov 6 18:03:23 UTC 2021 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 5.7.0:
+ * Add a PEP517 interface
+ * PBR package testing improvements
+ * Run python3.9 test jobs
+ * Correct comment for 'D1\_D2\_SETUP\_ARGS'
+
+-------------------------------------------------------------------
Old:
----
pbr-5.6.0.tar.gz
New:
----
pbr-5.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pbr.spec ++++++
--- /var/tmp/diff_new_pack.RKvtJl/_old 2021-12-02 02:23:55.172886981 +0100
+++ /var/tmp/diff_new_pack.RKvtJl/_new 2021-12-02 02:23:55.172886981 +0100
@@ -26,7 +26,7 @@
%bcond_with test
%endif
Name: python-pbr%{psuffix}
-Version: 5.6.0
+Version: 5.7.0
Release: 0
Summary: Python Build Reasonableness
License: Apache-2.0
@@ -55,6 +55,8 @@
BuildRequires: python3-Sphinx
BuildRequires: python3-devel
BuildRequires: python3-fixtures >= 3.0.0
+BuildRequires: python3-pep517
+BuildRequires: python3-pip
BuildRequires: python3-six >= 1.12.0
BuildRequires: python3-stestr >= 2.1.0
BuildRequires: python3-testrepository >= 0.0.18
@@ -84,7 +86,7 @@
%if %{with test}
%check
export OS_TEST_TIMEOUT=60
-python3 -m stestr run --suppress-attachments
+python3 -m stestr run --suppress-attachments --exclude-regex '(pbr.tests.test_packaging.TestPEP517Support|pbr.tests.test_packaging.TestRequirementParsing.test_requirement_parsing)'
%endif
%if !%{with test}
++++++ pbr-5.6.0.tar.gz -> pbr-5.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/.zuul.yaml new/pbr-5.7.0/.zuul.yaml
--- old/pbr-5.6.0/.zuul.yaml 2021-04-26 17:18:18.000000000 +0200
+++ new/pbr-5.7.0/.zuul.yaml 2021-11-04 10:25:43.000000000 +0100
@@ -17,7 +17,6 @@
- openstack/debtcollector
- openstack/dib-utils
- openstack/diskimage-builder
- - openstack/django_openstack_auth
- openstack/futurist
- openstack/glance
- openstack/glance_store
@@ -109,19 +108,28 @@
templates:
- lib-forward-testing
- lib-forward-testing-python3
- - openstack-cover-jobs
- - openstack-python-jobs
- - openstack-python3-ussuri-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
check:
jobs:
+ - openstack-tox-pep8
+ - openstack-tox-cover
+ - openstack-tox-py36
+ - openstack-tox-py37
+ - openstack-tox-py38
+ - openstack-tox-py39
- pbr-installation-openstack
- pbr-installation-openstack-pip-dev
- tempest-full:
override-checkout: stable/train
gate:
jobs:
+ - openstack-tox-pep8
+ - openstack-tox-cover
+ - openstack-tox-py36
+ - openstack-tox-py37
+ - openstack-tox-py38
+ - openstack-tox-py39
- pbr-installation-openstack
- pbr-installation-openstack-pip-dev
- tempest-full:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/AUTHORS new/pbr-5.7.0/AUTHORS
--- old/pbr-5.6.0/AUTHORS 2021-04-26 17:18:50.000000000 +0200
+++ new/pbr-5.7.0/AUTHORS 2021-11-04 10:26:18.000000000 +0100
@@ -143,6 +143,7 @@
dineshbhor <dinesh.bhor(a)nttdata.com>
jiansong <jian.song(a)easystack.cn>
lifeless <robertc(a)robertcollins.net>
+manchandavishal <manchandavishal143(a)gmail.com>
melanie witt <melwitt(a)yahoo-inc.com>
melissaml <ma.lei(a)99cloud.net>
nizam <abdul.nizamuddin(a)nectechnologies.in>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/ChangeLog new/pbr-5.7.0/ChangeLog
--- old/pbr-5.6.0/ChangeLog 2021-04-26 17:18:50.000000000 +0200
+++ new/pbr-5.7.0/ChangeLog 2021-11-04 10:26:18.000000000 +0100
@@ -1,6 +1,15 @@
CHANGES
=======
+5.7.0
+-----
+
+* Add a PEP517 interface
+* PBR package testing improvements
+* Run python3.9 test jobs
+* Retire django-openstack-auth
+* Correct comment for 'D1\_D2\_SETUP\_ARGS'
+
5.6.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/PKG-INFO new/pbr-5.7.0/PKG-INFO
--- old/pbr-5.6.0/PKG-INFO 2021-04-26 17:18:50.734825800 +0200
+++ new/pbr-5.7.0/PKG-INFO 2021-11-04 10:26:18.642354200 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pbr
-Version: 5.6.0
+Version: 5.7.0
Summary: Python Build Reasonableness
Home-page: https://docs.openstack.org/pbr/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/doc/source/user/using.rst new/pbr-5.7.0/doc/source/user/using.rst
--- old/pbr-5.6.0/doc/source/user/using.rst 2021-04-26 17:18:18.000000000 +0200
+++ new/pbr-5.7.0/doc/source/user/using.rst 2021-11-04 10:25:43.000000000 +0100
@@ -34,6 +34,18 @@
While one can pass any arguments supported by setuptools to ``setup()``,
any conflicting arguments supplied in ``setup.cfg`` will take precedence.
+``pyproject.toml``
+------------------
+
+As an alternative to writing a ``setup.py`` you can instead setup PBR
+through the PEP 517 build-system configuration in ``pyproject.toml``.
+Your build-system block in ``pyproject.toml`` will need to look something
+like this::
+
+ [build-system]
+ requires = ["pbr>=5.7.0", "setuptools>=36.6.0", "wheel"]
+ build-backend = "pbr.build"
+
.. _setup_cfg:
``setup.cfg``
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/pbr/build.py new/pbr-5.7.0/pbr/build.py
--- old/pbr-5.6.0/pbr/build.py 1970-01-01 01:00:00.000000000 +0100
+++ new/pbr-5.7.0/pbr/build.py 2021-11-04 10:25:43.000000000 +0100
@@ -0,0 +1,61 @@
+# Copyright 2021 Monty Taylor
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""pep-517 support
+
+Add::
+
+ [build-system]
+ requires = ["pbr>=5.7.0", "setuptools>=36.6.0", "wheel"]
+ build-backend = "pbr.build"
+
+to pyproject.toml to use this
+"""
+
+from setuptools import build_meta
+
+__all__ = [
+ 'get_requires_for_build_sdist',
+ 'get_requires_for_build_wheel',
+ 'prepare_metadata_for_build_wheel',
+ 'build_wheel',
+ 'build_sdist',
+]
+
+
+def get_requires_for_build_wheel(config_settings=None):
+ return build_meta.get_requires_for_build_wheel(config_settings)
+
+
+def get_requires_for_build_sdist(config_settings=None):
+ return build_meta.get_requires_for_build_sdist(config_settings)
+
+
+def prepare_metadata_for_build_wheel(metadata_directory, config_settings=None):
+ return build_meta.prepare_metadata_for_build_wheel(
+ metadata_directory, config_settings)
+
+
+def build_wheel(
+ wheel_directory,
+ config_settings=None,
+ metadata_directory=None,
+):
+ return build_meta.build_wheel(
+ wheel_directory, config_settings, metadata_directory,
+ )
+
+
+def build_sdist(sdist_directory, config_settings=None):
+ return build_meta.build_sdist(sdist_directory, config_settings)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/pbr/tests/test_packaging.py new/pbr-5.7.0/pbr/tests/test_packaging.py
--- old/pbr-5.6.0/pbr/tests/test_packaging.py 2021-04-26 17:18:18.000000000 +0200
+++ new/pbr-5.7.0/pbr/tests/test_packaging.py 2021-11-04 10:25:43.000000000 +0100
@@ -172,11 +172,10 @@
"""
self._reason = reason
if modules == ():
- pbr = 'file://%s#egg=pbr' % PBR_ROOT
- modules = ['pip', 'wheel', pbr]
+ modules = ['pip', 'wheel', 'build', PBR_ROOT]
self.modules = modules
if pip_cmd is None:
- self.pip_cmd = ['-m', 'pip', 'install']
+ self.pip_cmd = ['-m', 'pip', '-v', 'install']
else:
self.pip_cmd = pip_cmd
@@ -230,6 +229,9 @@
self.packages = packages
def _writeFile(self, directory, file_name, contents):
+ if not contents:
+ # We want to be able to override not having files
+ return
path = os.path.abspath(os.path.join(directory, file_name))
path_dir = os.path.dirname(path)
if not os.path.exists(path_dir):
@@ -920,6 +922,56 @@
self.assertEqual(exp_parsed, gen_parsed)
+class TestPEP517Support(base.BaseTestCase):
+ def test_pep_517_support(self):
+ pkgs = {
+ 'test_pep517':
+ {
+ 'requirements.txt': textwrap.dedent("""\
+ sphinx
+ iso8601
+ """),
+ # Override no setup.py.
+ 'setup.py': '',
+ 'setup.cfg': textwrap.dedent("""\
+ [metadata]
+ name = test_pep517
+ summary = A tiny test project
+ author = PBR Team
+ author-email = foo(a)example.com
+ home-page = https://example.com/
+ classifier =
+ Intended Audience :: Information Technology
+ Intended Audience :: System Administrators
+ License :: OSI Approved :: Apache Software License
+ Operating System :: POSIX :: Linux
+ Programming Language :: Python
+ Programming Language :: Python :: 2
+ Programming Language :: Python :: 2.7
+ Programming Language :: Python :: 3
+ Programming Language :: Python :: 3.6
+ Programming Language :: Python :: 3.7
+ Programming Language :: Python :: 3.8
+ """),
+ 'pyproject.toml': textwrap.dedent("""\
+ [build-system]
+ requires = ["pbr", "setuptools>=36.6.0", "wheel"]
+ build-backend = "pbr.build"
+ """)},
+ }
+ pkg_dirs = self.useFixture(CreatePackages(pkgs)).package_dirs
+ pkg_dir = pkg_dirs['test_pep517']
+ venv = self.useFixture(Venv('PEP517'))
+
+ # Test building sdists and wheels works. Note we do not use pip here
+ # because pip will forcefully install the latest version of PBR on
+ # pypi to satisfy the build-system requires. This means we can't self
+ # test changes using pip. Build with --no-isolation appears to avoid
+ # this problem.
+ self._run_cmd(venv.python, ('-m', 'build', '--no-isolation', '.'),
+ allow_fail=False, cwd=pkg_dir)
+
+
class TestRepositoryURLDependencies(base.BaseTestCase):
def setUp(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/pbr/util.py new/pbr-5.7.0/pbr/util.py
--- old/pbr-5.6.0/pbr/util.py 2021-04-26 17:18:18.000000000 +0200
+++ new/pbr-5.7.0/pbr/util.py 2021-11-04 10:25:43.000000000 +0100
@@ -88,10 +88,8 @@
# predicates in ()
_VERSION_SPEC_RE = re.compile(r'\s*(.*?)\s*\((.*)\)\s*$')
-
-# Mappings from setup() keyword arguments to setup.cfg options;
-# The values are (section, option) tuples, or simply (section,) tuples if
-# the option has the same name as the setup() argument
+# Mappings from setup.cfg options, in (section, option) form, to setup()
+# keyword arguments
CFG_TO_PY_SETUP_ARGS = (
(('metadata', 'name'), 'name'),
(('metadata', 'version'), 'version'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/pbr.egg-info/PKG-INFO new/pbr-5.7.0/pbr.egg-info/PKG-INFO
--- old/pbr-5.6.0/pbr.egg-info/PKG-INFO 2021-04-26 17:18:50.000000000 +0200
+++ new/pbr-5.7.0/pbr.egg-info/PKG-INFO 2021-11-04 10:26:18.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pbr
-Version: 5.6.0
+Version: 5.7.0
Summary: Python Build Reasonableness
Home-page: https://docs.openstack.org/pbr/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/pbr.egg-info/SOURCES.txt new/pbr-5.7.0/pbr.egg-info/SOURCES.txt
--- old/pbr-5.6.0/pbr.egg-info/SOURCES.txt 2021-04-26 17:18:50.000000000 +0200
+++ new/pbr-5.7.0/pbr.egg-info/SOURCES.txt 2021-11-04 10:26:18.000000000 +0100
@@ -8,6 +8,7 @@
ChangeLog
LICENSE
README.rst
+pyproject.toml.future
setup.cfg
setup.py
test-requirements.txt
@@ -26,6 +27,7 @@
doc/source/user/semver.rst
doc/source/user/using.rst
pbr/__init__.py
+pbr/build.py
pbr/builddoc.py
pbr/core.py
pbr/extra_files.py
@@ -102,6 +104,7 @@
releasenotes/notes/fix-mapping-value-explode-with-equal-sign-41bf822fa4dd0e68.yaml
releasenotes/notes/ignore-find-links-07cf54f465aa33a6.yaml
releasenotes/notes/long-descr-content-type-f9a1003acbb8740f.yaml
+releasenotes/notes/pep517-support-89189ce0bab15845.yaml
releasenotes/notes/remove-command-hooks-907d9c2325f306ca.yaml
releasenotes/notes/support-vcs-uris-with-subdirectories-20ad68b6138f72ca.yaml
releasenotes/notes/use_2to3-removal-ac48bf9fbfa049b1.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/pyproject.toml.future new/pbr-5.7.0/pyproject.toml.future
--- old/pbr-5.6.0/pyproject.toml.future 1970-01-01 01:00:00.000000000 +0100
+++ new/pbr-5.7.0/pyproject.toml.future 2021-11-04 10:25:43.000000000 +0100
@@ -0,0 +1,9 @@
+# PBR doesn't use the pyproject.toml interface internally yet as
+# fixing issues in the system will be difficult if PBR itself
+# depends on it. We will put this file into place at pyproject.toml
+# once we are more confident it works generally.
+
+[build-system]
+requires = ["setuptools>=36.6.0", "wheel"]
+build-backend = "pbr.build"
+backend-path = ["."]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pbr-5.6.0/releasenotes/notes/pep517-support-89189ce0bab15845.yaml new/pbr-5.7.0/releasenotes/notes/pep517-support-89189ce0bab15845.yaml
--- old/pbr-5.6.0/releasenotes/notes/pep517-support-89189ce0bab15845.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/pbr-5.7.0/releasenotes/notes/pep517-support-89189ce0bab15845.yaml 2021-11-04 10:25:43.000000000 +0100
@@ -0,0 +1,7 @@
+---
+features:
+ - |
+ PBR now includes a PEP 517 build-backend and can be used in
+ pyproject.toml build-system configuration. Setuptools continues
+ to be the underlying mechanism with PBR acting as a driver via
+ PEP 517 entrypoints.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-oci-sdk for openSUSE:Factory checked in at 2021-11-30 23:16:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oci-sdk (Old)
and /work/SRC/openSUSE:Factory/.python-oci-sdk.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oci-sdk"
Tue Nov 30 23:16:01 2021 rev:20 rq:934621 version:2.51.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oci-sdk/python-oci-sdk.changes 2021-10-27 22:21:39.267212462 +0200
+++ /work/SRC/openSUSE:Factory/.python-oci-sdk.new.31177/python-oci-sdk.changes 2021-12-02 02:23:45.676920108 +0100
@@ -1,0 +2,68 @@
+Mon Nov 29 12:50:57 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to version 2.51.0
+ * Support for getting subnet topology in the Networking service
+ * Support for encrypted FastConnect resources in the Networking service
+ * Support for performance and high availability, as well as recommendation
+ metrics, in the Optimizer service
+ * Support for optional TDE wallet passwords in the Database service
+ * Support for Object Storage service integration in the Big Data service
+ * Support for circuit breakers enabled by default in all services except
+ Streaming and Compute
+ * Support for retries enabled by default in all operations of the Functions
+ and Roving Edge services, and in some operations of the Streaming service.
+- from version 2.50.0
+ * Support for drill down metadata in the Management Dashboard service
+ * Support for operator access control on dedicated autonomous databases
+ in the Operator Access Control service
+ * Property `resource_type` and `is_enforced_always` from model
+ `CreateOperatorControlAssignmentDetails` changed from optional
+ to required in the Operator Access Control service
+ * Property `operator_control_name`, `approver_groups_list` and
+ `is_fully_pre_approved` from model `UpdateOperatorControlDetails`
+ changed from optional to required in the Operator Access Control
+ service
+ * Property `is_enforced_always` from model `UpdateOperatorControlAssignmentDetails`
+ changed from optional to required in the Operator Access Control service
+ * Property `approver_groups_list` and `is_fully_pre_approved` from model
+ `CreateOperatorControlDetails` changed from optional to required in the
+ Operator Access Control service
+ * Data type for response of operation `create_operator_control_assignment`
+ changed to `oci.operator_access_control.models.OperatorControlAssignment`
+ in the Operator Access Control service
+- from version 2.49.1
+ * Support for the Database Tools service
+ * Support for scan listener port TCP and TCP SSL on cloud VM clusters
+ in the Database service
+ * Support for domains in the Identity service
+ * Support for redeemable users and support rewards in the Usage service
+ * Support for calling Oracle Cloud Infrastructure services in the
+ ap-singapore-1 and eu-marseille-1 regions
+ * Endpoint for Identity service changed to include `.oci` subdomain
+- from version 2.49.0
+ * Support for the Source Code Management service
+ * Support for the Build service
+ * Support for the Certificates service
+ * Support to create child tenancies in an organization and manage
+ subscriptions in the Organizations service
+ * Support for Certificates service integration in the Load Balancing service
+ * Support for creating hosts in specific availability domains in the
+ VMWare Solution service
+ * Support for user-defined functions and libraries, as well as scheduling
+ and orchestration, in the Data Integration service
+ * Support for EM-managed Exadatas and EM-managed hosts in the Operations
+ Insights service
+ * Models `ComputeInstanceGroupBlueGreenDeployStageExecutionProgress`,
+ `ComputeInstanceGroupBlueGreenTrafficShiftDeployStageExecutionProgress`,
+ `ComputeInstanceGroupCanaryApprovalDeployStageExecutionProgress`,
+ `ComputeInstanceGroupCanaryDeployStageExecutionProgress`,
+ `ComputeInstanceGroupCanaryTrafficShiftDeployStageExecutionProgress`,
+ `RunPipelineDeployStageExecutionProgress`and
+ `RunValidationTestOnComputeInstanceDeployStageExecutionProgress`
+ were removed from the DevOps service.
+- Refresh patches for new version
+ * ops_relax-python-depends.patch
+- Relax version requirements in BuildRequires and Requires for
+ python-crypography, python-pyOpenSSL and python-configparser
+
+-------------------------------------------------------------------
Old:
----
oci-python-sdk-2.48.0.tar.gz
New:
----
oci-python-sdk-2.51.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oci-sdk.spec ++++++
--- /var/tmp/diff_new_pack.2oiKRX/_old 2021-12-02 02:23:46.100918628 +0100
+++ /var/tmp/diff_new_pack.2oiKRX/_new 2021-12-02 02:23:46.104918615 +0100
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-oci-sdk
-Version: 2.48.0
+Version: 2.51.0
Release: 0
Summary: Oracle Cloud Infrastructure Python SDK
License: Apache-2.0 OR UPL-1.0
@@ -35,9 +35,9 @@
Requires: python-PyJWT
Requires: python-certifi
Requires: python-circuitbreaker >= 1.3.1
-Requires: python-cryptography >= 3.2.1
+Requires: python-cryptography
Requires: python-httpsig_cffi
-Requires: python-pyOpenSSL >= 19.1.0
+Requires: python-pyOpenSSL >= 17.5.0
Requires: python-python-dateutil < 3.0.0
Requires: python-python-dateutil >= 2.5.3
Requires: python-pytz >= 2016.10
@@ -48,9 +48,9 @@
BuildRequires: %{python_module PyJWT}
BuildRequires: %{python_module certifi}
BuildRequires: %{python_module circuitbreaker >= 1.3.1}
-BuildRequires: %{python_module cryptography >= 3.2.1}
+BuildRequires: %{python_module cryptography}
BuildRequires: %{python_module httpsig_cffi}
-BuildRequires: %{python_module pyOpenSSL >= 19.1.0}
+BuildRequires: %{python_module pyOpenSSL >= 17.5.0}
BuildRequires: %{python_module pytest > 4.1.0}
BuildRequires: %{python_module python-dateutil < 3.0.0}
BuildRequires: %{python_module python-dateutil >= 2.5.3}
@@ -59,11 +59,11 @@
BuildRequires: %{python_module six}
BuildRequires: %{python_module vcrpy >= 2.0.1}
%if %{with python2}
-BuildRequires: python-configparser >= 4.0.2
+BuildRequires: python-configparser
%endif
# /SECTION
%ifpython2
-Requires: python-configparser >= 4.0.2
+Requires: python-configparser
%endif
%python_subpackages
++++++ oci-python-sdk-2.48.0.tar.gz -> oci-python-sdk-2.51.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-oci-sdk/oci-python-sdk-2.48.0.tar.gz /work/SRC/openSUSE:Factory/.python-oci-sdk.new.31177/oci-python-sdk-2.51.0.tar.gz differ: char 13, line 1
++++++ ops_relax-python-depends.patch ++++++
--- /var/tmp/diff_new_pack.2oiKRX/_old 2021-12-02 02:23:46.144918475 +0100
+++ /var/tmp/diff_new_pack.2oiKRX/_new 2021-12-02 02:23:46.144918475 +0100
@@ -1,11 +1,11 @@
-diff -Nru oci-python-sdk-2.48.0.orig/requirements.txt oci-python-sdk-2.48.0/requirements.txt
---- oci-python-sdk-2.48.0.orig/requirements.txt 2021-10-19 19:21:13.000000000 +0200
-+++ oci-python-sdk-2.48.0/requirements.txt 2021-10-26 11:39:11.847089373 +0200
-@@ -1,19 +1,18 @@
+diff -Nru oci-python-sdk-2.51.0.orig/requirements.txt oci-python-sdk-2.51.0/requirements.txt
+--- oci-python-sdk-2.51.0.orig/requirements.txt 2021-11-17 21:36:31.000000000 +0100
++++ oci-python-sdk-2.51.0/requirements.txt 2021-11-29 12:54:45.426784577 +0100
+@@ -1,20 +1,19 @@
-autodocsumm==0.1.11
+autodocsumm>=0.1.11
certifi
--configparser==4.0.2
+-configparser==4.0.2; python_version < '3'
-coverage==4.5.2
-cryptography>=3.2.1,<=3.4.7
-flake8==3.6.0
@@ -16,10 +16,10 @@
-attrs==19.1.0
-python-dateutil>=2.5.3,<=2.7.3
+coverage>=4.5.2
-+cryptography>=3.2.1
++cryptography
+flake8>=3.6.0
+mock>=2.0.0
-+pyOpenSSL>=19.1.0
++pyOpenSSL>=17.5.0
+pytest>=4.1.0
+pytest-cov>=2.6.1
+attrs>=19.1.0
@@ -31,6 +31,7 @@
-vcrpy==2.0.1
-wheel==0.32.3
-circuitbreaker>=1.3.1,<2.0.0
+-docutils<0.18
\ No newline at end of file
+sphinx-rtd-theme>=0.4.2
+sphinx>=1.8.3
@@ -38,9 +39,10 @@
+vcrpy>=2.0.1
+wheel>=0.32.3
+circuitbreaker>=1.3.1
-diff -Nru oci-python-sdk-2.48.0.orig/setup.py oci-python-sdk-2.48.0/setup.py
---- oci-python-sdk-2.48.0.orig/setup.py 2021-10-19 19:21:13.000000000 +0200
-+++ oci-python-sdk-2.48.0/setup.py 2021-10-26 11:39:52.287354894 +0200
++docutils<0.18
+diff -Nru oci-python-sdk-2.51.0.orig/setup.py oci-python-sdk-2.51.0/setup.py
+--- oci-python-sdk-2.51.0.orig/setup.py 2021-11-17 21:36:31.000000000 +0100
++++ oci-python-sdk-2.51.0/setup.py 2021-11-29 12:55:20.295141554 +0100
@@ -31,12 +31,11 @@
requires = [
@@ -49,7 +51,7 @@
- "cryptography>=3.2.1,<=3.4.7",
- "pyOpenSSL>=17.5.0,<=19.1.0",
- "python-dateutil>=2.5.3,<3.0.0",
-+ "cryptography>=3.2.1",
++ "cryptography",
+ "pyOpenSSL>=17.5.0",
+ "python-dateutil>=2.5.3",
"pytz>=2016.10",
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-neutronclient for openSUSE:Factory checked in at 2021-12-01 20:47:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-neutronclient (Old)
and /work/SRC/openSUSE:Factory/.python-neutronclient.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-neutronclient"
Wed Dec 1 20:47:37 2021 rev:27 rq:935034 version:7.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-neutronclient/python-neutronclient.changes 2021-05-10 15:39:42.817482335 +0200
+++ /work/SRC/openSUSE:Factory/.python-neutronclient.new.31177/python-neutronclient.changes 2021-12-02 02:23:42.252932052 +0100
@@ -1,0 +2,19 @@
+Tue Oct 26 21:30:23 UTC 2021 - cloud-devel(a)suse.de
+
+- update to version 7.6.0
+ - Fix lower constraints
+ - Add Python3 xena unit tests
+ - Update master for stable/wallaby
+ - Ussuri+ is python3 only and update python to python3
+ - Replace getargspec with getfullargspec
+ - setup.cfg: Replace dashes with underscores
+ - Support passing mTLS certificate/key to HTTPClient
+ - Changed minversion in tox to 3.18.0
+ - Set ML2/OVS backend explicitly for functional job
+ - Skip metering functional tests when metering extension is not enabled
+ - Use yaml.safe_load instead of yaml.load
+ - Add a release note on deprecation for removal of neutron CLI
+ - tests: change safe_hasattr to hasattr
+ - Set when deprecated neutron client CLI will be removed
+
+-------------------------------------------------------------------
Old:
----
python-neutronclient-7.3.0.tar.gz
New:
----
python-neutronclient-7.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-neutronclient.spec ++++++
--- /var/tmp/diff_new_pack.w2OV78/_old 2021-12-02 02:23:42.652930657 +0100
+++ /var/tmp/diff_new_pack.w2OV78/_new 2021-12-02 02:23:42.652930657 +0100
@@ -17,13 +17,13 @@
Name: python-neutronclient
-Version: 7.3.0
+Version: 7.6.0
Release: 0
Summary: Python API and CLI for OpenStack Neutron
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.openstack.org/python-neutronclient
-Source0: https://files.pythonhosted.org/packages/source/p/python-neutronclient/pytho…
+Source0: https://files.pythonhosted.org/packages/source/p/python-neutronclient/pytho…
BuildRequires: openstack-macros
BuildRequires: python3-cliff >= 3.4.0
BuildRequires: python3-fixtures
@@ -97,8 +97,8 @@
%{py3_build}
# Build HTML docs and man page
-PBR_VERSION=7.3.0 %sphinx_build -b html doc/source doc/build/html
-PBR_VERSION=7.3.0 %sphinx_build -b man doc/source doc/build/man
+PBR_VERSION=7.6.0 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=7.6.0 %sphinx_build -b man doc/source doc/build/man
rm -r doc/build/html/.{doctrees,buildinfo}
%install
++++++ _service ++++++
--- /var/tmp/diff_new_pack.w2OV78/_old 2021-12-02 02:23:42.680930559 +0100
+++ /var/tmp/diff_new_pack.w2OV78/_new 2021-12-02 02:23:42.680930559 +0100
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/wallaby/opens…</param>
+ <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/master/openstack/python-neu…</param>
<param name="output-name">python-neutronclient.spec</param>
- <param name="requirements">https://opendev.org/openstack/python-neutronclient/raw/branch/stable/wallab…</param>
+ <param name="requirements">https://opendev.org/openstack/python-neutronclient/raw/branch/stable/xena/r…</param>
<param name="changelog-email">cloud-devel(a)suse.de</param>
<param name="changelog-provider">gh,openstack,python-neutronclient</param>
</service>
++++++ python-neutronclient-7.3.0.tar.gz -> python-neutronclient-7.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/.zuul.yaml new/python-neutronclient-7.6.0/.zuul.yaml
--- old/python-neutronclient-7.3.0/.zuul.yaml 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/.zuul.yaml 2021-09-03 12:35:59.000000000 +0200
@@ -2,7 +2,7 @@
templates:
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- - openstack-python3-wallaby-jobs
+ - openstack-python3-xena-jobs
- publish-openstack-docs-pti
- check-requirements
- lib-forward-testing-python3
@@ -38,9 +38,31 @@
# NOTE: neutronclient.tests.functional.base.ClientTestBase does not
# support HTTPS endpoints now, so tls-proxy needs to be disabled.
tls-proxy: false
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Neutron services
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ neutron-network-segment-range: true
+ neutron-segments: true
+ q-metering: true
+ q-qos: true
+ neutron-tag-ports-during-bulk-creation: true
+ neutron-conntrack-helper: true
devstack_localrc:
USE_PYTHON3: true
LIBS_FROM_GIT: python-neutronclient
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
devstack_plugins:
neutron-vpnaas: https://opendev.org/openstack/neutron-vpnaas
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/AUTHORS new/python-neutronclient-7.6.0/AUTHORS
--- old/python-neutronclient-7.3.0/AUTHORS 2021-01-18 22:57:58.000000000 +0100
+++ new/python-neutronclient-7.6.0/AUTHORS 2021-09-03 12:36:33.000000000 +0200
@@ -77,6 +77,7 @@
Drew Thorstensen <thorst(a)us.ibm.com>
Duan Jiong <jduan(a)fiberhome.com>
Elena Ezhova <eezhova(a)mirantis.com>
+Elod Illes <elod.illes(a)est.tech>
Eugene Nikanorov <enikanorov(a)mirantis.com>
Evgeny Fedoruk <evgenyf(a)radware.com>
Fei Long Wang <flwang(a)catalyst.net.nz>
@@ -208,6 +209,7 @@
Sean Winn <sean.winn(a)cloudscaling.com>
Sergio Cazzolato <sergio.j.cazzolato(a)intel.com>
Shih-Hao Li <shihli(a)vmware.com>
+Slawek Kaplonski <skaplons(a)redhat.com>
SongmingYan <yan.songming(a)zte.com.cn>
Sourabh Patwardhan <sopatwar(a)cisco.com>
Sridhar Gaddam <sgaddam(a)redhat.com>
@@ -225,6 +227,7 @@
Swapnil Kulkarni (coolsvap) <me(a)coolsvap.net>
Sylvain Afchain <sylvain.afchain(a)enovance.com>
S��awek Kap��o��ski <slawek(a)kaplonski.pl>
+Takashi Kajinami <tkajinam(a)redhat.com>
Takashi NATSUME <natsume.takashi(a)lab.ntt.co.jp>
Tang Chen <tangchen(a)cn.fujitsu.com>
Tatyana Leontovich <tleontov(a)yahoo-inc.com>
@@ -272,6 +275,7 @@
cshahani <chirag.shahani(a)gmail.com>
da52700 <li.jingjing3(a)zte.com.cn>
dekehn <dekehn(a)gmail.com>
+dengzhaosen <dengzhaosen(a)inspur.com>
dongwenshuai <dong.wenshuai(a)zte.com.cn>
elajkat <lajos.katona(a)est.tech>
gaofei <gao.fei(a)inspur.com>
@@ -321,6 +325,7 @@
shihanzhang <shihanzhang(a)huawei.com>
shreeduth-awasthi <shreeduth.awasthi(a)tcs.com>
shu-mutou <shu-mutou(a)rf.jp.nec.com>
+sri harsha mekala <smekala(a)oath.com>
sridhargaddam <sridhar.gaddam(a)enovance.com>
sthakkar <sthakkar(a)vmware.com>
sunjia <sunjia(a)inspur.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/ChangeLog new/python-neutronclient-7.6.0/ChangeLog
--- old/python-neutronclient-7.3.0/ChangeLog 2021-01-18 22:57:58.000000000 +0100
+++ new/python-neutronclient-7.6.0/ChangeLog 2021-09-03 12:36:33.000000000 +0200
@@ -1,6 +1,32 @@
CHANGES
=======
+7.6.0
+-----
+
+* Use yaml.safe\_load instead of yaml.load
+* Set ML2/OVS backend explicitly for functional job
+* tests: change safe\_hasattr to hasattr
+* Ussuri+ is python3 only and update python to python3
+
+7.5.0
+-----
+
+* Add a release note on deprecation for removal of neutron CLI
+* Changed minversion in tox to 3.18.0
+* Set when deprecated neutron client CLI will be removed
+* Skip metering functional tests when metering extension is not enabled
+
+7.4.0
+-----
+
+* setup.cfg: Replace dashes with underscores
+* Replace getargspec with getfullargspec
+* Fix lower constraints
+* Add Python3 xena unit tests
+* Update master for stable/wallaby
+* Support passing mTLS certificate/key to HTTPClient
+
7.3.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/PKG-INFO new/python-neutronclient-7.6.0/PKG-INFO
--- old/python-neutronclient-7.3.0/PKG-INFO 2021-01-18 22:57:58.686411600 +0100
+++ new/python-neutronclient-7.6.0/PKG-INFO 2021-09-03 12:36:33.386690100 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-neutronclient
-Version: 7.3.0
+Version: 7.6.0
Summary: CLI and Client Library for OpenStack Networking
Home-page: https://docs.openstack.org/python-neutronclient/latest/
Author: OpenStack Networking Project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/doc/source/contributor/transition_to_osc.rst new/python-neutronclient-7.6.0/doc/source/contributor/transition_to_osc.rst
--- old/python-neutronclient-7.3.0/doc/source/contributor/transition_to_osc.rst 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/doc/source/contributor/transition_to_osc.rst 2021-09-03 12:35:59.000000000 +0200
@@ -91,17 +91,17 @@
* **Done** `Security Group Rule CRUD <https://bugs.launchpad.net/python-openstackclient/+bug/1519512>`_
-6. **In Progress:** OSC continues enhancing its networking support.
+6. **Done** OSC continues enhancing its networking support.
At this point and when applicable, enhancements to the ``neutron``
CLI must also be made to the ``openstack`` CLI and possibly the
OpenStack Python SDK. Users of the neutron client's command extensions
should start their transition to the OSC plugin system. See the
developer guide section below for more information on this step.
-7. **In Progress:** Deprecate the ``neutron`` CLI. Running the CLI after
+7. **Done** Deprecate the ``neutron`` CLI. Running the CLI after
it has been `deprecated <https://review.opendev.org/#/c/393903/>`_
will issue a warning message:
- ``neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.``
+ ``neutron CLI is deprecated and will be removed in the Z cycle. Use openstack CLI instead.``
In addition, no new features will be added to the CLI, though fixes to
the CLI will be assessed on a case by case basis.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/lower-constraints.txt new/python-neutronclient-7.6.0/lower-constraints.txt
--- old/python-neutronclient-7.3.0/lower-constraints.txt 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/lower-constraints.txt 2021-09-03 12:35:59.000000000 +0200
@@ -14,18 +14,18 @@
decorator==3.4.0
deprecation==1.0
docutils==0.11
-dogpile.cache==0.6.2
+dogpile.cache==0.6.5
dulwich==0.15.0
eventlet==0.18.2
extras==1.0.0
fasteners==0.7.0
fixtures==3.0.0
flake8-import-order==0.12
-flake8==2.5.5
+flake8==3.6.0
future==0.16.0
futurist==1.2.0
greenlet==0.4.10
-hacking==1.1.0
+hacking==3.0.1
idna==2.6
imagesize==0.7.1
iso8601==0.1.11
@@ -34,21 +34,21 @@
jsonpatch==1.16
jsonpointer==1.13
jsonschema==2.6.0
-keystoneauth1==3.4.0
+keystoneauth1==3.8.0
kombu==4.0.0
linecache2==1.0.0
MarkupSafe==1.0
-mccabe==0.2.1
+mccabe==0.6.0
monotonic==0.6
msgpack-python==0.4.0
munch==2.1.0
netaddr==0.7.18
netifaces==0.10.4
-openstacksdk==0.11.2
+openstacksdk==0.15.0
os-client-config==1.28.0
os-service-types==1.2.0
osc-lib==1.12.0
-oslo.concurrency==3.25.0
+oslo.concurrency==3.26.0
oslo.config==5.2.0
oslo.context==2.19.2
oslo.i18n==3.15.3
@@ -69,9 +69,9 @@
positional==1.2.1
prettytable==0.7.2
pyasn1==0.1.8
-pycodestyle==2.3.1
+pycodestyle==2.4.0
pycparser==2.18
-pyflakes==0.8.1
+pyflakes==2.0.0
Pygments==2.2.0
pyinotify==0.9.6
pyOpenSSL==17.1.0
@@ -86,7 +86,7 @@
python-openstackclient==3.12.0
python-subunit==1.0.0
pytz==2013.6
-PyYAML==3.13
+PyYAML==5.3.1
repoze.lru==0.7
requests-mock==1.2.0
requests==2.14.2
@@ -97,7 +97,7 @@
snowballstemmer==1.2.1
statsd==3.2.1
stestr==2.0.0
-stevedore==1.20.0
+stevedore==2.0.1
tempest==17.1.0
tenacity==3.2.1
testscenarios==0.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/client.py new/python-neutronclient-7.6.0/neutronclient/client.py
--- old/python-neutronclient-7.3.0/neutronclient/client.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/client.py 2021-09-03 12:35:59.000000000 +0200
@@ -61,9 +61,9 @@
token=None, region_name=None, timeout=None,
endpoint_url=None, insecure=False,
endpoint_type='publicURL',
- auth_strategy='keystone', ca_cert=None, log_credentials=False,
- service_type='network', global_request_id=None,
- **kwargs):
+ auth_strategy='keystone', ca_cert=None, cert=None,
+ log_credentials=False, service_type='network',
+ global_request_id=None, **kwargs):
self.username = username
self.user_id = user_id
@@ -82,6 +82,7 @@
self.auth_strategy = auth_strategy
self.log_credentials = log_credentials
self.global_request_id = global_request_id
+ self.cert = cert
if insecure:
self.verify_cert = False
else:
@@ -167,6 +168,7 @@
data=body,
headers=headers,
verify=self.verify_cert,
+ cert=self.cert,
timeout=self.timeout,
**kwargs)
@@ -399,6 +401,7 @@
log_credentials=None,
auth_strategy='keystone',
ca_cert=None,
+ cert=None,
service_type='network',
session=None,
global_request_id=None,
@@ -430,6 +433,7 @@
endpoint_type=endpoint_type,
service_type=service_type,
ca_cert=ca_cert,
+ cert=cert,
log_credentials=log_credentials,
auth_strategy=auth_strategy,
global_request_id=global_request_id)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/shell.py new/python-neutronclient-7.6.0/neutronclient/shell.py
--- old/python-neutronclient-7.3.0/neutronclient/shell.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/shell.py 2021-09-03 12:35:59.000000000 +0200
@@ -637,7 +637,7 @@
def main(argv=sys.argv[1:]):
try:
print(_("neutron CLI is deprecated and will be removed "
- "in the future. Use openstack CLI instead."), file=sys.stderr)
+ "in the Z cycle. Use openstack CLI instead."), file=sys.stderr)
return NeutronShell(NEUTRON_API_VERSION).run(
list(map(encodeutils.safe_decode, argv)))
except KeyboardInterrupt:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/functional/core/test_cli_formatter.py new/python-neutronclient-7.6.0/neutronclient/tests/functional/core/test_cli_formatter.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/functional/core/test_cli_formatter.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/functional/core/test_cli_formatter.py 2021-09-03 12:35:59.000000000 +0200
@@ -43,7 +43,7 @@
result = self._create_net('yaml', ['name', 'admin_state_up'])
self.assertDictEqual({'name': self.net_name,
'admin_state_up': True},
- yaml.load(result))
+ yaml.safe_load(result))
def test_net_create_with_value_formatter(self):
# NOTE(amotoki): In 'value' formatter, there is no guarantee
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/functional/core/test_readonly_neutron.py new/python-neutronclient-7.6.0/neutronclient/tests/functional/core/test_readonly_neutron.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/functional/core/test_readonly_neutron.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/functional/core/test_readonly_neutron.py 2021-09-03 12:35:59.000000000 +0200
@@ -64,9 +64,13 @@
self.neutron('floatingip-list')
def test_neutron_meter_label_list(self):
+ if not self.is_extension_enabled('metering'):
+ self.skipTest('metering is not enabled')
self.neutron('meter-label-list')
def test_neutron_meter_label_rule_list(self):
+ if not self.is_extension_enabled('metering'):
+ self.skipTest('metering is not enabled')
self.neutron('meter-label-rule-list')
def test_neutron_net_external_list(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_cli20.py new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_cli20.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_cli20.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_cli20.py 2021-09-03 12:35:59.000000000 +0200
@@ -1159,7 +1159,7 @@
def test_create_resource_yaml(self):
self._test_create_resource_with_formatter('yaml')
- data = yaml.load(self.fake_stdout.make_string())
+ data = yaml.safe_load(self.fake_stdout.make_string())
self.assertEqual('myname', data['name'])
self.assertEqual('myid', data['id'])
@@ -1184,7 +1184,7 @@
def test_show_resource_yaml(self):
self._test_show_resource_with_formatter('yaml')
- data = yaml.load(''.join(self.fake_stdout.content))
+ data = yaml.safe_load(''.join(self.fake_stdout.content))
self.assertEqual('myname', data['name'])
self.assertEqual('myid', data['id'])
@@ -1211,5 +1211,5 @@
def test_list_resources_yaml(self):
self._test_list_resources_with_formatter('yaml')
- data = yaml.load(''.join(self.fake_stdout.content))
+ data = yaml.safe_load(''.join(self.fake_stdout.content))
self.assertEqual(['myid1', 'myid2'], [d['id'] for d in data])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_cli20_floatingips.py new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_cli20_floatingips.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_cli20_floatingips.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_cli20_floatingips.py 2021-09-03 12:35:59.000000000 +0200
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# Copyright 2012 Red Hat
# All Rights Reserved.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_cli20_securitygroup.py new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_cli20_securitygroup.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_cli20_securitygroup.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_cli20_securitygroup.py 2021-09-03 12:35:59.000000000 +0200
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# Copyright 2012 Red Hat
# All Rights Reserved.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_client_extension.py new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_client_extension.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_client_extension.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_client_extension.py 2021-09-03 12:35:59.000000000 +0200
@@ -217,5 +217,5 @@
self.client.delete_parents_child,
self.client.create_parents_child)
for method in methods:
- argspec = inspect.getargspec(method)
+ argspec = inspect.getfullargspec(method)
self.assertIn("parent_id", argspec.args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_command_meta.py new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_command_meta.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_command_meta.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_command_meta.py 2021-09-03 12:35:59.000000000 +0200
@@ -20,7 +20,6 @@
import logging
import testtools
-from testtools import helpers
from neutronclient.neutron import v2_0 as neutronV20
@@ -30,7 +29,7 @@
class FakeCommand(neutronV20.NeutronCommand):
pass
- self.assertTrue(helpers.safe_hasattr(FakeCommand, 'log'))
+ self.assertTrue(hasattr(FakeCommand, 'log'))
self.assertIsInstance(FakeCommand.log, logging.getLoggerClass())
self.assertEqual(__name__ + ".FakeCommand", FakeCommand.log.name)
@@ -38,5 +37,5 @@
class FakeCommand(neutronV20.NeutronCommand):
log = None
- self.assertTrue(helpers.safe_hasattr(FakeCommand, 'log'))
+ self.assertTrue(hasattr(FakeCommand, 'log'))
self.assertIsNone(FakeCommand.log)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_quota.py new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_quota.py
--- old/python-neutronclient-7.3.0/neutronclient/tests/unit/test_quota.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/tests/unit/test_quota.py 2021-09-03 12:35:59.000000000 +0200
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# Copyright (C) 2013 Yahoo! Inc.
# All Rights Reserved.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/neutronclient/v2_0/client.py new/python-neutronclient-7.6.0/neutronclient/v2_0/client.py
--- old/python-neutronclient-7.3.0/neutronclient/v2_0/client.py 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/neutronclient/v2_0/client.py 2021-09-03 12:35:59.000000000 +0200
@@ -216,6 +216,10 @@
:param bool log_credentials: Allow for logging of passwords or not.
Defaults to False. (optional)
:param string ca_cert: SSL CA bundle file to use. (optional)
+ :param cert: A client certificate to pass to requests. These are of the
+ same form as requests expects. Either a single filename
+ containing both the certificate and key or a tuple containing
+ the path to the certificate then a path to the key. (optional)
:param integer retries: How many times idempotent (GET, PUT, DELETE)
requests to Neutron server should be retried if
they fail (default: 0).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/python_neutronclient.egg-info/PKG-INFO new/python-neutronclient-7.6.0/python_neutronclient.egg-info/PKG-INFO
--- old/python-neutronclient-7.3.0/python_neutronclient.egg-info/PKG-INFO 2021-01-18 22:57:58.000000000 +0100
+++ new/python-neutronclient-7.6.0/python_neutronclient.egg-info/PKG-INFO 2021-09-03 12:36:33.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: python-neutronclient
-Version: 7.3.0
+Version: 7.6.0
Summary: CLI and Client Library for OpenStack Networking
Home-page: https://docs.openstack.org/python-neutronclient/latest/
Author: OpenStack Networking Project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/python_neutronclient.egg-info/SOURCES.txt new/python-neutronclient-7.6.0/python_neutronclient.egg-info/SOURCES.txt
--- old/python-neutronclient-7.3.0/python_neutronclient.egg-info/SOURCES.txt 2021-01-18 22:57:58.000000000 +0100
+++ new/python-neutronclient-7.6.0/python_neutronclient.egg-info/SOURCES.txt 2021-09-03 12:36:33.000000000 +0200
@@ -338,6 +338,7 @@
releasenotes/notes/keystonev3-7f9ede9c21b30841.yaml
releasenotes/notes/log-request-id-64bef955b8292c18.yaml
releasenotes/notes/network-ip-availability-ac9a462f42fe9db4.yaml
+releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml
releasenotes/notes/osprofiler-support-9ba539761ae437e9.yaml
releasenotes/notes/port-bindings-c3f36bd76ece0a71.yaml
releasenotes/notes/qos_minimum_bandwidth-dc4adb23c51de30b.yaml
@@ -376,6 +377,7 @@
releasenotes/source/unreleased.rst
releasenotes/source/ussuri.rst
releasenotes/source/victoria.rst
+releasenotes/source/wallaby.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
tools/neutron.bash_completion
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/python_neutronclient.egg-info/pbr.json new/python-neutronclient-7.6.0/python_neutronclient.egg-info/pbr.json
--- old/python-neutronclient-7.3.0/python_neutronclient.egg-info/pbr.json 2021-01-18 22:57:58.000000000 +0100
+++ new/python-neutronclient-7.6.0/python_neutronclient.egg-info/pbr.json 2021-09-03 12:36:33.000000000 +0200
@@ -1 +1 @@
-{"git_version": "4963c7a", "is_release": true}
\ No newline at end of file
+{"git_version": "983f0ab", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/python_neutronclient.egg-info/requires.txt new/python-neutronclient-7.6.0/python_neutronclient.egg-info/requires.txt
--- old/python-neutronclient-7.3.0/python_neutronclient.egg-info/requires.txt 2021-01-18 22:57:58.000000000 +0100
+++ new/python-neutronclient-7.6.0/python_neutronclient.egg-info/requires.txt 2021-09-03 12:36:33.000000000 +0200
@@ -1,7 +1,7 @@
cliff>=3.4.0
debtcollector>=1.2.0
iso8601>=0.1.11
-keystoneauth1>=3.4.0
+keystoneauth1>=3.8.0
netaddr>=0.7.18
os-client-config>=1.28.0
osc-lib>=1.12.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml new/python-neutronclient-7.6.0/releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml
--- old/python-neutronclient-7.3.0/releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/python-neutronclient-7.6.0/releasenotes/notes/neutron-cli-deprecation-398823c87270a296.yaml 2021-09-03 12:35:59.000000000 +0200
@@ -0,0 +1,10 @@
+---
+deprecations:
+ - |
+ ``neutron`` CLI will be removed in 'Z' release.
+ While it has been marked as deprecated for removal for long,
+ all features in ``neutron`` CLI have been supported in ``openstack`` CLI
+ (OpenStackClient) as of Xena release and the neutron team plans to
+ remove it in 'Z' release. Consider using ``openstack`` CLI and
+ `Mapping Guide <https://docs.openstack.org/python-openstackclient/latest/cli/decoder.html#n…>`__
+ in the OSC documentation would help you.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/releasenotes/source/index.rst new/python-neutronclient-7.6.0/releasenotes/source/index.rst
--- old/python-neutronclient-7.3.0/releasenotes/source/index.rst 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/releasenotes/source/index.rst 2021-09-03 12:35:59.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ wallaby
victoria
ussuri
train
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/releasenotes/source/wallaby.rst new/python-neutronclient-7.6.0/releasenotes/source/wallaby.rst
--- old/python-neutronclient-7.3.0/releasenotes/source/wallaby.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/python-neutronclient-7.6.0/releasenotes/source/wallaby.rst 2021-09-03 12:35:59.000000000 +0200
@@ -0,0 +1,6 @@
+============================
+Wallaby Series Release Notes
+============================
+
+.. release-notes::
+ :branch: stable/wallaby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/requirements.txt new/python-neutronclient-7.6.0/requirements.txt
--- old/python-neutronclient-7.3.0/requirements.txt 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/requirements.txt 2021-09-03 12:35:59.000000000 +0200
@@ -12,7 +12,7 @@
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
os-client-config>=1.28.0 # Apache-2.0
-keystoneauth1>=3.4.0 # Apache-2.0
+keystoneauth1>=3.8.0 # Apache-2.0
# keystoneclient is used only by neutronclient.osc.utils
# TODO(amotoki): Drop this after osc.utils has no dependency on keystoneclient
python-keystoneclient>=3.8.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/setup.cfg new/python-neutronclient-7.6.0/setup.cfg
--- old/python-neutronclient-7.3.0/setup.cfg 2021-01-18 22:57:58.690411800 +0100
+++ new/python-neutronclient-7.6.0/setup.cfg 2021-09-03 12:36:33.386690100 +0200
@@ -1,12 +1,12 @@
[metadata]
name = python-neutronclient
summary = CLI and Client Library for OpenStack Networking
-description-file =
+description_file =
README.rst
author = OpenStack Networking Project
-author-email = openstack-discuss(a)lists.openstack.org
-home-page = https://docs.openstack.org/python-neutronclient/latest/
-python-requires = >=3.6
+author_email = openstack-discuss(a)lists.openstack.org
+home_page = https://docs.openstack.org/python-neutronclient/latest/
+python_requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-neutronclient-7.3.0/tox.ini new/python-neutronclient-7.6.0/tox.ini
--- old/python-neutronclient-7.3.0/tox.ini 2021-01-18 22:56:55.000000000 +0100
+++ new/python-neutronclient-7.6.0/tox.ini 2021-09-03 12:35:59.000000000 +0200
@@ -1,6 +1,6 @@
[tox]
envlist = py38,pep8
-minversion = 2.3.2
+minversion = 3.18.0
skipsdist = True
ignore_basepython_conflict = True
@@ -23,7 +23,7 @@
\( -type d -name '__pycache__' -o -type f -name '*.py[co]' \) \
-print0 | xargs -0 rm -rf"
stestr run {posargs}
-whitelist_externals = sh
+allowlist_externals = sh
[testenv:pep8]
commands =
@@ -59,7 +59,7 @@
[testenv:pdf-docs]
envdir = {toxworkdir}/docs
deps = {[testenv:docs]deps}
-whitelist_externals =
+allowlist_externals =
make
commands =
sphinx-build -W -b latex doc/source doc/build/pdf
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-libevdev for openSUSE:Factory checked in at 2021-12-01 20:46:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-libevdev (Old)
and /work/SRC/openSUSE:Factory/.python-libevdev.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-libevdev"
Wed Dec 1 20:46:55 2021 rev:2 rq:934578 version:0.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-libevdev/python-libevdev.changes 2021-11-23 22:12:29.362497133 +0100
+++ /work/SRC/openSUSE:Factory/.python-libevdev.new.31177/python-libevdev.changes 2021-12-02 02:23:30.288973788 +0100
@@ -1,0 +2,6 @@
+Mon Nov 22 14:59:29 UTC 2021 - Matej Cepl <mcepl(a)suse.com>
+
+- BuildRequires on a binary library package is a bad idea as well
+ as the required SOVER needs to be calculated.
+
+-------------------------------------------------------------------
@@ -5 +10,0 @@
-
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-libevdev.spec ++++++
--- /var/tmp/diff_new_pack.pdz3Zm/_old 2021-12-02 02:23:30.656972504 +0100
+++ /var/tmp/diff_new_pack.pdz3Zm/_new 2021-12-02 02:23:30.660972490 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package python-libevdev
+# spec file
#
# Copyright (c) 2021 SUSE LLC
#
@@ -19,7 +19,6 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
%global modname libevdev
-%define libevdev_sover 2
%define libevdev_reqver 1.6.0
Name: python-%{modname}
Version: 0.9
@@ -29,13 +28,14 @@
Group: Development/Libraries/Python
URL: https://python-libevdev.readthedocs.io/
Source0: https://gitlab.freedesktop.org/libevdev/%{name}/-/archive/%{version}/%{name…
-BuildArch: noarch
-BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module pytest}
-BuildRequires: python-rpm-macros
+BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
-BuildRequires: libevdev%{libevdev_sover} >= %{libevdev_reqver}
-Requires: libevdev%{libevdev_sover} >= %{libevdev_reqver}
+BuildRequires: libevdev-devel >= %{libevdev_reqver}
+BuildRequires: python-rpm-macros
+%define libmodule %(rpm -q --qf "%%{name}" -f $(readlink -f %{_libdir}/libevdev.so))
+Requires: %{libmodule} >= %{libevdev_reqver}
+BuildArch: noarch
%python_subpackages
%description
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-kiwi for openSUSE:Factory checked in at 2021-12-01 20:46:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old)
and /work/SRC/openSUSE:Factory/.python-kiwi.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kiwi"
Wed Dec 1 20:46:25 2021 rev:87 rq:934738 version:9.24.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2021-11-22 23:04:19.425903904 +0100
+++ /work/SRC/openSUSE:Factory/.python-kiwi.new.31177/python-kiwi.changes 2021-12-02 02:23:27.020985188 +0100
@@ -1,0 +2,90 @@
+Tue Nov 23 15:10:26 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Bump version: 9.24.9 ��� 9.24.10
+
+-------------------------------------------------------------------
+Tue Nov 23 10:43:10 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Added documentation about sharing backends
+
+ The kiwi boxbuild plugin supports several sharing
+ backends. Details about them and eventual pre-setup
+ steps prior use are mentioned in this document
+
+-------------------------------------------------------------------
+Tue Nov 23 10:11:07 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Fixed MicroOS build test
+
+ snapper default config has moved from /etc to /usr/share
+
+-------------------------------------------------------------------
+Mon Nov 22 22:27:44 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Bump version: 9.24.8 ��� 9.24.9
+
+-------------------------------------------------------------------
+Mon Nov 22 17:18:07 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Bump version: 9.24.7 ��� 9.24.8
+
+-------------------------------------------------------------------
+Mon Nov 22 17:15:47 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Added support for reading metalink in info module
+
+ For resolver operations through libsolv the 'kiwi image info'
+ module exists. So far it could not read the repos from
+ metalink repo definitions. This Fixes #1890
+
+-------------------------------------------------------------------
+Fri Nov 19 13:29:52 CET 2021 - David Cassany <dcassany(a)suse.com>
+
+- Force key attribute from signing element to be treated as a URI
+
+ Signed-off-by: David Cassany <dcassany(a)suse.com>
+
+-------------------------------------------------------------------
+Thu Nov 18 16:52:52 CET 2021 - David Cassany <dcassany(a)suse.com>
+
+- Pass signing keys from the XML to the repositories
+
+ This commits makes sure signing keys are passed to
+ repositories setup in build task.
+
+ Signed-off-by: David Cassany <dcassany(a)suse.com>
+
+-------------------------------------------------------------------
+Thu Nov 18 09:23:46 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Move static sle15 integration test to git
+
+-------------------------------------------------------------------
+Tue Nov 16 16:29:49 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Bump version: 9.24.6 ��� 9.24.7
+
+-------------------------------------------------------------------
+Mon Nov 15 16:40:37 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Fixed raid integration test using extra boot part
+
+ Due to changes in the distribution the tests needs some
+ adaptions. The kernel as provided now by TW uses symlinks
+ from boot to /usr/lib/modules/... to point to the kernel
+ binary. Of course this breaks for any system that uses
+ /boot on another partition. Those image tests which were
+ testing this aspect needs fixing.
+
+-------------------------------------------------------------------
+Mon Nov 15 14:25:23 CET 2021 - Dan ��erm��k <dcermak(a)suse.com>
+
+- Make sure fedora-release is installed on Rawhide
+
+ Follow up to #1957 and #1962:
+ The Fedora build tests were using the generic release package and not
+ fedora-release. This issue has been partially fixed in #1962, but we forgot to
+ port the fix to the rawhide images as well. This commit adds the missing package
+ to the Rawhide images as well.
+
+-------------------------------------------------------------------
@@ -17,0 +108,21 @@
+
+-------------------------------------------------------------------
+Fri Nov 12 16:57:17 CET 2021 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Allow to set sign keyfile in repository elements
+
+ This commit adds a new and optional child element <signing>
+ to the repository/source element as shown in the following
+ example:
+
+ <repository>
+ <source path="...">
+ <signing key="keyfile"/>
+ </source>
+ </repository>
+
+ The collection of all keyfiles from all repositories will be
+ added to the keyring as used by the selected package manager.
+ Signing keys specified on the commandline and signing keys
+ specified in the image description will be combined.
+ This Fixes #1883
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-kiwi.spec ++++++
--- /var/tmp/diff_new_pack.ruMqMT/_old 2021-12-02 02:23:27.516983458 +0100
+++ /var/tmp/diff_new_pack.ruMqMT/_new 2021-12-02 02:23:27.520983444 +0100
@@ -43,7 +43,7 @@
%endif
Name: python-kiwi
-Version: 9.24.6
+Version: 9.24.10
Provides: kiwi-schema = 7.4
Release: 0
Url: https://github.com/OSInside/kiwi
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.ruMqMT/_old 2021-12-02 02:23:27.544983360 +0100
+++ /var/tmp/diff_new_pack.ruMqMT/_new 2021-12-02 02:23:27.548983346 +0100
@@ -3,7 +3,7 @@
pkgname=('python-kiwi' 'kiwi-man-pages' 'dracut-kiwi-lib' 'dracut-kiwi-oem-repart' 'dracut-kiwi-oem-dump' 'dracut-kiwi-live' 'dracut-kiwi-overlay')
arch=(x86_64)
-pkgver=9.24.6
+pkgver=9.24.10
pkgrel=0
pkgdesc="KIWI - Appliance Builder Next Generation"
url="https://github.com/SUSE/kiwi/tarball/master"
@@ -12,7 +12,7 @@
provides=(kiwi-ng kiwi)
source=("${pkgname}.tar.gz")
changelog="${pkgname}.changes"
-md5sums=('74cbc9283eb117626209c7f212f957a3')
+md5sums=('166597cfdcba49bf6089b425c1cc5a12')
build() {
++++++ python-kiwi.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/.bumpversion.cfg new/kiwi-9.24.10/.bumpversion.cfg
--- old/kiwi-9.24.6/.bumpversion.cfg 2021-11-12 23:11:19.000000000 +0100
+++ new/kiwi-9.24.10/.bumpversion.cfg 2021-11-23 15:10:26.000000000 +0100
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 9.24.6
+current_version = 9.24.10
commit = True
tag = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/PKG-INFO new/kiwi-9.24.10/PKG-INFO
--- old/kiwi-9.24.6/PKG-INFO 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/PKG-INFO 2021-11-23 15:12:44.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: kiwi
-Version: 9.24.6
+Version: 9.24.10
Summary: KIWI - Appliance Builder (next generation)
Home-page: https://osinside.github.io/kiwi
Author: Marcus Schaefer
Binary files old/kiwi-9.24.6/doc/build/latex/kiwi.pdf and new/kiwi-9.24.10/doc/build/latex/kiwi.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi.8 new/kiwi-9.24.10/doc/build/man/kiwi.8
--- old/kiwi-9.24.6/doc/build/man/kiwi.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi \- Creating Operating System Images
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::image::info.8 new/kiwi-9.24.10/doc/build/man/kiwi::image::info.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::image::info.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::image::info.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::IMAGE::INFO" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::IMAGE::INFO" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::image::info \- Provide detailed information about an image description
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::image::resize.8 new/kiwi-9.24.10/doc/build/man/kiwi::image::resize.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::image::resize.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::image::resize.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::IMAGE::RESIZE" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::IMAGE::RESIZE" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::image::resize \- Resize disk images to new geometry
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::result::bundle.8 new/kiwi-9.24.10/doc/build/man/kiwi::result::bundle.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::result::bundle.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::result::bundle.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::RESULT::BUNDLE" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::RESULT::BUNDLE" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::result::bundle \- Bundle build results
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::result::list.8 new/kiwi-9.24.10/doc/build/man/kiwi::result::list.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::result::list.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::result::list.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::RESULT::LIST" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::RESULT::LIST" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::result::list \- List build results
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::system::build.8 new/kiwi-9.24.10/doc/build/man/kiwi::system::build.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::system::build.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::system::build.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::SYSTEM::BUILD" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::SYSTEM::BUILD" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::system::build \- Build image in combined prepare and create step
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::system::create.8 new/kiwi-9.24.10/doc/build/man/kiwi::system::create.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::system::create.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::system::create.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::SYSTEM::CREATE" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::SYSTEM::CREATE" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::system::create \- Create image from prepared root system
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::system::prepare.8 new/kiwi-9.24.10/doc/build/man/kiwi::system::prepare.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::system::prepare.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::system::prepare.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::SYSTEM::PREPARE" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::SYSTEM::PREPARE" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::system::prepare \- Prepare image root system
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/build/man/kiwi::system::update.8 new/kiwi-9.24.10/doc/build/man/kiwi::system::update.8
--- old/kiwi-9.24.6/doc/build/man/kiwi::system::update.8 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/doc/build/man/kiwi::system::update.8 2021-11-23 15:12:43.000000000 +0100
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI::SYSTEM::UPDATE" "8" "Nov 12, 2021" "9.24.6" "KIWI NG"
+.TH "KIWI::SYSTEM::UPDATE" "8" "Nov 23, 2021" "9.24.10" "KIWI NG"
.SH NAME
kiwi::system::update \- Update/Upgrade image root system
.SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/source/conf.py new/kiwi-9.24.10/doc/source/conf.py
--- old/kiwi-9.24.6/doc/source/conf.py 2021-11-12 23:11:19.000000000 +0100
+++ new/kiwi-9.24.10/doc/source/conf.py 2021-11-23 15:10:26.000000000 +0100
@@ -140,7 +140,7 @@
# built documents.
#
# The short X.Y version.
-version = '9.24.6'
+version = '9.24.10'
# The full version, including alpha/beta/rc tags.
release = version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/source/image_description/elements.rst new/kiwi-9.24.10/doc/source/image_description/elements.rst
--- old/kiwi-9.24.6/doc/source/image_description/elements.rst 2021-11-12 22:23:40.000000000 +0100
+++ new/kiwi-9.24.10/doc/source/image_description/elements.rst 2021-11-16 16:29:43.000000000 +0100
@@ -793,7 +793,9 @@
to run repository signature validation. If not set, no value is
appended into the repository configuration file. If set the
relevant key information needs to be provided on the {kiwi}
- commandline using the `--signing-key` option
+ commandline using the `--signing-key` option or via the `<signing>`
+ element as part of the `<repository><source>` setting in the
+ image description.
customize="/path/to/custom_script"
Custom script hook which is invoked with the repo file as parameter
@@ -917,6 +919,23 @@
A placeholder for the Open Build Service (OBS) to indicate that all
repositories are taken from the project configuration in OBS.
+A repository `<source>` element can optionally contain one ore more
+signing keys for the packages from this repository like shown in the
+following example:
+
+.. code:: xml
+
+ <repository alias="kiwi">
+ <source path="{exc_kiwi_repo}">
+ <signing key="/path/to/sign_key_a"/>
+ <signing key="/path/to/sign_key_b"/>
+ </source>
+ </repository>
+
+All signing keys from all repositories will be collected and
+incorporated into the keyring as used by the selected package
+manager.
+
.. _sec.packages:
<packages>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/doc/source/plugins/self_contained.rst new/kiwi-9.24.10/doc/source/plugins/self_contained.rst
--- old/kiwi-9.24.6/doc/source/plugins/self_contained.rst 2021-10-15 10:02:03.000000000 +0200
+++ new/kiwi-9.24.10/doc/source/plugins/self_contained.rst 2021-11-23 15:10:22.000000000 +0100
@@ -77,5 +77,55 @@
.. note::
The provided `--description` and `--target-dir` options are
- setup as shared folders between the host and the guest. No other
+ setup as shared folders between the host and the box. No other
data will be shared with the host.
+
+Sharing Backends
+----------------
+
+As mentioned above, the `boxbuild` call shares the two host directories
+provided in `--description` and `--target-dir` with the box. To do this
+the following sharing backends are supported:
+
+``--9p-sharing``
+ With QEMU's `9pfs` you can create virtual filesystem devices
+ (virtio-9p-device) and expose them to the box. For more information
+ see `9pfs <https://wiki.qemu.org/Documentation/9psetup>`__. Using
+ this sharing backend does not require any setup procedure from the
+ user and is also the default for `boxbuild`
+
+``--sshfs-sharing``
+ SSHFS is a FUSE-based filesystem client for mounting remote
+ directories over a Secure Shell connection (SSH). In `boxbuild`
+ this is used to mount directories from the host into the box.
+ Because this runs through an SSH connection the host must allow
+ connections from the box. If you plan to use `sshfs` add the
+ following SSH public key to the :file:`~/.ssh/authorized_keys`
+ file of the user which is expected to call `boxbuild`
+
+ .. code:: bash
+
+ echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCtiqDaYgEMkr7za7qc4iPXftgu/j3sodPOtpoG8PinwRX6/3xZteOJzCH2qCZjEgA5zsP9lxy/119cWXvdxFUvyEINjH77unzRnaHj/yTXPhHuhHgAiEubuHer2gZoOs+UH4cGJLKCrabjTjZdeK9KvL+hoAgJaWxDUvGsXYDQTBHXlKjniOL1MGbltDBHnYhu4k+PjjJ+UEBN+8+F74Y5fYgIovXXY88WQrybuEr1eAYjhvk/ln6TKw1P6uvVMuIbAGUgnZFntDCI91Qw8ps1j+lX3vNc8ZBoOwM6nHZqq4FAqbXuH+NvQFS/xDM6wwZQhAe+14dTQBA5F1mgCVf+fSbteb0/CraSGmgKIM8aPnK8rfF+BY6Jar3AJFKVRPshRzrQj6CWYu3BfmOLupCpqOK2XFyoU2lEpaZDejgPSJq/IBGZdjKplWJFF8ZRQ01a8eX8K2fjrQt/4k9c7Pjlg1aDH8Sf+5+vcehlSNs1d50wnFoaIPrgDdy04omiaJ8= kiwi@boxbuild" >> ~/.ssh/authorized_keys
+
+ The public key mentioned here is associated with an SSH key pair
+ we provide in the pre-built box images.
+
+ .. warning::
+
+ If the `sshfs` backend is used without the host trusting the box,
+ the `boxbuild` call will become interactive at the time of the sshfs
+ mount. In this case the user might be asked for a passphrase or
+ depending on the host `sshd` setup the request will be declined and
+ the boxbuild fails.
+
+``--virtiofs-sharing``
+ QEMU virtio-fs shared file system daemon. Share a host directory tree
+ with a box through a virtio-fs device. For more information
+ see `virtiofs <https://qemu.readthedocs.io/en/latest/tools/virtiofsd.html>`__.
+ Using this sharing backend does not require any setup procedure from the
+ user
+
+ .. warning::
+
+ virtiofs support was added but considered experimental and
+ not yet stable across the distributions. Feedback welcome.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/schema/kiwi.rnc new/kiwi-9.24.10/kiwi/schema/kiwi.rnc
--- old/kiwi-9.24.6/kiwi/schema/kiwi.rnc 2021-11-03 20:37:14.000000000 +0100
+++ new/kiwi-9.24.10/kiwi/schema/kiwi.rnc 2021-11-22 17:18:04.000000000 +0100
@@ -38,6 +38,7 @@
grub_console = xsd:token {pattern = "(console|gfxterm|serial)( (console|gfxterm|serial))*"}
fs_attributes = xsd:token {pattern = "(no-copy-on-write|synchronous-updates)(,(no-copy-on-write|synchronous-updates))*"}
package-version-type = xsd:token {pattern = "(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){3}"}
+simple-uri-type = xsd:token {pattern = "(file:|https:|http:|ftp:).*"}
#==========================================
# start with image description
@@ -1027,6 +1028,24 @@
}
#==========================================
+# common element <signing>
+#
+div {
+ k.signing.key.attribute =
+ ## Specify path to a signing key for this repo
+ attribute key { simple-uri-type }
+ k.signing.attlist =
+ k.signing.key.attribute
+ k.signing =
+ ## The signing element holds information about
+ ## repo/package signing keys
+ element signing {
+ k.signing.attlist,
+ empty
+ }
+}
+
+#==========================================
# common element <source>
#
div {
@@ -1037,7 +1056,7 @@
## as well as a path specification
element source {
k.source.attlist,
- empty
+ k.signing*
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/schema/kiwi.rng new/kiwi-9.24.10/kiwi/schema/kiwi.rng
--- old/kiwi-9.24.6/kiwi/schema/kiwi.rng 2021-11-03 20:37:14.000000000 +0100
+++ new/kiwi-9.24.10/kiwi/schema/kiwi.rng 2021-11-22 17:18:04.000000000 +0100
@@ -91,6 +91,11 @@
<param name="pattern">(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){3}</param>
</data>
</define>
+ <define name="simple-uri-type">
+ <data type="token">
+ <param name="pattern">(file:|https:|http:|ftp:).*</param>
+ </data>
+ </define>
<!--
==========================================
start with image description
@@ -1573,6 +1578,30 @@
</div>
<!--
==========================================
+ common element <signing>
+
+ -->
+ <div>
+ <define name="k.signing.key.attribute">
+ <attribute name="key">
+ <a:documentation>Specify path to a signing key for this repo</a:documentation>
+ <ref name="simple-uri-type"/>
+ </attribute>
+ </define>
+ <define name="k.signing.attlist">
+ <ref name="k.signing.key.attribute"/>
+ </define>
+ <define name="k.signing">
+ <element name="signing">
+ <a:documentation>The signing element holds information about
+repo/package signing keys</a:documentation>
+ <ref name="k.signing.attlist"/>
+ <empty/>
+ </element>
+ </define>
+ </div>
+ <!--
+ ==========================================
common element <source>
-->
@@ -1588,7 +1617,9 @@
<a:documentation>A Pointer to a data source. This can be a remote location
as well as a path specification</a:documentation>
<ref name="k.source.attlist"/>
- <empty/>
+ <zeroOrMore>
+ <ref name="k.signing"/>
+ </zeroOrMore>
</element>
</define>
</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/system/uri.py new/kiwi-9.24.10/kiwi/system/uri.py
--- old/kiwi-9.24.6/kiwi/system/uri.py 2021-07-14 18:09:36.000000000 +0200
+++ new/kiwi-9.24.10/kiwi/system/uri.py 2021-11-23 09:57:42.000000000 +0100
@@ -17,9 +17,15 @@
#
import os
import logging
-from urllib.parse import urlparse
+from lxml import etree
+from urllib.parse import (
+ urlparse, ParseResult
+)
+from urllib.request import urlopen
+from urllib.request import Request
import requests
import hashlib
+from typing import Optional
# project
from kiwi.defaults import Defaults
@@ -36,20 +42,30 @@
class Uri:
"""
- **Normalize url types**
-
- Allow to translate the available KIWI repo source types
- into standard mime types
-
- :param str uri: URI, remote or local repository location
- :param str repo_type:
- repository type name, defaults to 'rpm-md' and is only
- effectively used when building inside of the open
- build service which maps local repositories to a
- specific environment
+ **Normalize and manage URI types**
"""
- def __init__(self, uri: str, repo_type: str = 'rpm-md'):
+ def __init__(
+ self, uri: str, repo_type: str = 'rpm-md', source_type: str = ''
+ ):
+ """
+ Manage kiwi source URIs and allow transformation into
+ standard URLs
+
+ :param str uri: URI, remote, local or metalink repository location
+ :param str repo_type:
+ repository type name, defaults to 'rpm-md' and is only
+ effectively used when building inside of the open
+ build service which maps local repositories to a
+ specific environment
+ :param str source_type:
+ specify source type if the provided URI is a service.
+ Currently only the metalink source type is handled
+ """
self.runtime_config = RuntimeConfig()
+
+ if source_type == 'metalink':
+ uri = self._resolve_metalink_uri(uri)
+
self.repo_type = repo_type
self.uri = uri if not uri.startswith(os.sep) else ''.join(
[Defaults.get_default_uri_type(), uri]
@@ -147,7 +163,7 @@
query = {'credentials': 'kiwiRepoCredentials'}
if uri:
- query = dict(params.split('=') for params in uri.query.split('&'))
+ query = dict(params.split('=') for params in uri.query.split('&')) # type: ignore
return query['credentials']
@@ -223,15 +239,17 @@
uri = urlparse(self.uri)
return uri.fragment
- def _get_credentials_uri(self):
+ def _get_credentials_uri(self) -> Optional[ParseResult]:
uri = urlparse(self.uri)
+ credentials_uri = None
if uri.query and uri.query.startswith('credentials='):
- return uri
+ credentials_uri = uri
+ return credentials_uri
- def _local_path(self, path):
+ def _local_path(self, path: str) -> str:
return os.path.abspath(os.path.normpath(path))
- def _obs_project_download_link(self, name):
+ def _obs_project_download_link(self, name: str) -> str:
name_parts = name.split(os.sep)
repository = name_parts.pop()
project = os.sep.join(name_parts)
@@ -258,7 +276,9 @@
f'{download_link}: {issue}'
)
- def _buildservice_path(self, name, urischeme, fragment=None):
+ def _buildservice_path(
+ self, name: str, urischeme: str, fragment: str = ''
+ ) -> str:
"""
Special to openSUSE buildservice. If the buildservice builds
the image it arranges the repos for each build in a special
@@ -281,3 +301,34 @@
[bs_source_dir, 'repos', name]
)
return self._local_path(local_path)
+
+ def _resolve_metalink_uri(self, uri: str) -> str:
+ selected_repo_source = uri
+ namespace_map = dict(
+ metalink="http://www.metalinker.org/"
+ )
+ expression = '//metalink:file[@name="repomd.xml"]/metalink:resources/*'
+ try:
+ metalink_location = urlopen(Request(uri))
+ xml = etree.parse(metalink_location)
+ url_list = xml.getroot().xpath(
+ expression, namespaces=namespace_map
+ )
+ source_dict = {}
+ for url in url_list:
+ if url.get('protocol') == 'https':
+ source_dict[url.text] = int(url.get('preference'))
+ start_preference = 0
+ for url in sorted(source_dict.keys()):
+ preference = source_dict[url]
+ if preference > start_preference:
+ selected_repo_source = url
+ start_preference = preference
+ except Exception as issue:
+ raise KiwiUriOpenError(
+ f'Failed to resolve metalink URI: {issue}'
+ )
+ selected_repo_source = selected_repo_source.replace(
+ 'repodata/repomd.xml', ''
+ )
+ return selected_repo_source
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/tasks/image_info.py new/kiwi-9.24.10/kiwi/tasks/image_info.py
--- old/kiwi-9.24.6/kiwi/tasks/image_info.py 2021-07-14 18:09:36.000000000 +0200
+++ new/kiwi-9.24.10/kiwi/tasks/image_info.py 2021-11-23 09:57:42.000000000 +0100
@@ -146,6 +146,7 @@
solver = Sat()
for xml_repo in self.xml_state.get_repository_sections_used_for_build():
repo_source = xml_repo.get_source().get_path()
+ repo_sourcetype = xml_repo.get_sourcetype() or ''
repo_user = xml_repo.get_username()
repo_secret = xml_repo.get_password()
repo_type = xml_repo.get_type()
@@ -153,7 +154,8 @@
repo_components = xml_repo.get_components()
if not repo_type:
repo_type = SolverRepositoryBase(
- Uri(repo_source), repo_user, repo_secret
+ Uri(uri=repo_source, source_type=repo_sourcetype),
+ repo_user, repo_secret
).get_repo_type()
if repo_type == 'apt-deb':
# Debian based repos can be setup for a specific
@@ -173,14 +175,18 @@
)
solver.add_repository(
SolverRepository.new(
- Uri(repo_source_for_component, repo_type),
+ Uri(
+ repo_source_for_component,
+ repo_type, repo_sourcetype
+ ),
repo_user, repo_secret
)
)
continue
solver.add_repository(
SolverRepository.new(
- Uri(repo_source, repo_type), repo_user, repo_secret
+ Uri(repo_source, repo_type, repo_sourcetype),
+ repo_user, repo_secret
)
)
return solver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/tasks/system_build.py new/kiwi-9.24.10/kiwi/tasks/system_build.py
--- old/kiwi-9.24.6/kiwi/tasks/system_build.py 2021-07-14 18:09:36.000000000 +0200
+++ new/kiwi-9.24.10/kiwi/tasks/system_build.py 2021-11-22 17:18:04.000000000 +0100
@@ -196,7 +196,9 @@
)
manager = system.setup_repositories(
self.command_args['--clear-cache'],
- self.command_args['--signing-key'],
+ self.command_args[
+ '--signing-key'
+ ] + self.xml_state.get_repositories_signing_keys(),
self.global_args['--target-arch']
)
system.install_bootstrap(
@@ -281,7 +283,9 @@
abs_target_dir_path,
image_root,
custom_args={
- 'signing_keys': self.command_args['--signing-key'],
+ 'signing_keys': self.command_args[
+ '--signing-key'
+ ] + self.xml_state.get_repositories_signing_keys(),
'xz_options': self.runtime_config.get_xz_options()
}
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/tasks/system_prepare.py new/kiwi-9.24.10/kiwi/tasks/system_prepare.py
--- old/kiwi-9.24.6/kiwi/tasks/system_prepare.py 2021-11-12 23:11:06.000000000 +0100
+++ new/kiwi-9.24.10/kiwi/tasks/system_prepare.py 2021-11-16 16:29:43.000000000 +0100
@@ -181,7 +181,9 @@
)
manager = system.setup_repositories(
self.command_args['--clear-cache'],
- self.command_args['--signing-key'],
+ self.command_args[
+ '--signing-key'
+ ] + self.xml_state.get_repositories_signing_keys(),
self.global_args['--target-arch']
)
run_bootstrap = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/version.py new/kiwi-9.24.10/kiwi/version.py
--- old/kiwi-9.24.6/kiwi/version.py 2021-11-12 23:11:19.000000000 +0100
+++ new/kiwi-9.24.10/kiwi/version.py 2021-11-23 15:10:26.000000000 +0100
@@ -18,5 +18,5 @@
"""
Global version information used in kiwi and the package
"""
-__version__ = '9.24.6'
-__githash__ = '7935bdc2ed71661069459dff1097e14a9ce9812e'
+__version__ = '9.24.10'
+__githash__ = '6c258d7e708572f6456b26d1dd50eb10fd856879'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/xml_parse.py new/kiwi-9.24.10/kiwi/xml_parse.py
--- old/kiwi-9.24.6/kiwi/xml_parse.py 2021-11-03 20:37:14.000000000 +0100
+++ new/kiwi-9.24.10/kiwi/xml_parse.py 2021-11-22 17:18:04.000000000 +0100
@@ -16,7 +16,7 @@
# kiwi/schema/kiwi_for_generateDS.xsd
#
# Command line:
-# /home/ms/Project/kiwi/.tox/3.6/bin/generateDS.py -f --external-encoding="utf-8" --no-dates --no-warnings -o "kiwi/xml_parse.py" kiwi/schema/kiwi_for_generateDS.xsd
+# /home/david/work/kiwi/.tox/3/bin/generateDS.py -f --external-encoding="utf-8" --no-dates --no-warnings -o "kiwi/xml_parse.py" kiwi/schema/kiwi_for_generateDS.xsd
#
# Current working directory (os.getcwd()):
# kiwi
@@ -2208,14 +2208,98 @@
# end class repository
+class signing(GeneratedsSuper):
+ """The signing element holds information about repo/package signing
+ keys"""
+ subclass = None
+ superclass = None
+ def __init__(self, key=None):
+ self.original_tagname_ = None
+ self.key = _cast(None, key)
+ def factory(*args_, **kwargs_):
+ if CurrentSubclassModule_ is not None:
+ subclass = getSubclassFromModule_(
+ CurrentSubclassModule_, signing)
+ if subclass is not None:
+ return subclass(*args_, **kwargs_)
+ if signing.subclass:
+ return signing.subclass(*args_, **kwargs_)
+ else:
+ return signing(*args_, **kwargs_)
+ factory = staticmethod(factory)
+ def get_key(self): return self.key
+ def set_key(self, key): self.key = key
+ def validate_simple_uri_type(self, value):
+ # Validate type simple-uri-type, a restriction on xs:token.
+ if value is not None and Validate_simpletypes_:
+ if not self.gds_validate_simple_patterns(
+ self.validate_simple_uri_type_patterns_, value):
+ warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_simple_uri_type_patterns_, ))
+ validate_simple_uri_type_patterns_ = [['^(file:|https:|http:|ftp:).*$']]
+ def hasContent_(self):
+ if (
+
+ ):
+ return True
+ else:
+ return False
+ def export(self, outfile, level, namespaceprefix_='', name_='signing', namespacedef_='', pretty_print=True):
+ imported_ns_def_ = GenerateDSNamespaceDefs_.get('signing')
+ if imported_ns_def_ is not None:
+ namespacedef_ = imported_ns_def_
+ if pretty_print:
+ eol_ = '\n'
+ else:
+ eol_ = ''
+ if self.original_tagname_ is not None:
+ name_ = self.original_tagname_
+ showIndent(outfile, level, pretty_print)
+ outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', ))
+ already_processed = set()
+ self.exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='signing')
+ if self.hasContent_():
+ outfile.write('>%s' % (eol_, ))
+ self.exportChildren(outfile, level + 1, namespaceprefix_='', name_='signing', pretty_print=pretty_print)
+ outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
+ else:
+ outfile.write('/>%s' % (eol_, ))
+ def exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='signing'):
+ if self.key is not None and 'key' not in already_processed:
+ already_processed.add('key')
+ outfile.write(' key=%s' % (quote_attrib(self.key), ))
+ def exportChildren(self, outfile, level, namespaceprefix_='', name_='signing', fromsubclass_=False, pretty_print=True):
+ pass
+ def build(self, node):
+ already_processed = set()
+ self.buildAttributes(node, node.attrib, already_processed)
+ for child in node:
+ nodeName_ = Tag_pattern_.match(child.tag).groups()[-1]
+ self.buildChildren(child, node, nodeName_)
+ return self
+ def buildAttributes(self, node, attrs, already_processed):
+ value = find_attr_value_('key', node)
+ if value is not None and 'key' not in already_processed:
+ already_processed.add('key')
+ self.key = value
+ self.key = ' '.join(self.key.split())
+ self.validate_simple_uri_type(self.key) # validate type simple-uri-type
+ def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
+ pass
+# end class signing
+
+
class source(GeneratedsSuper):
"""A Pointer to a data source. This can be a remote location as well as
a path specification"""
subclass = None
superclass = None
- def __init__(self, path=None):
+ def __init__(self, path=None, signing=None):
self.original_tagname_ = None
self.path = _cast(None, path)
+ if signing is None:
+ self.signing = []
+ else:
+ self.signing = signing
def factory(*args_, **kwargs_):
if CurrentSubclassModule_ is not None:
subclass = getSubclassFromModule_(
@@ -2227,11 +2311,16 @@
else:
return source(*args_, **kwargs_)
factory = staticmethod(factory)
+ def get_signing(self): return self.signing
+ def set_signing(self, signing): self.signing = signing
+ def add_signing(self, value): self.signing.append(value)
+ def insert_signing_at(self, index, value): self.signing.insert(index, value)
+ def replace_signing_at(self, index, value): self.signing[index] = value
def get_path(self): return self.path
def set_path(self, path): self.path = path
def hasContent_(self):
if (
-
+ self.signing
):
return True
else:
@@ -2253,6 +2342,7 @@
if self.hasContent_():
outfile.write('>%s' % (eol_, ))
self.exportChildren(outfile, level + 1, namespaceprefix_='', name_='source', pretty_print=pretty_print)
+ showIndent(outfile, level, pretty_print)
outfile.write('</%s%s>%s' % (namespaceprefix_, name_, eol_))
else:
outfile.write('/>%s' % (eol_, ))
@@ -2261,7 +2351,12 @@
already_processed.add('path')
outfile.write(' path=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.path), input_name='path')), ))
def exportChildren(self, outfile, level, namespaceprefix_='', name_='source', fromsubclass_=False, pretty_print=True):
- pass
+ if pretty_print:
+ eol_ = '\n'
+ else:
+ eol_ = ''
+ for signing_ in self.signing:
+ signing_.export(outfile, level, namespaceprefix_, name_='signing', pretty_print=pretty_print)
def build(self, node):
already_processed = set()
self.buildAttributes(node, node.attrib, already_processed)
@@ -2275,7 +2370,11 @@
already_processed.add('path')
self.path = value
def buildChildren(self, child_, node, nodeName_, fromsubclass_=False):
- pass
+ if nodeName_ == 'signing':
+ obj_ = signing.factory()
+ obj_.build(child_)
+ self.signing.append(obj_)
+ obj_.original_tagname_ = 'signing'
# end class source
@@ -8266,6 +8365,7 @@
"profiles",
"repository",
"requires",
+ "signing",
"size",
"source",
"strip",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi/xml_state.py new/kiwi-9.24.10/kiwi/xml_state.py
--- old/kiwi-9.24.6/kiwi/xml_state.py 2021-11-03 20:37:14.000000000 +0100
+++ new/kiwi-9.24.10/kiwi/xml_state.py 2021-11-22 17:18:04.000000000 +0100
@@ -1721,6 +1721,16 @@
]
)
+ def get_repositories_signing_keys(self) -> List[str]:
+ """
+ Get list of signing keys specified on the repositories
+ """
+ key_file_list: List[str] = []
+ for repository in self.get_repository_sections() or []:
+ for signing in repository.get_source().get_signing() or []:
+ key_file_list.append(Uri(signing.get_key()).translate())
+ return key_file_list
+
def set_repository(
self, repo_source: str, repo_type: str, repo_alias: str,
repo_prio: str, repo_imageinclude: bool = False,
@@ -1755,7 +1765,8 @@
def add_repository(
self, repo_source: str, repo_type: str, repo_alias: str = None,
repo_prio: str = '', repo_imageinclude: bool = False,
- repo_package_gpgcheck: Optional[bool] = None
+ repo_package_gpgcheck: Optional[bool] = None,
+ repo_signing_keys: List[str] = []
) -> None:
"""
Add a new repository section at the end of the list
@@ -1778,7 +1789,12 @@
type_=repo_type,
alias=repo_alias,
priority=priority_number,
- source=xml_parse.source(path=repo_source),
+ source=xml_parse.source(
+ path=repo_source,
+ signing=[
+ xml_parse.signing(key=k) for k in repo_signing_keys
+ ]
+ ),
imageinclude=repo_imageinclude,
package_gpgcheck=repo_package_gpgcheck
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi.egg-info/PKG-INFO new/kiwi-9.24.10/kiwi.egg-info/PKG-INFO
--- old/kiwi-9.24.6/kiwi.egg-info/PKG-INFO 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/kiwi.egg-info/PKG-INFO 2021-11-23 15:12:44.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: kiwi
-Version: 9.24.6
+Version: 9.24.10
Summary: KIWI - Appliance Builder (next generation)
Home-page: https://osinside.github.io/kiwi
Author: Marcus Schaefer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/kiwi.egg-info/SOURCES.txt new/kiwi-9.24.10/kiwi.egg-info/SOURCES.txt
--- old/kiwi-9.24.6/kiwi.egg-info/SOURCES.txt 2021-11-12 23:12:47.000000000 +0100
+++ new/kiwi-9.24.10/kiwi.egg-info/SOURCES.txt 2021-11-23 15:12:44.000000000 +0100
@@ -436,6 +436,7 @@
test/data/info.xml
test/data/iso_listing.txt
test/data/key_value
+test/data/metalink
test/data/my_plugin.rnc
test/data/my_plugin.rng
test/data/nested_include.xml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/data/description/config.xml new/kiwi-9.24.10/test/data/description/config.xml
--- old/kiwi-9.24.6/test/data/description/config.xml 2021-09-02 16:55:04.000000000 +0200
+++ new/kiwi-9.24.10/test/data/description/config.xml 2021-11-22 17:18:04.000000000 +0100
@@ -167,13 +167,17 @@
<user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/>
</users>
<repository priority="42" sourcetype="baseurl">
- <source path="iso:///image/CDs/dvd.iso"/>
+ <source path="iso:///image/CDs/dvd.iso">
+ <signing key="file:key_a"/>
+ </source>
</repository>
<repository type="rpm-md" imageinclude="true" customize="script">
<source path="obs://Devel:PubCloud:AmazonEC2/SLE_12_GA"/>
</repository>
<repository type="rpm-md" imageonly="true">
- <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker"/>
+ <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker">
+ <signing key="file:key_b"/>
+ </source>
</repository>
<packages type="image" patternType="plusRecommended">
<namedCollection name="base"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/data/description.buildservice/appliance.kiwi new/kiwi-9.24.10/test/data/description.buildservice/appliance.kiwi
--- old/kiwi-9.24.6/test/data/description.buildservice/appliance.kiwi 2021-09-02 16:55:04.000000000 +0200
+++ new/kiwi-9.24.10/test/data/description.buildservice/appliance.kiwi 2021-11-22 17:18:04.000000000 +0100
@@ -167,13 +167,17 @@
<user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/>
</users>
<repository priority="42" sourcetype="baseurl">
- <source path="iso:///image/CDs/dvd.iso"/>
+ <source path="iso:///image/CDs/dvd.iso">
+ <signing key="file:key_a"/>
+ </source>
</repository>
<repository type="rpm-md" imageinclude="true" customize="script">
<source path="obs://Devel:PubCloud:AmazonEC2/SLE_12_GA"/>
</repository>
<repository type="rpm-md" imageonly="true">
- <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker"/>
+ <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker">
+ <signing key="file:key_b"/>
+ </source>
</repository>
<packages type="image" patternType="plusRecommended">
<namedCollection name="base"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/data/example_config.xml new/kiwi-9.24.10/test/data/example_config.xml
--- old/kiwi-9.24.6/test/data/example_config.xml 2021-09-02 16:55:04.000000000 +0200
+++ new/kiwi-9.24.10/test/data/example_config.xml 2021-11-22 17:18:04.000000000 +0100
@@ -167,13 +167,17 @@
<user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/>
</users>
<repository priority="42" sourcetype="baseurl">
- <source path="iso:///image/CDs/dvd.iso"/>
+ <source path="iso:///image/CDs/dvd.iso">
+ <signing key="file:key_a"/>
+ </source>
</repository>
<repository type="rpm-md" imageinclude="true" customize="script">
<source path="obs://Devel:PubCloud:AmazonEC2/SLE_12_GA"/>
</repository>
<repository type="rpm-md" imageonly="true">
- <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker"/>
+ <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker">
+ <signing key="file:key_b"/>
+ </source>
</repository>
<packages type="image" patternType="plusRecommended">
<namedCollection name="base"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/data/metalink new/kiwi-9.24.10/test/data/metalink
--- old/kiwi-9.24.6/test/data/metalink 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi-9.24.10/test/data/metalink 2021-11-23 09:57:42.000000000 +0100
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="utf-8"?>
+<metalink version="3.0" xmlns="http://www.metalinker.org/" type="dynamic" pubdate="Mon, 22 Nov 2021 11:33:26 GMT" generator="mirrormanager" xmlns:mm0="http://fedorahosted.org/mirrormanager">
+ <files>
+ <file name="repomd.xml">
+ <mm0:timestamp>1619174877</mm0:timestamp>
+ <size>6285</size>
+ <verification>
+ <hash type="md5">6d3f3d3b3489e7c3e63203a4accfec52</hash>
+ <hash type="sha1">8865764f043de7527533f07c530205d2f68ae4d4</hash>
+ <hash type="sha256">4e48e3e6131dd6956141407656318bde5ff226fa07164a015968133feaa154df</hash>
+ <hash type="sha512">30e6cab1ceeed36bf0ad111be66daf2e438bcb79ff420fd090b6c6418bd8d265178e0e5d6515b173834125a30bd4ade60956817efccff86da5f6529a4739ef20</hash>
+ </verification>
+ <resources maxconnections="1">
+ <url protocol="http" type="http" location="DE" preference="91">http://mirror.dogado.de/fedora/linux/releases/34/Everything/x86_64/os/repod…</url>
+ <url protocol="https" type="https" location="DE" preference="91">https://mirror.dogado.de/fedora/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="https" type="https" location="DE" preference="98">https://ftp.plusline.net/fedora/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="98">rsync://ftp.plusline.net/fedora/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="http" type="http" location="DE" preference="98">http://ftp.plusline.net/fedora/linux/releases/34/Everything/x86_64/os/repod…</url>
+ <url protocol="http" type="http" location="DE" preference="97">http://mirror.speedpartner.de/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="https" type="https" location="DE" preference="96">https://ftp-stud.hs-esslingen.de/pub/fedora/linux/releases/34/Everything/x8…</url>
+ <url protocol="http" type="http" location="DE" preference="100">http://mirror2.hs-esslingen.de/fedora/linux/releases/34/Everything/x86_64/o…</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="100">rsync://mirror2.hs-esslingen.de/fedora-linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="96">rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="DE" preference="96">http://ftp-stud.hs-esslingen.de/pub/fedora/linux/releases/34/Everything/x86…</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="95">rsync://ftp.halifax.rwth-aachen.de/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="DE" preference="95">http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/34/Everything/x86_6…</url>
+ <url protocol="https" type="https" location="DE" preference="95">https://ftp.halifax.rwth-aachen.de/fedora/linux/releases/34/Everything/x86_…</url>
+ <url protocol="http" type="http" location="DE" preference="94">http://mirror.netzwerge.de/fedora/linux/releases/34/Everything/x86_64/os/re…</url>
+ <url protocol="https" type="https" location="DE" preference="94">https://mirror.netzwerge.de/fedora/linux/releases/34/Everything/x86_64/os/r…</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="94">rsync://mirror.netzwerge.de/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="DE" preference="93">http://ftp.fau.de/fedora/linux/releases/34/Everything/x86_64/os/repodata/re…</url>
+ <url protocol="https" type="https" location="DE" preference="93">https://ftp.fau.de/fedora/linux/releases/34/Everything/x86_64/os/repodata/r…</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="93">rsync://ftp.fau.de/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="DE" preference="92">http://mirror.23m.com/fedora/linux/releases/34/Everything/x86_64/os/repodat…</url>
+ <url protocol="https" type="https" location="DE" preference="92">https://mirror.23m.com/fedora/linux/releases/34/Everything/x86_64/os/repoda…</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="92">rsync://mirror.23m.com/fedora/linux/releases/34/Everything/x86_64/os/repoda…</url>
+ <url protocol="https" type="https" location="DE" preference="91">https://mirrors.xtom.de/fedora/releases/34/Everything/x86_64/os/repodata/re…</url>
+ <url protocol="http" type="http" location="DE" preference="91">http://mirrors.xtom.de/fedora/releases/34/Everything/x86_64/os/repodata/rep…</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="91">rsync://mirrors.xtom.de/fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="rsync" type="rsync" location="DE" preference="90">rsync://fedora.tu-chemnitz.de/ftp/pub/linux/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="DE" preference="90">http://fedora.tu-chemnitz.de/pub/linux/fedora/linux/releases/34/Everything/…</url>
+ <url protocol="http" type="http" location="BG" preference="89">http://mirror.telepoint.bg/fedora/releases/34/Everything/x86_64/os/repodata…</url>
+ <url protocol="rsync" type="rsync" location="BG" preference="89">rsync://mirror.telepoint.bg/fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="BG" preference="89">https://mirror.telepoint.bg/fedora/releases/34/Everything/x86_64/os/repodat…</url>
+ <url protocol="http" type="http" location="NL" preference="88">http://fedora.mirror.wearetriple.com/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="https" type="https" location="NL" preference="88">https://fedora.mirror.wearetriple.com/linux/releases/34/Everything/x86_64/o…</url>
+ <url protocol="rsync" type="rsync" location="NL" preference="88">rsync://fedora.mirror.wearetriple.com/fedora/linux/releases/34/Everything/x…</url>
+ <url protocol="rsync" type="rsync" location="FI" preference="87">rsync://rsync.nic.funet.fi/ftp/pub/mirrors/fedora.redhat.com/pub/fedora/lin…</url>
+ <url protocol="http" type="http" location="FI" preference="87">http://www.nic.funet.fi/pub/mirrors/fedora.redhat.com/pub/fedora/linux/rele…</url>
+ <url protocol="http" type="http" location="NL" preference="86">http://mirror.serverion.com/fedora/releases/34/Everything/x86_64/os/repodat…</url>
+ <url protocol="https" type="https" location="NL" preference="86">https://mirror.serverion.com/fedora/releases/34/Everything/x86_64/os/repoda…</url>
+ <url protocol="rsync" type="rsync" location="NL" preference="86">rsync://mirror.serverion.com/fedora/releases/34/Everything/x86_64/os/repoda…</url>
+ <url protocol="http" type="http" location="IT" preference="85">http://fedora.mirror.garr.it/fedora/linux/releases/34/Everything/x86_64/os/…</url>
+ <url protocol="https" type="https" location="IT" preference="85">https://fedora.mirror.garr.it/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="http" type="http" location="NL" preference="84">http://ftp.tudelft.nl/download.fedora.redhat.com/linux/releases/34/Everythi…</url>
+ <url protocol="http" type="http" location="CZ" preference="83">http://mirror.karneval.cz/pub/linux/fedora/linux/releases/34/Everything/x86…</url>
+ <url protocol="rsync" type="rsync" location="CZ" preference="83">rsync://mirror.karneval.cz/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="CZ" preference="83">https://mirror.karneval.cz/pub/linux/fedora/linux/releases/34/Everything/x8…</url>
+ <url protocol="http" type="http" location="UA" preference="82">http://fedora.ip-connect.info/linux/releases/34/Everything/x86_64/os/repoda…</url>
+ <url protocol="https" type="https" location="UA" preference="82">https://fedora.ip-connect.info/linux/releases/34/Everything/x86_64/os/repod…</url>
+ <url protocol="rsync" type="rsync" location="UA" preference="82">rsync://fedora.ip-connect.info/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="EE" preference="81">https://mirrors.xtom.ee/fedora/releases/34/Everything/x86_64/os/repodata/re…</url>
+ <url protocol="rsync" type="rsync" location="EE" preference="81">rsync://mirrors.xtom.ee/fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="EE" preference="81">http://mirrors.xtom.ee/fedora/releases/34/Everything/x86_64/os/repodata/rep…</url>
+ <url protocol="https" type="https" location="SE" preference="80">https://ftp.lysator.liu.se/pub/fedora/linux/releases/34/Everything/x86_64/o…</url>
+ <url protocol="http" type="http" location="SE" preference="80">http://ftp.lysator.liu.se/pub/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="rsync" type="rsync" location="SE" preference="80">rsync://ftp.lysator.liu.se/pub/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="PT" preference="79">http://mirrors.up.pt/fedora/releases/34/Everything/x86_64/os/repodata/repom…</url>
+ <url protocol="rsync" type="rsync" location="PT" preference="79">rsync://mirrors.up.pt/pub/fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="LT" preference="78">http://mirror.vpsnet.com/fedora/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="https" type="https" location="LT" preference="78">https://mirror.vpsnet.com/fedora/linux/releases/34/Everything/x86_64/os/rep…</url>
+ <url protocol="http" type="http" location="MD" preference="77">http://mirror.ihost.md/fedora/releases/34/Everything/x86_64/os/repodata/rep…</url>
+ <url protocol="rsync" type="rsync" location="MD" preference="77">rsync://mirror.ihost.md/fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="MD" preference="77">https://mirror.ihost.md/fedora/releases/34/Everything/x86_64/os/repodata/re…</url>
+ <url protocol="rsync" type="rsync" location="DK" preference="76">rsync://mirror.netsite.dk/fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="DK" preference="76">https://mirror.netsite.dk/fedora/linux/releases/34/Everything/x86_64/os/rep…</url>
+ <url protocol="http" type="http" location="DK" preference="76">http://mirror.netsite.dk/fedora/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="https" type="https" location="SK" preference="75">https://ftp.upjs.sk/pub/fedora/linux/releases/34/Everything/x86_64/os/repod…</url>
+ <url protocol="http" type="http" location="SK" preference="75">http://ftp.upjs.sk/pub/fedora/linux/releases/34/Everything/x86_64/os/repoda…</url>
+ <url protocol="rsync" type="rsync" location="SK" preference="75">rsync://ftp.upjs.sk/pub/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="NL" preference="74">http://fedora.mirror.liteserver.nl/linux/releases/34/Everything/x86_64/os/r…</url>
+ <url protocol="rsync" type="rsync" location="NL" preference="74">rsync://mirror.liteserver.nl/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="NL" preference="74">https://fedora.mirror.liteserver.nl/linux/releases/34/Everything/x86_64/os/…</url>
+ <url protocol="http" type="http" location="DK" preference="73">http://mirror.easyspeedy.com/fedora/releases/34/Everything/x86_64/os/repoda…</url>
+ <url protocol="rsync" type="rsync" location="DK" preference="73">rsync://mirror.easyspeedy.com/fedora/releases/34/Everything/x86_64/os/repod…</url>
+ <url protocol="http" type="http" location="BY" preference="72">http://ftp.byfly.by/pub/fedoraproject.org/linux/releases/34/Everything/x86_…</url>
+ <url protocol="https" type="https" location="BY" preference="72">https://ftp.byfly.by/pub/fedoraproject.org/linux/releases/34/Everything/x86…</url>
+ <url protocol="rsync" type="rsync" location="BY" preference="72">rsync://ftp.byfly.by/fedora-linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="RU" preference="71">http://mirror.yandex.ru/fedora/linux/releases/34/Everything/x86_64/os/repod…</url>
+ <url protocol="rsync" type="rsync" location="RU" preference="71">rsync://mirror.yandex.ru/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="RU" preference="71">https://mirror.yandex.ru/fedora/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="https" type="https" location="SE" preference="70">https://ftp.acc.umu.se/mirror/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="http" type="http" location="SE" preference="70">http://ftp.acc.umu.se/mirror/fedora/linux/releases/34/Everything/x86_64/os/…</url>
+ <url protocol="rsync" type="rsync" location="SE" preference="70">rsync://ftp.acc.umu.se/mirror/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="GB" preference="69">https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/r…</url>
+ <url protocol="http" type="http" location="GB" preference="69">http://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/fedora/linux/re…</url>
+ <url protocol="rsync" type="rsync" location="GB" preference="69">rsync://rsync.mirrorservice.org/dl.fedoraproject.org/pub/fedora/linux/relea…</url>
+ <url protocol="http" type="http" location="UA" preference="68">http://fedora.astra.in.ua/releases/34/Everything/x86_64/os/repodata/repomd.…</url>
+ <url protocol="rsync" type="rsync" location="UA" preference="68">rsync://fedora.astra.in.ua/fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="UA" preference="68">https://fedora.astra.in.ua/releases/34/Everything/x86_64/os/repodata/repomd…</url>
+ <url protocol="http" type="http" location="RU" preference="67">http://mirror.linux-ia64.org/fedora/linux/releases/34/Everything/x86_64/os/…</url>
+ <url protocol="rsync" type="rsync" location="RU" preference="67">rsync://rsync.mirror.linux-ia64.org/fedora/releases/34/Everything/x86_64/os…</url>
+ <url protocol="https" type="https" location="RU" preference="67">https://mirror.linux-ia64.org/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="http" type="http" location="LU" preference="66">http://fedora.mirror.root.lu/releases/34/Everything/x86_64/os/repodata/repo…</url>
+ <url protocol="rsync" type="rsync" location="CZ" preference="65">rsync://ftp.fi.muni.cz/pub/linux/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="CZ" preference="65">http://ftp.fi.muni.cz/pub/linux/fedora/linux/releases/34/Everything/x86_64/…</url>
+ <url protocol="http" type="http" location="BG" preference="64">http://fedora.ipacct.com/fedora/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="https" type="https" location="BG" preference="64">https://fedora.ipacct.com/fedora/linux/releases/34/Everything/x86_64/os/rep…</url>
+ <url protocol="rsync" type="rsync" location="BG" preference="64">rsync://fedora.ipacct.com/fedora/linux/releases/34/Everything/x86_64/os/rep…</url>
+ <url protocol="https" type="https" location="CH" preference="63">https://mirror.init7.net/fedora/fedora/linux/releases/34/Everything/x86_64/…</url>
+ <url protocol="http" type="http" location="CH" preference="63">http://mirror.init7.net/fedora/fedora/linux/releases/34/Everything/x86_64/o…</url>
+ <url protocol="http" type="http" location="FR" preference="62">http://mirror.in2p3.fr/pub/fedora/linux/releases/34/Everything/x86_64/os/re…</url>
+ <url protocol="rsync" type="rsync" location="FR" preference="62">rsync://mirror.in2p3.fr/pub/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="rsync" type="rsync" location="FR" preference="61">rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="FR" preference="61">http://distrib-coffee.ipsl.jussieu.fr/pub/linux/fedora/linux/releases/34/Ev…</url>
+ <url protocol="https" type="https" location="FR" preference="60">https://fr2.rpmfind.net/linux/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="http" type="http" location="FR" preference="60">http://fr2.rpmfind.net/linux/fedora/linux/releases/34/Everything/x86_64/os/…</url>
+ <url protocol="rsync" type="rsync" location="FR" preference="60">rsync://fr2.rpmfind.net/linux/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="rsync" type="rsync" location="NL" preference="59">rsync://mirror.nl.leaseweb.net/fedora/linux/releases/34/Everything/x86_64/o…</url>
+ <url protocol="http" type="http" location="NL" preference="59">http://mirror.nl.leaseweb.net/fedora/linux/releases/34/Everything/x86_64/os…</url>
+ <url protocol="http" type="http" location="TR" preference="58">http://mirror.veriteknik.net.tr/fedora/linux/releases/34/Everything/x86_64/…</url>
+ <url protocol="rsync" type="rsync" location="TR" preference="58">rsync://mirror.veriteknik.net.tr/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="UA" preference="57">http://fedora.ip-connect.vn.ua/linux/releases/34/Everything/x86_64/os/repod…</url>
+ <url protocol="https" type="https" location="UA" preference="57">https://fedora.ip-connect.vn.ua/linux/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="rsync" type="rsync" location="UA" preference="57">rsync://fedora.ip-connect.vn.ua/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="rsync" type="rsync" location="GR" preference="56">rsync://ftp.cc.uoc.gr/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="GR" preference="56">http://ftp.cc.uoc.gr/pub/linux/fedora/linux/releases/34/Everything/x86_64/o…</url>
+ <url protocol="https" type="https" location="GR" preference="56">https://ftp.cc.uoc.gr/pub/linux/fedora/linux/releases/34/Everything/x86_64/…</url>
+ <url protocol="rsync" type="rsync" location="NL" preference="55">rsync://ftp.nluug.nl/Fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="NL" preference="55">http://ftp.nluug.nl/pub/os/Linux/distr/fedora/linux/releases/34/Everything/…</url>
+ <url protocol="http" type="http" location="RS" preference="54">http://mirror.etf.bg.ac.rs/fedora/releases/34/Everything/x86_64/os/repodata…</url>
+ <url protocol="rsync" type="rsync" location="RO" preference="53">rsync://fedora.mirrors.telekom.ro/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="RO" preference="53">http://fedora.mirrors.telekom.ro/pub/fedora/linux/releases/34/Everything/x8…</url>
+ <url protocol="http" type="http" location="PT" preference="52">http://ftp.dei.uc.pt/pub/linux/fedora/releases/34/Everything/x86_64/os/repo…</url>
+ <url protocol="http" type="http" location="FR" preference="51">http://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/34/Everythin…</url>
+ <url protocol="rsync" type="rsync" location="FR" preference="51">rsync://ftp.lip6.fr/Fedora/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="FR" preference="51">https://ftp.lip6.fr/ftp/pub/linux/distributions/fedora/releases/34/Everythi…</url>
+ <url protocol="http" type="http" location="CY" preference="50">http://mirror.library.ucy.ac.cy/linux/fedora/linux/releases/34/Everything/x…</url>
+ <url protocol="rsync" type="rsync" location="CY" preference="50">rsync://mirror.library.ucy.ac.cy/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="rsync" type="rsync" location="BY" preference="49">rsync://mirror.datacenter.by/fedora-linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="https" type="https" location="BY" preference="49">https://mirror.datacenter.by/pub/fedoraproject.org/linux/releases/34/Everyt…</url>
+ <url protocol="http" type="http" location="BY" preference="49">http://mirror.datacenter.by/pub/fedoraproject.org/linux/releases/34/Everyth…</url>
+ <url protocol="https" type="https" location="HU" preference="48">https://mirror.szerverem.hu/fedora/linux/releases/34/Everything/x86_64/os/r…</url>
+ <url protocol="rsync" type="rsync" location="HU" preference="48">rsync://mirror.szerverem.hu/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="HU" preference="48">http://mirror.szerverem.hu/fedora/linux/releases/34/Everything/x86_64/os/re…</url>
+ <url protocol="http" type="http" location="CZ" preference="47">http://mirror.slu.cz/fedora/linux/releases/34/Everything/x86_64/os/repodata…</url>
+ <url protocol="rsync" type="rsync" location="CZ" preference="47">rsync://mirror.slu.cz/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="FR" preference="46">http://mirrors.ircam.fr/pub/fedora/linux/releases/34/Everything/x86_64/os/r…</url>
+ <url protocol="rsync" type="rsync" location="FR" preference="46">rsync://mirrors.ircam.fr/fedora-linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="GB" preference="45">http://mirror.bytemark.co.uk/fedora/linux/releases/34/Everything/x86_64/os/…</url>
+ <url protocol="rsync" type="rsync" location="GB" preference="45">rsync://mirror.bytemark.co.uk/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="rsync" type="rsync" location="MD" preference="44">rsync://repo.fedora.md/fedora/linux/releases/34/Everything/x86_64/os/repodata/repomd.xml</url>
+ <url protocol="http" type="http" location="MD" preference="44">http://repo.fedora.md/fedora/linux/releases/34/Everything/x86_64/os/repodat…</url>
+ <url protocol="http" type="http" location="IL" preference="43">http://mirror.isoc.org.il/pub/fedora/releases/34/Everything/x86_64/os/repod…</url>
+ </resources>
+ </file>
+ </files>
+</metalink>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/data/root-dir/image/config.xml new/kiwi-9.24.10/test/data/root-dir/image/config.xml
--- old/kiwi-9.24.6/test/data/root-dir/image/config.xml 2021-09-02 16:55:04.000000000 +0200
+++ new/kiwi-9.24.10/test/data/root-dir/image/config.xml 2021-11-22 17:18:04.000000000 +0100
@@ -167,13 +167,17 @@
<user groups="kiwi,admin,users" pwdformat="plain" password="mypwd" name="kiwi"/>
</users>
<repository priority="42" sourcetype="baseurl">
- <source path="iso:///image/CDs/dvd.iso"/>
+ <source path="iso:///image/CDs/dvd.iso">
+ <signing key="file:key_a"/>
+ </source>
</repository>
<repository type="rpm-md" imageinclude="true" customize="script">
<source path="obs://Devel:PubCloud:AmazonEC2/SLE_12_GA"/>
</repository>
<repository type="rpm-md" imageonly="true">
- <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker"/>
+ <source path="obs://Devel:Docker:Images:SLE12SP2/SLE_12_SP2_Docker">
+ <signing key="file:key_b"/>
+ </source>
</repository>
<packages type="image" patternType="plusRecommended">
<namedCollection name="base"/>
Binary files old/kiwi-9.24.6/test/unit/.coverage and new/kiwi-9.24.10/test/unit/.coverage differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/unit/system/uri_test.py new/kiwi-9.24.10/test/unit/system/uri_test.py
--- old/kiwi-9.24.6/test/unit/system/uri_test.py 2021-07-14 18:09:37.000000000 +0200
+++ new/kiwi-9.24.10/test/unit/system/uri_test.py 2021-11-23 09:57:42.000000000 +0100
@@ -243,3 +243,17 @@
mock_buildservice.return_value = True
uri = Uri('obsrepositories:/')
assert uri.translate() == '/usr/src/packages/SOURCES/repos'
+
+ @patch('kiwi.system.uri.urlopen')
+ @patch('kiwi.system.uri.Request')
+ def test_translate_metalink_uri(self, mock_Request, mock_urlopen):
+ with open('../data/metalink') as metalink:
+ mock_urlopen.return_value = metalink
+ uri = Uri('https://metalink.com/foo', source_type='metalink')
+ assert uri.translate() == \
+ 'https://ftp.plusline.net/fedora/linux/releases/34/Everything/' \
+ 'x86_64/os/'
+
+ mock_urlopen.side_effect = Exception
+ with raises(KiwiUriOpenError):
+ uri = Uri('https://metalink.com/foo', source_type='metalink')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/unit/tasks/image_info_test.py new/kiwi-9.24.10/test/unit/tasks/image_info_test.py
--- old/kiwi-9.24.6/test/unit/tasks/image_info_test.py 2021-09-02 16:55:04.000000000 +0200
+++ new/kiwi-9.24.10/test/unit/tasks/image_info_test.py 2021-11-23 09:57:42.000000000 +0100
@@ -127,24 +127,24 @@
assert self.solver.add_repository.called
assert mock_uri.call_args_list == [
- call('http://us.archive.ubuntu.com/ubuntu/'),
+ call(uri='http://us.archive.ubuntu.com/ubuntu/', source_type=''),
call(
'http://us.archive.ubuntu.com/ubuntu/dists/focal/'
- 'main/binary-amd64', 'apt-deb'
+ 'main/binary-amd64', 'apt-deb', ''
),
call(
'http://us.archive.ubuntu.com/ubuntu/dists/focal/'
- 'multiverse/binary-amd64', 'apt-deb'
+ 'multiverse/binary-amd64', 'apt-deb', ''
),
call(
'http://us.archive.ubuntu.com/ubuntu/dists/focal/'
- 'restricted/binary-amd64', 'apt-deb'
+ 'restricted/binary-amd64', 'apt-deb', ''
),
call(
'http://us.archive.ubuntu.com/ubuntu/dists/focal/'
- 'universe/binary-amd64', 'apt-deb'
+ 'universe/binary-amd64', 'apt-deb', ''
),
- call('obs://Devel:PubCloud:AmazonEC2/SLE_12_GA', 'rpm-md')
+ call('obs://Devel:PubCloud:AmazonEC2/SLE_12_GA', 'rpm-md', '')
]
mock_out.assert_called_once_with(self.result_info)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/unit/tasks/system_build_test.py new/kiwi-9.24.10/test/unit/tasks/system_build_test.py
--- old/kiwi-9.24.6/test/unit/tasks/system_build_test.py 2021-07-14 18:09:37.000000000 +0200
+++ new/kiwi-9.24.10/test/unit/tasks/system_build_test.py 2021-11-22 17:18:04.000000000 +0100
@@ -96,10 +96,12 @@
self.task.command_args['--set-container-tag'] = None
self.task.command_args['--add-container-label'] = []
self.task.command_args['--clear-cache'] = False
- self.task.command_args['--signing-key'] = None
+ self.task.command_args['--signing-key'] = []
@patch('kiwi.logger.Logger.set_logfile')
- def test_process_system_build(self, mock_log):
+ @patch('kiwi.xml_state.XMLState.get_repositories_signing_keys')
+ def test_process_system_build(self, mock_keys, mock_log):
+ mock_keys.return_value = ['some_key', 'some_other_key']
self._init_command_args()
self.task.command_args['build'] = True
self.task.process()
@@ -156,7 +158,7 @@
check_architecture_supports_iso_firmware_setup.\
assert_called_once_with()
self.system_prepare.setup_repositories.assert_called_once_with(
- False, None, None
+ False, ['some_key', 'some_other_key'], None
)
self.system_prepare.install_bootstrap.assert_called_once_with(
self.manager, []
@@ -193,24 +195,28 @@
)
@patch('kiwi.logger.Logger.set_logfile')
- def test_process_system_build_add_package(self, mock_log):
+ @patch('kiwi.xml_state.XMLState.get_repositories_signing_keys')
+ def test_process_system_build_add_package(self, mock_keys, mock_log):
+ mock_keys.return_value = ['some_key', 'some_other_key']
self._init_command_args()
self.task.command_args['--add-package'] = ['vim']
self.task.process()
self.system_prepare.setup_repositories.assert_called_once_with(
- False, None, None
+ False, ['some_key', 'some_other_key'], None
)
self.system_prepare.install_packages.assert_called_once_with(
self.manager, ['vim']
)
@patch('kiwi.logger.Logger.set_logfile')
- def test_process_system_update_delete_package(self, mock_log):
+ @patch('kiwi.xml_state.XMLState.get_repositories_signing_keys')
+ def test_process_system_update_delete_package(self, mock_keys, mock_log):
+ mock_keys.return_value = ['some_key', 'some_other_key']
self._init_command_args()
self.task.command_args['--delete-package'] = ['vim']
self.task.process()
self.system_prepare.setup_repositories.assert_called_once_with(
- False, None, None
+ False, ['some_key', 'some_other_key'], None
)
self.system_prepare.delete_packages.assert_called_once_with(
self.manager, ['vim']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/unit/tasks/system_prepare_test.py new/kiwi-9.24.10/test/unit/tasks/system_prepare_test.py
--- old/kiwi-9.24.6/test/unit/tasks/system_prepare_test.py 2021-11-12 23:11:06.000000000 +0100
+++ new/kiwi-9.24.10/test/unit/tasks/system_prepare_test.py 2021-11-22 17:18:04.000000000 +0100
@@ -89,9 +89,11 @@
self.task.command_args['--set-container-derived-from'] = None
self.task.command_args['--set-container-tag'] = None
self.task.command_args['--add-container-label'] = []
- self.task.command_args['--signing-key'] = None
+ self.task.command_args['--signing-key'] = []
- def test_process_system_prepare(self):
+ @patch('kiwi.xml_state.XMLState.get_repositories_signing_keys')
+ def test_process_system_prepare(self, mock_keys):
+ mock_keys.return_value = ['some_key', 'some_other_key']
self._init_command_args()
self.task.command_args['prepare'] = True
self.task.command_args['--clear-cache'] = True
@@ -144,7 +146,7 @@
check_architecture_supports_iso_firmware_setup.\
assert_called_once_with()
self.system_prepare.setup_repositories.assert_called_once_with(
- True, None, None
+ True, ['some_key', 'some_other_key'], None
)
self.system_prepare.install_bootstrap.assert_called_once_with(
self.manager, []
@@ -195,23 +197,27 @@
self.task.process()
assert not self.system_prepare.install_bootstrap.called
- def test_process_system_prepare_add_package(self):
+ @patch('kiwi.xml_state.XMLState.get_repositories_signing_keys')
+ def test_process_system_prepare_add_package(self, mock_keys):
+ mock_keys.return_value = ['some_key', 'some_other_key']
self._init_command_args()
self.task.command_args['--add-package'] = ['vim']
self.task.process()
self.system_prepare.setup_repositories.assert_called_once_with(
- False, None, None
+ False, ['some_key', 'some_other_key'], None
)
self.system_prepare.install_packages.assert_called_once_with(
self.manager, ['vim']
)
- def test_process_system_prepare_delete_package(self):
+ @patch('kiwi.xml_state.XMLState.get_repositories_signing_keys')
+ def test_process_system_prepare_delete_package(self, mock_keys):
+ mock_keys.return_value = ['some_key', 'some_other_key']
self._init_command_args()
self.task.command_args['--delete-package'] = ['vim']
self.task.process()
self.system_prepare.setup_repositories.assert_called_once_with(
- False, None, None
+ False, ['some_key', 'some_other_key'], None
)
self.system_prepare.delete_packages.assert_called_once_with(
self.manager, ['vim']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.6/test/unit/xml_state_test.py new/kiwi-9.24.10/test/unit/xml_state_test.py
--- old/kiwi-9.24.6/test/unit/xml_state_test.py 2021-11-03 20:37:14.000000000 +0100
+++ new/kiwi-9.24.10/test/unit/xml_state_test.py 2021-11-22 17:18:04.000000000 +0100
@@ -1006,3 +1006,8 @@
xml_data = self.description.load()
state = XMLState(xml_data, ['vmxSimpleFlavour'], 'oem')
state.get_installmedia_initrd_modules('add') == []
+
+ @patch('kiwi.system.uri.os.path.abspath')
+ def test_get_repositories_signing_keys(self, mock_root_path):
+ mock_root_path.side_effect = lambda x: f'/some/path/{x}'
+ assert self.state.get_repositories_signing_keys() == ['/some/path/key_a', '/some/path/key_b']
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-geoip2 for openSUSE:Factory checked in at 2021-11-29 17:28:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-geoip2 (Old)
and /work/SRC/openSUSE:Factory/.python-geoip2.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-geoip2"
Mon Nov 29 17:28:15 2021 rev:16 rq:933992 version:4.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-geoip2/python-geoip2.changes 2021-10-11 15:30:16.898716491 +0200
+++ /work/SRC/openSUSE:Factory/.python-geoip2.new.31177/python-geoip2.changes 2021-12-02 02:23:07.585052990 +0100
@@ -1,0 +2,12 @@
+Thu Nov 18 19:55:34 UTC 2021 - Sebastian Wagner <sebix+novell.com(a)sebix.at>
+
+- update to version 4.5.0:
+ - Support for mobile country code (MCC) and mobile network codes (MNC) was
+ added for the GeoIP2 ISP and Enterprise databases as well as the GeoIP2
+ City and Insights web services. ``mobile_country_code`` and
+ ``mobile_network_code`` attributes were added to ``geoip2.model.ISP``
+ for the GeoIP2 ISP database and ``geoip2.record.Traits`` for the
+ Enterprise database and the GeoIP2 City and Insights web services.
+ We expect this data to be available by late January, 2022.
+
+-------------------------------------------------------------------
Old:
----
python-geoip2-4.4.0.tar.gz
New:
----
python-geoip2-4.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-geoip2.spec ++++++
--- /var/tmp/diff_new_pack.GJMQIh/_old 2021-12-02 02:23:07.997051552 +0100
+++ /var/tmp/diff_new_pack.GJMQIh/_new 2021-12-02 02:23:08.001051539 +0100
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-geoip2
-Version: 4.4.0
+Version: 4.5.0
Release: 0
Summary: MaxMind GeoIP2 Python API
License: Apache-2.0
++++++ python-geoip2-4.4.0.tar.gz -> python-geoip2-4.5.0.tar.gz ++++++
++++ 4264 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-distro for openSUSE:Factory checked in at 2021-11-29 17:28:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-distro (Old)
and /work/SRC/openSUSE:Factory/.python-distro.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-distro"
Mon Nov 29 17:28:16 2021 rev:15 rq:933995 version:1.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-distro/python-distro.changes 2021-10-20 20:23:50.905361931 +0200
+++ /work/SRC/openSUSE:Factory/.python-distro.new.31177/python-distro.changes 2021-12-02 02:22:49.309116745 +0100
@@ -1,0 +2,5 @@
+Fri Nov 19 05:31:21 UTC 2021 - Sebastian Wagner <sebix+novell.com(a)sebix.at>
+
+- Tests: Set locale to UTF-8 to fix tests on Leap 15.3.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-distro.spec ++++++
--- /var/tmp/diff_new_pack.wClFFF/_old 2021-12-02 02:22:49.713115335 +0100
+++ /var/tmp/diff_new_pack.wClFFF/_new 2021-12-02 02:22:49.713115335 +0100
@@ -58,6 +58,7 @@
%if %{with test}
%check
+export LANG=C.UTF-8
%pytest
%endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-debtcollector for openSUSE:Factory checked in at 2021-11-29 17:28:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-debtcollector (Old)
and /work/SRC/openSUSE:Factory/.python-debtcollector.new.31177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-debtcollector"
Mon Nov 29 17:28:35 2021 rev:18 rq:934516 version:2.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-debtcollector/python-debtcollector.changes 2020-10-22 14:20:06.274632932 +0200
+++ /work/SRC/openSUSE:Factory/.python-debtcollector.new.31177/python-debtcollector.changes 2021-12-02 02:22:45.521129959 +0100
@@ -1,0 +2,18 @@
+Mon Nov 29 11:08:30 UTC 2021 - cloud-devel(a)suse.de
+
+- update to version 2.3.0
+ - Use py3 as the default runtime for tox
+ - Move flake8 as a pre-commit local target.
+ - Remove lower-constraints remnants
+ - Replace deprecated inspect.getargspec
+ - Add Python3 wallaby unit tests
+ - Adding pre-commit
+ - Use TOX_CONSTRAINTS_FILE
+ - Dropping lower constraints testing
+ - remove unicode from code
+ - Remove runtime dependency on pbr
+ - setup.cfg: Replace dashes with underscores
+ - Update master for stable/victoria
+ - ignore reno generated artifacts
+
+-------------------------------------------------------------------
Old:
----
debtcollector-2.2.0.tar.gz
New:
----
debtcollector-2.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-debtcollector.spec ++++++
--- /var/tmp/diff_new_pack.hqmf2E/_old 2021-12-02 02:22:45.905128619 +0100
+++ /var/tmp/diff_new_pack.hqmf2E/_new 2021-12-02 02:22:45.905128619 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-debtcollector
#
-# Copyright (c) 2020 SUSE LLC
+# 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
@@ -17,13 +17,13 @@
Name: python-debtcollector
-Version: 2.2.0
+Version: 2.3.0
Release: 0
Summary: A collection of Python deprecation patterns and strategies
License: Apache-2.0
Group: Development/Languages/Python
-URL: https://docs.openstack.org/developer/debtcollector/
-Source0: https://files.pythonhosted.org/packages/source/d/debtcollector/debtcollecto…
+URL: https://docs.openstack.org/debtcollector/latest/
+Source0: https://files.pythonhosted.org/packages/source/d/debtcollector/debtcollecto…
BuildRequires: openstack-macros
BuildRequires: python3-fixtures
BuildRequires: python3-pbr >= 2.0.0
@@ -45,9 +45,9 @@
%package -n python3-debtcollector
Summary: A collection of Python deprecation patterns and strategies
-Group: Development/Languages/Python
+Requires: python3-importlib-metadata
Requires: python3-pbr >= 2.0.0
-Requires: python3-six >= 1.10.0
+Requires: python3-six
Requires: python3-wrapt >= 1.7.0
%description -n python3-debtcollector
@@ -83,14 +83,14 @@
This package contains documentation in HTML format.
%prep
-%autosetup -p1 -n debtcollector-2.2.0
+%autosetup -p1 -n debtcollector-2.3.0
%py_req_cleanup
%build
%py3_build
# generate html doc
-PBR_VERSION=2.2.0 %sphinx_build -b html doc/source doc/build/html
+PBR_VERSION=2.3.0 %sphinx_build -b html doc/source doc/build/html
# remove the Sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.hqmf2E/_old 2021-12-02 02:22:45.933128522 +0100
+++ /var/tmp/diff_new_pack.hqmf2E/_new 2021-12-02 02:22:45.933128522 +0100
@@ -1,8 +1,8 @@
<services>
<service mode="disabled" name="renderspec">
- <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/branch/stable/victoria/open…</param>
+ <param name="input-template">https://opendev.org/openstack/rpm-packaging/raw/master/openstack/debtcollec…</param>
<param name="output-name">python-debtcollector.spec</param>
- <param name="requirements">https://opendev.org/openstack/debtcollector/raw/branch/stable/victoria/requ…</param>
+ <param name="requirements">https://opendev.org/openstack/debtcollector/raw/master/requirements.txt</param>
<param name="changelog-email">cloud-devel(a)suse.de</param>
<param name="changelog-provider">gh,openstack,debtcollector</param>
</service>
++++++ debtcollector-2.2.0.tar.gz -> debtcollector-2.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/.pre-commit-config.yaml new/debtcollector-2.3.0/.pre-commit-config.yaml
--- old/debtcollector-2.2.0/.pre-commit-config.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/debtcollector-2.3.0/.pre-commit-config.yaml 2021-09-06 10:30:54.000000000 +0200
@@ -0,0 +1,39 @@
+# We from the Oslo project decided to pin repos based on the
+# commit hash instead of the version tag to prevend arbitrary
+# code from running in developer's machines. To update to a
+# newer version, run `pre-commit autoupdate` and then replace
+# the newer versions with their commit hash.
+
+default_language_version:
+ python: python3
+
+repos:
+ - repo: https://github.com/pre-commit/pre-commit-hooks
+ rev: 9136088a246768144165fcc3ecc3d31bb686920a # v3.3.0
+ hooks:
+ - id: trailing-whitespace
+ # Replaces or checks mixed line ending
+ - id: mixed-line-ending
+ args: ['--fix', 'lf']
+ exclude: '.*\.(svg)$'
+ # Forbid files which have a UTF-8 byte-order marker
+ - id: check-byte-order-marker
+ # Checks that non-binary executables have a proper shebang
+ - id: check-executables-have-shebangs
+ # Check for files that contain merge conflict strings.
+ - id: check-merge-conflict
+ # Check for debugger imports and py37+ breakpoint()
+ # calls in python source
+ - id: debug-statements
+ - id: check-yaml
+ files: .*\.(yaml|yml)$
+ - repo: local
+ hooks:
+ - id: flake8
+ name: flake8
+ additional_dependencies:
+ - hacking>=3.0.1,<3.1.0
+ language: python
+ entry: flake8
+ files: '^.*\.py$'
+ exclude: '^(doc|releasenotes|tools)/.*$'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/.zuul.yaml new/debtcollector-2.3.0/.zuul.yaml
--- old/debtcollector-2.2.0/.zuul.yaml 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/.zuul.yaml 2021-09-06 10:30:54.000000000 +0200
@@ -2,8 +2,7 @@
templates:
- check-requirements
- lib-forward-testing-python3
- - openstack-lower-constraints-jobs
- - openstack-python3-victoria-jobs
+ - openstack-python3-wallaby-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/AUTHORS new/debtcollector-2.3.0/AUTHORS
--- old/debtcollector-2.2.0/AUTHORS 2020-07-28 16:31:43.000000000 +0200
+++ new/debtcollector-2.3.0/AUTHORS 2021-09-06 10:31:32.000000000 +0200
@@ -7,6 +7,7 @@
Corey Bryant <corey.bryant(a)canonical.com>
Daniel Bengtsson <dbengt(a)redhat.com>
Davanum Srinivas <davanum(a)gmail.com>
+Dmitry Tantsur <dtantsur(a)protonmail.com>
Doug Hellmann <doug(a)doughellmann.com>
Flavio Percoco <flaper87(a)gmail.com>
Ghanshyam Mann <gmann(a)ghanshyammann.com>
@@ -25,6 +26,7 @@
Sean McGinnis <sean.mcginnis(a)gmail.com>
Swapnil Kulkarni (coolsvap) <me(a)coolsvap.net>
THOMAS J. COCOZZELLO <tjcocozz(a)us.ibm.com>
+Takashi Kajinami <tkajinam(a)redhat.com>
Thomas Bechtold <tbechtold(a)suse.com>
Tony Breeds <tony(a)bakeyournoodle.com>
Tony Xu <hhktony(a)gmail.com>
@@ -35,6 +37,9 @@
howardlee <lihongweibj(a)inspur.com>
janonymous <janonymous.codevulture(a)gmail.com>
kavithahr <kavitha.r(a)nectechnologies.in>
+liyou01 <liyou01(a)inspur.com>
melissaml <ma.lei(a)99cloud.net>
wangqi <wang.qi(a)99cloud.net>
wu.chunyang <wu.chunyang(a)99cloud.net>
+wu.shiming <wushiming(a)yovole.com>
+yangyawei <yangyawei(a)inspur.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/ChangeLog new/debtcollector-2.3.0/ChangeLog
--- old/debtcollector-2.2.0/ChangeLog 2020-07-28 16:31:43.000000000 +0200
+++ new/debtcollector-2.3.0/ChangeLog 2021-09-06 10:31:32.000000000 +0200
@@ -1,6 +1,23 @@
CHANGES
=======
+2.3.0
+-----
+
+* Replace deprecated inspect.getargspec
+* remove unicode from code
+* setup.cfg: Replace dashes with underscores
+* Remove runtime dependency on pbr
+* Move flake8 as a pre-commit local target
+* Remove lower-constraints remnants
+* Dropping lower constraints testing
+* Use TOX\_CONSTRAINTS\_FILE
+* Use py3 as the default runtime for tox
+* ignore reno generated artifacts
+* Adding pre-commit
+* Add Python3 wallaby unit tests
+* Update master for stable/victoria
+
2.2.0
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/PKG-INFO new/debtcollector-2.3.0/PKG-INFO
--- old/debtcollector-2.2.0/PKG-INFO 2020-07-28 16:31:44.000000000 +0200
+++ new/debtcollector-2.3.0/PKG-INFO 2021-09-06 10:31:32.772987000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: debtcollector
-Version: 2.2.0
+Version: 2.3.0
Summary: A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.
Home-page: https://docs.openstack.org/debtcollector/latest
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/debtcollector/__init__.py new/debtcollector-2.3.0/debtcollector/__init__.py
--- old/debtcollector-2.2.0/debtcollector/__init__.py 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/debtcollector/__init__.py 2021-09-06 10:30:54.000000000 +0200
@@ -12,12 +12,16 @@
# License for the specific language governing permissions and limitations
# under the License.
-import pbr.version
+try:
+ # For Python 3.8 and later
+ import importlib.metadata as importlib_metadata
+except ImportError:
+ # For everyone else
+ import importlib_metadata
from debtcollector import _utils
-__version__ = pbr.version.VersionInfo(
- 'debtcollector').version_string()
+__version__ = importlib_metadata.version('debtcollector')
def deprecate(prefix, postfix=None, message=None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/debtcollector/tests/test_deprecation.py new/debtcollector-2.3.0/debtcollector/tests/test_deprecation.py
--- old/debtcollector-2.2.0/debtcollector/tests/test_deprecation.py 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/debtcollector/tests/test_deprecation.py 2021-09-06 10:30:54.000000000 +0200
@@ -357,8 +357,8 @@
self.assertEqual(0, len(capture))
def test_keeps_argspec(self):
- self.assertEqual(inspect.getargspec(KittyKat.supermeow),
- inspect.getargspec(KittyKat.meow))
+ self.assertEqual(inspect.getfullargspec(KittyKat.supermeow),
+ inspect.getfullargspec(KittyKat.meow))
class RenamedKwargTest(test_base.TestCase):
@@ -416,8 +416,8 @@
def test_argspec(self):
# The decorated function keeps its argspec.
- self.assertEqual(inspect.getargspec(blip_blop_unwrapped),
- inspect.getargspec(blip_blop))
+ self.assertEqual(inspect.getfullargspec(blip_blop_unwrapped),
+ inspect.getfullargspec(blip_blop))
class UpdatedArgsTest(test_base.TestCase):
@@ -438,8 +438,8 @@
self.assertEqual(0, len(capture))
def test_argspec_preserved(self):
- self.assertEqual(inspect.getargspec(blip_blop_blip_unwrapped),
- inspect.getargspec(blip_blop_blip))
+ self.assertEqual(inspect.getfullargspec(blip_blop_blip_unwrapped),
+ inspect.getfullargspec(blip_blop_blip))
class RemovalTests(test_base.TestCase):
@@ -452,8 +452,8 @@
def test_function_keeps_argspec(self):
# The decorated function keeps its argspec.
self.assertEqual(
- inspect.getargspec(crimson_lightning_unwrapped),
- inspect.getargspec(crimson_lightning))
+ inspect.getfullargspec(crimson_lightning_unwrapped),
+ inspect.getfullargspec(crimson_lightning))
def test_deprecated_kwarg(self):
@@ -481,8 +481,8 @@
def f_unwrapped(b=2):
return b
- self.assertEqual(inspect.getargspec(f_unwrapped),
- inspect.getargspec(f))
+ self.assertEqual(inspect.getfullargspec(f_unwrapped),
+ inspect.getfullargspec(f))
def test_pending_deprecated_kwarg(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/debtcollector.egg-info/PKG-INFO new/debtcollector-2.3.0/debtcollector.egg-info/PKG-INFO
--- old/debtcollector-2.2.0/debtcollector.egg-info/PKG-INFO 2020-07-28 16:31:43.000000000 +0200
+++ new/debtcollector-2.3.0/debtcollector.egg-info/PKG-INFO 2021-09-06 10:31:32.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: debtcollector
-Version: 2.2.0
+Version: 2.3.0
Summary: A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.
Home-page: https://docs.openstack.org/debtcollector/latest
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/debtcollector.egg-info/SOURCES.txt new/debtcollector-2.3.0/debtcollector.egg-info/SOURCES.txt
--- old/debtcollector-2.2.0/debtcollector.egg-info/SOURCES.txt 2020-07-28 16:31:43.000000000 +0200
+++ new/debtcollector-2.3.0/debtcollector.egg-info/SOURCES.txt 2021-09-06 10:31:32.000000000 +0200
@@ -1,5 +1,6 @@
.coveragerc
.mailmap
+.pre-commit-config.yaml
.stestr.conf
.zuul.yaml
AUTHORS
@@ -9,7 +10,6 @@
LICENSE
README.rst
babel.cfg
-lower-constraints.txt
requirements.txt
setup.cfg
setup.py
@@ -53,5 +53,6 @@
releasenotes/source/train.rst
releasenotes/source/unreleased.rst
releasenotes/source/ussuri.rst
+releasenotes/source/victoria.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/debtcollector.egg-info/pbr.json new/debtcollector-2.3.0/debtcollector.egg-info/pbr.json
--- old/debtcollector-2.2.0/debtcollector.egg-info/pbr.json 2020-07-28 16:31:43.000000000 +0200
+++ new/debtcollector-2.3.0/debtcollector.egg-info/pbr.json 2021-09-06 10:31:32.000000000 +0200
@@ -1 +1 @@
-{"git_version": "649189d", "is_release": true}
\ No newline at end of file
+{"git_version": "0bf5bf5", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/debtcollector.egg-info/requires.txt new/debtcollector-2.3.0/debtcollector.egg-info/requires.txt
--- old/debtcollector-2.2.0/debtcollector.egg-info/requires.txt 2020-07-28 16:31:43.000000000 +0200
+++ new/debtcollector-2.3.0/debtcollector.egg-info/requires.txt 2021-09-06 10:31:32.000000000 +0200
@@ -1,3 +1,6 @@
pbr!=2.1.0,>=2.0.0
six>=1.10.0
wrapt>=1.7.0
+
+[:(python_version<'3.8')]
+importlib_metadata>=1.7.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/doc/source/conf.py new/debtcollector-2.3.0/doc/source/conf.py
--- old/debtcollector-2.2.0/doc/source/conf.py 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/doc/source/conf.py 2021-09-06 10:30:54.000000000 +0200
@@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
+# Copyright (C) 2020 Red Hat, Inc.
+#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
@@ -45,8 +47,8 @@
master_doc = 'index'
# General information about the project.
-project = u'debtcollector'
-copyright = u'%s, OpenStack Foundation' % datetime.date.today().year
+project = 'debtcollector'
+copyright = '%s, OpenStack Foundation' % datetime.date.today().year
# If true, '()' will be appended to :func: etc. cross-reference text.
add_function_parentheses = True
@@ -77,13 +79,10 @@
latex_documents = [
('index',
'%s.tex' % project,
- u'%s Documentation' % project,
- u'OpenStack Foundation', 'manual'),
+ '%s Documentation' % project,
+ 'OpenStack Foundation', 'manual'),
]
-# Example configuration for intersphinx: refer to the Python standard library.
-#intersphinx_mapping = {'http://docs.python.org/': None}
-
# -- Options for autoddoc ----------------------------------------------------
# Keep source order
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/lower-constraints.txt new/debtcollector-2.3.0/lower-constraints.txt
--- old/debtcollector-2.2.0/lower-constraints.txt 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/lower-constraints.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,48 +0,0 @@
-alabaster==0.7.10
-Babel==2.3.4
-chardet==3.0.4
-cliff==3.2.0
-cmd2==0.8.9
-coverage==4.0
-doc8==0.8.1
-docutils==0.11
-dulwich==0.15.0
-entrypoints==0.3
-extras==1.0.0
-fixtures==3.0.0
-future==0.18.2
-imagesize==0.7.1
-Jinja2==2.10
-linecache2==1.0.0
-MarkupSafe==1.0
-openstackdocstheme==2.2.1
-packaging==20.4
-pbr==2.0.0
-prettytable==0.7.2
-Pygments==2.2.0
-pyparsing==2.4.7
-pyperclip==1.8.0
-python-mimeparse==1.6.0
-python-subunit==1.0.0
-pytz==2013.6
-PyYAML==3.12
-reno==3.1.0
-requests==2.14.2
-restructuredtext-lint==1.1.1
-six==1.10.0
-snowballstemmer==1.2.1
-Sphinx==2.0.0
-sphinxcontrib-applehelp==1.0.2
-sphinxcontrib-devhelp==1.0.2
-sphinxcontrib-htmlhelp==1.0.3
-sphinxcontrib-jsmath==1.0.1
-sphinxcontrib-qthelp==1.0.3
-sphinxcontrib-serializinghtml==1.1.4
-stestr==2.0.0
-stevedore==1.20.0
-testtools==2.2.0
-traceback2==1.4.0
-unittest2==1.1.0
-voluptuous==0.11.7
-wcwidth==0.2.4
-wrapt==1.7.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/releasenotes/source/conf.py new/debtcollector-2.3.0/releasenotes/source/conf.py
--- old/debtcollector-2.2.0/releasenotes/source/conf.py 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/releasenotes/source/conf.py 2021-09-06 10:30:54.000000000 +0200
@@ -58,8 +58,8 @@
master_doc = 'index'
# General information about the project.
-project = u'debtcollector Release Notes'
-copyright = u'2016, debtcollector Developers'
+project = 'debtcollector Release Notes'
+copyright = '2016, debtcollector Developers'
# Release notes do not need a version number in the title, they
# cover multiple releases.
@@ -206,8 +206,8 @@
# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'debtcollectorReleaseNotes.tex',
- u'debtcollector Release Notes Documentation',
- u'debtcollector Developers', 'manual'),
+ 'debtcollector Release Notes Documentation',
+ 'debtcollector Developers', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -237,8 +237,8 @@
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'debtcollectorReleaseNotes',
- u'debtcollector Release Notes Documentation',
- [u'debtcollector Developers'], 1)
+ 'debtcollector Release Notes Documentation',
+ ['debtcollector Developers'], 1)
]
# If true, show URL addresses after external links.
@@ -252,8 +252,8 @@
# dir menu entry, description, category)
texinfo_documents = [
('index', 'debtcollectorReleaseNotes',
- u'debtcollector Release Notes Documentation',
- u'debtcollector Developers', 'debtcollectorReleaseNotes',
+ 'debtcollector Release Notes Documentation',
+ 'debtcollector Developers', 'debtcollectorReleaseNotes',
'One line description of project.',
'Miscellaneous'),
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/releasenotes/source/index.rst new/debtcollector-2.3.0/releasenotes/source/index.rst
--- old/debtcollector-2.2.0/releasenotes/source/index.rst 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/releasenotes/source/index.rst 2021-09-06 10:30:54.000000000 +0200
@@ -6,6 +6,7 @@
:maxdepth: 1
unreleased
+ victoria
ussuri
train
stein
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/releasenotes/source/victoria.rst new/debtcollector-2.3.0/releasenotes/source/victoria.rst
--- old/debtcollector-2.2.0/releasenotes/source/victoria.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/debtcollector-2.3.0/releasenotes/source/victoria.rst 2021-09-06 10:30:54.000000000 +0200
@@ -0,0 +1,6 @@
+=============================
+Victoria Series Release Notes
+=============================
+
+.. release-notes::
+ :branch: stable/victoria
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/requirements.txt new/debtcollector-2.3.0/requirements.txt
--- old/debtcollector-2.2.0/requirements.txt 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/requirements.txt 2021-09-06 10:30:54.000000000 +0200
@@ -3,5 +3,6 @@
# process, which may cause wedges in the gate later.
pbr!=2.1.0,>=2.0.0 # Apache-2.0
+importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0
six>=1.10.0 # MIT
wrapt>=1.7.0 # BSD License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/setup.cfg new/debtcollector-2.3.0/setup.cfg
--- old/debtcollector-2.2.0/setup.cfg 2020-07-28 16:31:44.000000000 +0200
+++ new/debtcollector-2.3.0/setup.cfg 2021-09-06 10:31:32.772987000 +0200
@@ -1,12 +1,12 @@
[metadata]
name = debtcollector
summary = A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner.
-description-file =
+description_file =
README.rst
author = OpenStack
-author-email = openstack-discuss(a)lists.openstack.org
-home-page = https://docs.openstack.org/debtcollector/latest
-python-requires = >=3.6
+author_email = openstack-discuss(a)lists.openstack.org
+home_page = https://docs.openstack.org/debtcollector/latest
+python_requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/test-requirements.txt new/debtcollector-2.3.0/test-requirements.txt
--- old/debtcollector-2.2.0/test-requirements.txt 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/test-requirements.txt 2021-09-06 10:30:54.000000000 +0200
@@ -13,3 +13,5 @@
fixtures>=3.0.0 # Apache-2.0/BSD
doc8>=0.8.1 # Apache-2.0
reno>=3.1.0 # Apache-2.0
+
+pre-commit>=2.6.0 # MIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debtcollector-2.2.0/tox.ini new/debtcollector-2.3.0/tox.ini
--- old/debtcollector-2.2.0/tox.ini 2020-07-28 16:30:16.000000000 +0200
+++ new/debtcollector-2.3.0/tox.ini 2021-09-06 10:30:54.000000000 +0200
@@ -1,6 +1,6 @@
[tox]
minversion = 3.2.0
-envlist = py37,pep8
+envlist = py3,pep8
ignore_basepython_conflict = True
[testenv]
@@ -8,7 +8,7 @@
setenv =
VIRTUAL_ENV={envdir}
deps =
- -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+ -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands =
@@ -19,7 +19,7 @@
[testenv:pep8]
commands =
- flake8
+ pre-commit run -a
sphinx-build -b doctest doc/source doc/build
doc8 --ignore-path "doc/source/history.rst" doc/source
@@ -47,8 +47,3 @@
[testenv:releasenotes]
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
-[testenv:lower-constraints]
-deps =
- -c{toxinidir}/lower-constraints.txt
- -r{toxinidir}/test-requirements.txt
- -r{toxinidir}/requirements.txt
1
0