openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
October 2022
- 1 participants
- 2855 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package vulkan-headers for openSUSE:Factory checked in at 2022-10-27 13:53:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vulkan-headers (Old)
and /work/SRC/openSUSE:Factory/.vulkan-headers.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vulkan-headers"
Thu Oct 27 13:53:13 2022 rev:39 rq:1030956 version:1.3.231.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/vulkan-headers/vulkan-headers.changes 2022-08-24 15:10:35.888471813 +0200
+++ /work/SRC/openSUSE:Factory/.vulkan-headers.new.2275/vulkan-headers.changes 2022-10-27 13:53:29.404358692 +0200
@@ -1,0 +2,8 @@
+Mon Oct 24 19:10:42 UTC 2022 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release SDK-1.3.231.0
+ * No changelog was provided
+ (but do take a look in vulkan-
+- Drop 0001-Drop-wayland-client.h-include.patch (merged upstream)
+
+-------------------------------------------------------------------
Old:
----
0001-Drop-wayland-client.h-include.patch
sdk-1.3.224.0.tar.gz
New:
----
sdk-1.3.231.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vulkan-headers.spec ++++++
--- /var/tmp/diff_new_pack.QZlep0/_old 2022-10-27 13:53:31.796370893 +0200
+++ /var/tmp/diff_new_pack.QZlep0/_new 2022-10-27 13:53:31.800370914 +0200
@@ -21,14 +21,13 @@
# Consider only updating the sources in lockstep.
#
Name: vulkan-headers
-Version: 1.3.224.0
+Version: 1.3.231.0
Release: 0
Summary: Vulkan C and C++ API header files
License: Apache-2.0
Group: Development/Libraries/C and C++
URL: https://github.com/KhronosGroup/Vulkan-Headers
Source: https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/sdk-%versi…
-Patch1: 0001-Drop-wayland-client.h-include.patch
BuildRequires: cmake >= 2.8.11
BuildArch: noarch
Requires: pkgconfig(wayland-client)
++++++ sdk-1.3.224.0.tar.gz -> sdk-1.3.231.0.tar.gz ++++++
++++ 61678 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package webkit2gtk3 for openSUSE:Factory checked in at 2022-10-27 13:53:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/webkit2gtk3 (Old)
and /work/SRC/openSUSE:Factory/.webkit2gtk3.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "webkit2gtk3"
Thu Oct 27 13:53:10 2022 rev:153 rq:1030949 version:2.38.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/webkit2gtk3/webkit2gtk3.changes 2022-09-21 14:40:40.101461413 +0200
+++ /work/SRC/openSUSE:Factory/.webkit2gtk3.new.2275/webkit2gtk3.changes 2022-10-27 13:53:26.764345225 +0200
@@ -1,0 +2,20 @@
+Mon Oct 24 17:47:17 UTC 2022 - Michael Gorse <mgorse(a)suse.com>
+
+- Update to version 2.38.1:
+ + Make xdg-dbus-proxy work if host session bus address is an
+ abstract socket.
+ + Use a single xdg-dbus-proxy process when sandbox is enabled.
+ + Fix high resolution video playback due to unimplemented
+ changeType operation.
+ + Ensure GSubprocess uses posix_spawn() again and inherit file
+ descriptors.
+ + Fix player stucking in buffering (paused) state for progressive
+ streaming.
+ + Do not try to preconnect on link click when link preconnect
+ setting is disabled.
+ + Fix close status code returned when the client closes a
+ WebSocket in some cases.
+ + Fix media player duration calculation.
+ + Fix several crashes and rendering issues.
+
+-------------------------------------------------------------------
Old:
----
webkitgtk-2.38.0.tar.xz
webkitgtk-2.38.0.tar.xz.asc
New:
----
webkitgtk-2.38.1.tar.xz
webkitgtk-2.38.1.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ webkit2gtk3.spec ++++++
--- /var/tmp/diff_new_pack.NKFr5C/_old 2022-10-27 13:53:27.904351040 +0200
+++ /var/tmp/diff_new_pack.NKFr5C/_new 2022-10-27 13:53:27.912351081 +0200
@@ -70,7 +70,7 @@
%endif
Name: webkit2%{_gtknamesuffix}
-Version: 2.38.0
+Version: 2.38.1
Release: 0
Summary: Library for rendering web content, GTK+ Port
License: BSD-3-Clause AND LGPL-2.0-or-later
++++++ webkitgtk-2.38.0.tar.xz -> webkitgtk-2.38.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/webkit2gtk3/webkitgtk-2.38.0.tar.xz /work/SRC/openSUSE:Factory/.webkit2gtk3.new.2275/webkitgtk-2.38.1.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pandas for openSUSE:Factory checked in at 2022-10-27 13:53:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pandas (Old)
and /work/SRC/openSUSE:Factory/.python-pandas.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pandas"
Thu Oct 27 13:53:09 2022 rev:45 rq:1030925 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pandas/python-pandas.changes 2022-09-17 20:08:11.868786095 +0200
+++ /work/SRC/openSUSE:Factory/.python-pandas.new.2275/python-pandas.changes 2022-10-27 13:53:24.280332554 +0200
@@ -1,0 +2,82 @@
+Sat Oct 22 16:10:11 UTC 2022 - Arun Persaud <arun(a)gmx.de>
+
+- update to version 1.5.1:
+ * Fixed regressions
+ + Fixed Regression in Series.__setitem__() casting None to NaN for
+ object dtype (GH48665)
+ + Fixed Regression in DataFrame.loc() when setting values as a
+ DataFrame with all True indexer (GH48701)
+ + Regression in read_csv() causing an EmptyDataError when using an
+ UTF-8 file handle that was already read from (GH48646)
+ + Regression in to_datetime() when utc=True and arg contained
+ timezone naive and aware arguments raised a ValueError (GH48678)
+ + Fixed regression in DataFrame.loc() raising FutureWarning when
+ setting an empty DataFrame (GH48480)
+ + Fixed regression in DataFrame.describe() raising TypeError when
+ result contains NA (GH48778)
+ + Fixed regression in DataFrame.plot() ignoring invalid colormap
+ for kind="scatter" (GH48726)
+ + Fixed regression in MultiIndex.values`() resetting freq
+ attribute of underlying Index object (GH49054)
+ + Fixed performance regression in factorize() when na_sentinel is
+ not None and sort=False (GH48620)
+ + Fixed regression causing an AttributeError during warning
+ emitted if the provided table name in DataFrame.to_sql() and the
+ table name actually used in the database do not match (GH48733)
+ + Fixed regression in to_datetime() when arg was a date string
+ with nanosecond and format contained %f would raise a ValueError
+ (GH48767)
+ + Fixed regression in assert_frame_equal() raising for MultiIndex
+ with Categorical and check_like=True (GH48975)
+ + Fixed regression in DataFrame.fillna() replacing wrong values
+ for datetime64[ns] dtype and inplace=True (GH48863)
+ + Fixed DataFrameGroupBy.size() not returning a Series when axis=1
+ (GH48738)
+ + Fixed Regression in DataFrameGroupBy.apply() when user defined
+ function is called on an empty dataframe (GH47985)
+ + Fixed regression in DataFrame.apply() when passing non-zero axis
+ via keyword argument (GH48656)
+ + Fixed regression in Series.groupby() and DataFrame.groupby()
+ when the grouper is a nullable data type (e.g. Int64) or a
+ PyArrow-backed string array, contains null values, and
+ dropna=False (GH48794)
+ + Fixed performance regression in Series.isin() with mismatching
+ dtypes (GH49162)
+ + Fixed regression in DataFrame.to_parquet() raising when file
+ name was specified as bytes (GH48944)
+ + Fixed regression in ExcelWriter where the book attribute could
+ no longer be set; however setting this attribute is now
+ deprecated and this ability will be removed in a future version
+ of pandas (GH48780)
+ + Fixed regression in DataFrame.corrwith() when computing
+ correlation on tied data with method="spearman" (GH48826)
+ * Bug fixes
+ + Bug in Series.__getitem__() not falling back to positional for
+ integer keys and boolean Index (GH48653)
+ + Bug in DataFrame.to_hdf() raising AssertionError with boolean
+ index (GH48667)
+ + Bug in assert_index_equal() for extension arrays with non
+ matching NA raising ValueError (GH48608)
+ + Bug in DataFrame.pivot_table() raising unexpected FutureWarning
+ when setting datetime column as index (GH48683)
+ + Bug in DataFrame.sort_values() emitting unnecessary
+ FutureWarning when called on DataFrame with boolean sparse
+ columns (GH48784)
+ + Bug in arrays.ArrowExtensionArray with a comparison operator to
+ an invalid object would not raise a NotImplementedError
+ (GH48833)
+ * Other
+ + Avoid showing deprecated signatures when introspecting functions
+ with warnings about arguments becoming keyword-only (GH48692)
+
+-------------------------------------------------------------------
+Mon Sep 19 21:49:49 UTC 2022 - Arun Persaud <arun(a)gmx.de>
+
+- specfile:
+ * update required versions
+
+- update to version 1.5.0:
+ * long changelog, full version available at
+ https://pandas.pydata.org/pandas-docs/stable/whatsnew/v1.5.0.html#
+
+-------------------------------------------------------------------
Old:
----
pandas-1.4.4.tar.gz
New:
----
pandas-1.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pandas.spec ++++++
--- /var/tmp/diff_new_pack.gXkkR4/_old 2022-10-27 13:53:24.992336186 +0200
+++ /var/tmp/diff_new_pack.gXkkR4/_new 2022-10-27 13:53:24.996336207 +0200
@@ -42,7 +42,7 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-pandas%{psuffix}
-Version: 1.4.4
+Version: 1.5.1
Release: 0
Summary: Python data structures for data analysis, time series, and statistics
License: BSD-3-Clause
@@ -50,45 +50,45 @@
URL: https://pandas.pydata.org/
Source0: https://files.pythonhosted.org/packages/source/p/pandas/pandas-%{version}.t…
BuildRequires: %{python_module Cython >= 0.29.32}
-BuildRequires: %{python_module Jinja2}
+BuildRequires: %{python_module Jinja2 >= 3.0.0}
BuildRequires: %{python_module devel >= 3.8}
-BuildRequires: %{python_module numpy-devel >= 1.18.5}
+BuildRequires: %{python_module numpy-devel >= 1.20.3}
BuildRequires: %{python_module python-dateutil >= 2.8.1}
BuildRequires: %{python_module pytz >= 2020.1}
BuildRequires: %{python_module setuptools >= 51.0.0}
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros
-Requires: python-numpy >= 1.18.5
+Requires: python-numpy >= 1.20.3
Requires: python-python-dateutil >= 2.8.1
Requires: python-pytz >= 2020.1
-Recommends: python-Bottleneck >= 1.3.1
-Recommends: python-numexpr >= 2.7.1
-Suggests: python-Jinja2 >= 2.10
-Suggests: python-PyMySQL >= 0.10.1
-Suggests: python-SQLAlchemy >= 1.4.0
+Recommends: python-Bottleneck >= 1.3.2
+Recommends: python-numexpr >= 2.7.3
+Suggests: python-Jinja2 >= 3.0.0
+Suggests: python-PyMySQL >= 1.0.2
+Suggests: python-SQLAlchemy >= 1.4.16
Suggests: python-XlsxWriter >= 1.2.2
-Suggests: python-beautifulsoup4 >= 4.8.2
-Suggests: python-blosc >= 1.17.0
+Suggests: python-beautifulsoup4 >= 4.9.3
+Suggests: python-blosc >= 1.21.0
Suggests: python-fastparquet >= 0.4.0
Suggests: python-fsspec >= 0.7.4
Suggests: python-gcsfs >= 0.6.0
-Suggests: python-html5lib >= 1.0.1
-Suggests: python-lxml >= 4.5.0
+Suggests: python-html5lib >= 1.1
+Suggests: python-lxml >= 4.6.3
Suggests: python-matplotlib >= 3.3.2
-Suggests: python-numba >= 0.50.1
-Suggests: python-openpyxl >= 3.0.3
-Suggests: python-pandas-gbq >= 0.14.0
-Suggests: python-psycopg2 >= 2.7
+Suggests: python-numba >= 0.53.1
+Suggests: python-openpyxl >= 3.0.7
+Suggests: python-pandas-gbq >= 0.15.0
+Suggests: python-psycopg2 >= 2.8.6
Suggests: python-pyarrow >= 1.0.1
-Suggests: python-pyreadstat
+Suggests: python-pyreadstat >= 1.1.2
Suggests: python-qt5
Suggests: python-s3fs >= 0.4.0
-Suggests: python-scipy >= 1.4.1
+Suggests: python-scipy >= 1.7.1
Suggests: python-tables >= 3.6.1
-Suggests: python-tabulate >= 0.8.7
-Suggests: python-xarray >= 0.15.1
-Suggests: python-xlrd >= 1.2.0
+Suggests: python-tabulate >= 0.8.9
+Suggests: python-xarray >= 0.19.0
+Suggests: python-xlrd >= 2.0.1
Suggests: python-xlwt >= 1.3.0
Suggests: python-zlib
Suggests: xclip
@@ -96,21 +96,21 @@
Obsoletes: python-pandas-doc < %{version}
Provides: python-pandas-doc = %{version}
%if %{with test}
-BuildRequires: %{python_module Bottleneck >= 1.3.1}
-BuildRequires: %{python_module SQLAlchemy >= 1.4.0}
-BuildRequires: %{python_module XlsxWriter >= 1.2.2}
-BuildRequires: %{python_module beautifulsoup4 >= 4.8.2}
-BuildRequires: %{python_module hypothesis >= 5.5.3}
-BuildRequires: %{python_module lxml >= 4.5.0}
+BuildRequires: %{python_module Bottleneck >= 1.3.2}
+BuildRequires: %{python_module SQLAlchemy >= 1.4.16}
+BuildRequires: %{python_module XlsxWriter >= 1.4.3}
+BuildRequires: %{python_module beautifulsoup4 >= 4.9.3}
+BuildRequires: %{python_module hypothesis >= 6.13.0}
+BuildRequires: %{python_module lxml >= 4.6.3}
BuildRequires: %{python_module matplotlib >= 3.3.2}
-BuildRequires: %{python_module numexpr >= 2.7.1}
-BuildRequires: %{python_module openpyxl >= 3.0.3}
+BuildRequires: %{python_module numexpr >= 2.7.3}
+BuildRequires: %{python_module openpyxl >= 3.0.7}
BuildRequires: %{python_module pandas = %{version}}
BuildRequires: %{python_module pytest >= 6.0}
BuildRequires: %{python_module pytest-asyncio >= 0.17}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest-xdist >= 1.31}
-BuildRequires: %{python_module scipy >= 1.4.1}
+BuildRequires: %{python_module scipy >= 1.7.1}
BuildRequires: %{python_module xlrd >= 2.0.1}
BuildRequires: memory-constraints
BuildRequires: xclip
@@ -138,9 +138,6 @@
%if !%{with test}
%python_install
%{python_expand sed -i -e 's|"python", "-c",|"%{__$python}", "-c",|' %{buildroot}%{$python_sitearch}/pandas/tests/io/test_compression.py
-# don't install devel files
-rm -r %{buildroot}%{$python_sitearch}/pandas/_libs/src
-rm -r %{buildroot}%{$python_sitearch}/pandas/_libs/tslibs/src
%fdupes %{buildroot}%{$python_sitearch}
}
%else
++++++ pandas-1.4.4.tar.gz -> pandas-1.5.1.tar.gz ++++++
++++ 157280 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-scikit-learn for openSUSE:Factory checked in at 2022-10-27 13:53:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-scikit-learn (Old)
and /work/SRC/openSUSE:Factory/.python-scikit-learn.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-scikit-learn"
Thu Oct 27 13:53:08 2022 rev:19 rq:1030924 version:1.1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-scikit-learn/python-scikit-learn.changes 2022-09-17 20:08:13.760791552 +0200
+++ /work/SRC/openSUSE:Factory/.python-scikit-learn.new.2275/python-scikit-learn.changes 2022-10-27 13:53:23.116326617 +0200
@@ -1,0 +2,8 @@
+Tue Oct 11 13:10:22 UTC 2022 - Ben Greiner <code(a)bnavigator.de>
+
+- Update dependencies
+- Add sklearn-pr24283-gradient-segfault.patch
+ * gh#scikit-learn/scikit-learn#24283
+- Update test suite setup.
+
+-------------------------------------------------------------------
New:
----
sklearn-pr24283-gradient-segfault.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-scikit-learn.spec ++++++
--- /var/tmp/diff_new_pack.95fVps/_old 2022-10-27 13:53:23.736329780 +0200
+++ /var/tmp/diff_new_pack.95fVps/_new 2022-10-27 13:53:23.748329841 +0200
@@ -16,8 +16,6 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
-%define skip_python2 1
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test-py38"
%define psuffix -test-py38
@@ -42,6 +40,8 @@
%bcond_with test
%endif
%bcond_with extratest
+# enable pytest color output for local debugging: osc --with pytestcolor
+%bcond_with pytestcolor
Name: python-scikit-learn%{psuffix}
Version: 1.1.2
Release: 0
@@ -49,20 +49,22 @@
License: BSD-3-Clause
URL: https://scikit-learn.org/
Source0: https://files.pythonhosted.org/packages/source/s/scikit-learn/scikit-learn-…
-BuildRequires: %{python_module Cython >= 0.28.5}
-BuildRequires: %{python_module devel}
-BuildRequires: %{python_module joblib >= 0.11}
+# PATCH-FIX-UPSTREAM sklearn-pr24283-gradient-segfault.patch gh#scikit-learn/scikit-learn#24283
+Patch0: sklearn-pr24283-gradient-segfault.patch
+BuildRequires: %{python_module Cython >= 0.29.24}
+BuildRequires: %{python_module devel >= 3.8}
+BuildRequires: %{python_module joblib >= 1.0.0}
BuildRequires: %{python_module numpy-devel >= 1.17.3}
BuildRequires: %{python_module scipy >= 1.3.2}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module threadpoolctl >= 2.0.0}
-BuildRequires: %{python_module xml}
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: openblas-devel
BuildRequires: python-rpm-macros
-Requires: python-joblib >= 0.11
+# Check sklearn/_min_dependencies.py for dependencies
+Requires: python-joblib >= 1.0.0
Requires: python-numpy >= 1.17.3
Requires: python-scipy >= 1.3.2
Requires: python-threadpoolctl >= 2.0.0
@@ -70,18 +72,20 @@
Suggests: python-matplotlib
Suggests: python-pandas
Suggests: python-seaborn
-Provides: python-sklearn
+Provides: python-sklearn = %{version}-%{release}
%if "%{python_flavor}" == "python3" || "%{?python_provides}" == "python3"
-Provides: sklearn
+Provides: sklearn = %{version}-%{release}
%endif
# SECTION test requirements
%if %{with test}
-BuildRequires: %{python_module pytest >= 4.0}
-BuildRequires: %{python_module scikit-learn}
+BuildRequires: %{python_module pytest >= 5.0.1}
+BuildRequires: %{python_module pytest-rerunfailures}
+BuildRequires: %{python_module pytest-xdist}
+BuildRequires: %{python_module scikit-learn = %{version}}
%if %{with extratest}
BuildRequires: %{python_module matplotlib >= 3.1.2}
-BuildRequires: %{python_module pandas >= 0.25.0}
-BuildRequires: %{python_module scikit-image >= 0.13}
+BuildRequires: %{python_module pandas >= 1.0.5}
+BuildRequires: %{python_module scikit-image >= 0.16.2}
%endif
%endif
# /SECTION
@@ -93,8 +97,10 @@
%prep
%autosetup -p1 -n scikit-learn-%{version}
-
rm -rf sklearn/.pytest_cache
+%if !%{with pytestcolor}
+sed -i '/--color=yes/d' setup.cfg
+%endif
%build
%if !%{with test}
@@ -108,30 +114,20 @@
%endif
%if %{with test}
-# Precision-related errors on non-x86 platforms
-%ifarch %{ix86} x86_64
%check
+mkdir test_dir
+pushd test_dir
export SKLEARN_SKIP_NETWORK_TESTS=1
-NO_TESTS="test_feature_importance_regression or test_minibatch_with_many_reassignments"
-NO_TESTS+=" or test_sparse_coder_parallel_mmap or test_explained_variances"
-# test_negative_sample_weights_mask_all_samples[weights-are-zero-NuSVC] Fatal Python error: Aborted
-NO_TESTS+=" or test_negative_sample_weights_mask_all_samples"
-# Disable test_fetch_openml_verify_checksum for now, no clue why it fail.
-NO_TESTS+=" or test_fetch_openml_verify_checksum[True]"
-NO_TESTS+=" or test_fetch_openml_verify_checksum[False]"
-
-# Precision-related errors on 32 bit arch
+NO_TESTS="dummyprefix"
+%ifarch %{ix86} %{arm}
+# Precision-related errors on 32 bit
# https://github.com/scikit-learn/scikit-learn/issues/19230
-%ifarch i586 %{arm}
NO_TESTS+=" or test_convergence_dtype_consistency"
+NO_TESTS+=" or test_imputation_missing_value_in_test_array"
%endif
-
-mkdir test_dir
-pushd test_dir
-%pytest_arch -p no:cacheprovider -v -k "not ($NO_TESTS)" %{$python_sitearch}/sklearn
+%pytest_arch -v --pyargs sklearn -n auto -k "not ($NO_TESTS)"
popd
%endif
-%endif
%if !%{with test}
%files %{python_files}
++++++ sklearn-pr24283-gradient-segfault.patch ++++++
From dd7de2bfbf39222153f8c2deb203a0e1efef8640 Mon Sep 17 00:00:00 2001
From: "Thomas J. Fan" <thomasjpfan(a)gmail.com>
Date: Sat, 27 Aug 2022 10:28:03 -0400
Subject: FIX Treat negative categoricals as unknown during predict
PR: #24282
Fixes #24274
Index: scikit-learn-1.1.2/sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx
===================================================================
--- scikit-learn-1.1.2.orig/sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx
+++ scikit-learn-1.1.2/sklearn/ensemble/_hist_gradient_boosting/_predictor.pyx
@@ -66,7 +66,10 @@ cdef inline Y_DTYPE_C _predict_one_from_
else:
node_idx = node.right
elif node.is_categorical:
- if in_bitset_2d_memoryview(
+ if data_val < 0:
+ # data_val is not in the accepted range, so it is treated as missing value
+ node_idx = node.left if node.missing_go_to_left else node.right
+ elif in_bitset_2d_memoryview(
raw_left_cat_bitsets,
<X_BINNED_DTYPE_C>data_val,
node.bitset_idx):
Index: scikit-learn-1.1.2/sklearn/ensemble/_hist_gradient_boosting/tests/test_gradient_boosting.py
===================================================================
--- scikit-learn-1.1.2.orig/sklearn/ensemble/_hist_gradient_boosting/tests/test_gradient_boosting.py
+++ scikit-learn-1.1.2/sklearn/ensemble/_hist_gradient_boosting/tests/test_gradient_boosting.py
@@ -1159,3 +1159,28 @@ def test_no_user_warning_with_scoring():
with warnings.catch_warnings():
warnings.simplefilter("error", UserWarning)
est.fit(X_df, y)
+
+
+def test_unknown_category_that_are_negative():
+ """Check that unknown categories that are negative does not error.
+
+ Non-regression test for #24274.
+ """
+ rng = np.random.RandomState(42)
+ n_samples = 1000
+ X = np.c_[rng.rand(n_samples), rng.randint(4, size=n_samples)]
+ y = np.zeros(shape=n_samples)
+ y[X[:, 1] % 2 == 0] = 1
+
+ hist = HistGradientBoostingRegressor(
+ random_state=0,
+ categorical_features=[False, True],
+ max_iter=10,
+ ).fit(X, y)
+
+ # Check that negative values from the second column are treated like a
+ # missing category
+ X_test_neg = np.asarray([[1, -2], [3, -4]])
+ X_test_nan = np.asarray([[1, np.nan], [3, np.nan]])
+
+ assert_allclose(hist.predict(X_test_neg), hist.predict(X_test_nan))
Index: scikit-learn-1.1.2/sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py
===================================================================
--- scikit-learn-1.1.2.orig/sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py
+++ scikit-learn-1.1.2/sklearn/ensemble/_hist_gradient_boosting/gradient_boosting.py
@@ -1186,6 +1186,8 @@ class HistGradientBoostingRegressor(Regr
For each categorical feature, there must be at most `max_bins` unique
categories, and each categorical value must be in [0, max_bins -1].
+ During prediction, categories encoded as a negative value are treated as
+ missing values.
Read more in the :ref:`User Guide <categorical_support_gbdt>`.
@@ -1515,6 +1517,8 @@ class HistGradientBoostingClassifier(Cla
For each categorical feature, there must be at most `max_bins` unique
categories, and each categorical value must be in [0, max_bins -1].
+ During prediction, categories encoded as a negative value are treated as
+ missing values.
Read more in the :ref:`User Guide <categorical_support_gbdt>`.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-scipy for openSUSE:Factory checked in at 2022-10-27 13:53:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-scipy (Old)
and /work/SRC/openSUSE:Factory/.python-scipy.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-scipy"
Thu Oct 27 13:53:06 2022 rev:56 rq:1030333 version:1.9.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-scipy/python-scipy.changes 2022-10-18 12:44:02.277592334 +0200
+++ /work/SRC/openSUSE:Factory/.python-scipy.new.2275/python-scipy.changes 2022-10-27 13:53:20.972315680 +0200
@@ -1,0 +2,49 @@
+Thu Oct 20 15:05:16 UTC 2022 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to version 1.9.3
+ * SciPy 1.9.3 is a bug-fix release with no new features compared
+ to 1.9.2.
+ * #3691: scipy.interpolate.UnivariateSpline segfault
+ * #5286: BUG: multivariate_normal returns a pdf for values
+ outside its���
+ * #6551: BUG: stats: inconsistency in docs and behavior of gmean
+ and hmean
+ * #9245: running
+ scipy.interpolate.tests.test_fitpack::test_bisplev_integer_overflow���
+ * #12471: test_bisplev_integer_overflow: Segmentation fault (core
+ dumped)
+ * #13321: Bug: setting iprint=0 hides all output from
+ fmin_l_bfgs_b, but���
+ * #13730: `scipy.stats.mood` does not correct for ties
+ * #14019: ks_2samp throws `RuntimeWarning: overflow encountered
+ in double_scalars`
+ * #14589: `shgo` error since scipy 1.8.0.dev0+1529.803e52d
+ * #14591: Input data validation for RectSphereBivariateSpline
+ * #15101: BUG: binom.pmf - RuntimeWarning: divide by zero
+ * #15342: BUG: scipy.optimize.minimize: Powell���s method function
+ evaluated���
+ * #15964: BUG: lombscargle fails if argument is a view
+ * #16211: BUG: Possible bug when using winsorize on pandas data
+ instead���
+ * #16459: BUG: stats.ttest_ind returns wrong p-values with
+ permutations
+ * #16500: odr.Model default meta value fails with __getattr__
+ * #16519: BUG: Error in error message for incorrect sample
+ dimension in���
+ * #16527: BUG: dimension of isuppz in syevr is mistranslated
+ * #16600: BUG: `KDTree`���s optional argument `eps` seems to have
+ no���
+ * #16656: dtype not preserved with operations on sparse arrays
+ * #16751: BUG: `stats.fit` on `boltzmann` expects `bound` for
+ `lambda`,���
+ * #17012: BUG: Small oversight in sparse.linalg.lsmr?
+ * #17020: BUG: Build failure due to problems with shebang line in
+ cythoner.py
+ * #17088: BUG: stats.rayleigh.fit: returns `loc` that is
+ inconsistent���
+ * #17104: BUG? Incorrect branch in `LAMV` / `_specfunc.lamv`
+ * #17196: DOC: keepdims in stats.mode is incorrectly documented
+- Move multibuild flavor ":standard" to unflavored build
+- Test in parallel (pytest-xdist)
+
+-------------------------------------------------------------------
Old:
----
scipy-1.9.2.tar.gz
New:
----
scipy-1.9.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-scipy.spec ++++++
--- /var/tmp/diff_new_pack.cPYXpt/_old 2022-10-27 13:53:22.744324719 +0200
+++ /var/tmp/diff_new_pack.cPYXpt/_new 2022-10-27 13:53:22.748324740 +0200
@@ -17,12 +17,12 @@
%global flavor @BUILD_FLAVOR@%{nil}
-%define _ver 1_9_2
+%define _ver 1_9_3
%define shortname scipy
%define pname python-%{shortname}
%define hpc_upcase_trans_hyph() %(echo %{**} | tr [a-z] [A-Z] | tr '-' '_')
-%if "%{flavor}" == "standard"
+%if "%{flavor}" == ""
%bcond_with hpc
%ifarch armv6l s390 s390x m68k
%bcond_with openblas
@@ -91,7 +91,7 @@
# TODO explore debundling Boost for standard and hpc
Name: %{package_name}
-Version: 1.9.2
+Version: 1.9.3
Release: 0
Summary: Scientific Tools for Python
License: BSD-3-Clause AND LGPL-2.0-or-later AND BSL-1.0
@@ -110,10 +110,9 @@
BuildRequires: meson >= 0.62.2
BuildRequires: pkg-config
BuildRequires: python-rpm-macros >= 20220911
-%if "%{flavor}" == ""
-ExclusiveArch: do_not_build
-%endif
%if %{with test}
+BuildRequires: %{python_module pytest-timeout}
+BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scipy = %{version}}
BuildRequires: %{python_module threadpoolctl}
@@ -152,7 +151,7 @@
%prep
%autosetup -p1 -n scipy-%{version}
-find . -type f -name "*.py" -exec sed -i "s|#!%{_bindir}/env python||" {} \;
+sed -i '1{/env python/d}' scipy/sparse/linalg/_isolve/tests/test_gcrotmk.py
%ifarch i586
# Limit double floating point precision for x87, triggered by GCC 12.
@@ -248,11 +247,11 @@
donttest+=" or (TestBSR and test_scalar_idx_dtype)"
# error while getting entropy
donttest+=" or (test_cont_basic and 500-200-ncf-arg74)"
+# https://github.com/scipy/scipy/issues/16927
+donttest+=" or (test_lobpcg and test_failure_to_run_iterations)"
%ifarch %ix86 %arm
# fails on 32bit
mark32bit="or xfail_on_32bit"
-# segfault(overflow)
-donttest+=" or (test_fitpack and test_bisplev_integer_overflow)"
# precision errors
donttest+=" or (test_peak_finding and TestFindPeaksCwt and test_find_peaks_exact)"
donttest+=" or (test_peak_finding and TestFindPeaksCwt and test_find_peaks_withnoise)"
@@ -268,7 +267,7 @@
donttest+=" or (test_stats_boost_ufunc)"
%endif
mv scipy scipy.dont-import-me
-%pytest_arch --pyargs scipy -m "not (slow or xslow $mark32bit)" -k "not ($donttest)"
+%pytest_arch --pyargs scipy -n auto -m "not (slow or xslow $mark32bit)" -k "not ($donttest)"
# prevent failing debuginfo extraction because we did not create anything for testing
touch debugsourcefiles.list
%endif
++++++ _multibuild ++++++
--- /var/tmp/diff_new_pack.cPYXpt/_old 2022-10-27 13:53:22.780324903 +0200
+++ /var/tmp/diff_new_pack.cPYXpt/_new 2022-10-27 13:53:22.784324923 +0200
@@ -1,6 +1,5 @@
<multibuild>
- <package>standard</package>
- <package>test</package>
<package>gnu-hpc</package>
+ <package>test</package>
</multibuild>
++++++ scipy-1.9.2.tar.gz -> scipy-1.9.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-scipy/scipy-1.9.2.tar.gz /work/SRC/openSUSE:Factory/.python-scipy.new.2275/scipy-1.9.3.tar.gz differ: char 5, line 1
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 2022-10-27 13:53:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old)
and /work/SRC/openSUSE:Factory/.python-kiwi.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kiwi"
Thu Oct 27 13:53:04 2022 rev:102 rq:1031379 version:9.24.49
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2022-08-31 18:08:42.935332213 +0200
+++ /work/SRC/openSUSE:Factory/.python-kiwi.new.2275/python-kiwi.changes 2022-10-27 13:53:18.892305070 +0200
@@ -1,0 +2,83 @@
+Sat Oct 22 22:27:41 CEST 2022 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Bump version: 9.24.48 ��� 9.24.49
+
+-------------------------------------------------------------------
+Sat Oct 22 22:18:38 CEST 2022 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Fixed test-image-vagrant
+
+ virtualbox-guest-tools obsoletes virtualbox-guest-x11
+
+-------------------------------------------------------------------
+Fri Oct 21 11:30:48 CEST 2022 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- ignore the type check on the Result class
+
+ With an update of mypy the bound TypeVar is no longer allowed.
+ In newer versions of python we could use the "Self" type or
+ import annotations from the future module. Unfortunately in
+ older python versions which we still support (3.6) there is
+ no non intrusive change which allows us to handle that type
+ annotation. Thus this commit ignores the return type spec
+ for Result.load() for the moment.
+
+-------------------------------------------------------------------
+Wed Oct 12 20:31:54 CEST 2022 - Igor Raits <igor.raits(a)gmail.com>
+
+- Stop copying /dev files statically into the OCI container
+
+ In containers (nspawn) where part of the /dev filesystem is bind-mounted
+ from outside system, kiwi fails to do the rsync (in creation of the
+ nodes).
+
+ There is no reason to actually copy whole tree inside so let's just
+ not do it (as it does not seem to be needed at all).
+
+-------------------------------------------------------------------
+Tue Oct 11 22:55:31 CEST 2022 - Dirk M��ller <dirk(a)dmllr.de>
+
+- List riscv64 as a valid architecture in the schemas
+
+ This is needed so that architecture filters on riscv64 specifics can
+ be defined.
+
+-------------------------------------------------------------------
+Wed Sep 14 15:59:26 CEST 2022 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Support DM integrity legacy options
+
+ Add a new attribute integrity_legacy_hmac="true|false" which
+ allows to use old flawed HMAC calculation (does not protect superblock).
+ Add a new attribute integrity_legacy_padding="true|false" which
+ allows to use inefficient legacy padding. Do not use these attributes
+ until compatibility with a specific old kernel is required!
+
+-------------------------------------------------------------------
+Wed Aug 31 13:00:30 CEST 2022 - Jan Macku <jamacku(a)redhat.com>
+
+- ci(lint): Add Shell linter - Differential Shellcheck
+
+-------------------------------------------------------------------
+Wed Aug 31 12:11:21 CEST 2022 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Limit repo alias names to be a safe POSIX name
+
+ Characters like spaces or other symbols used in repo alias names
+ can cause the package manager to fail setting up the repo. Thus
+ this patch changes the schema to only allow for safe POSIX names
+ matching: {pattern = "[a-zA-Z0-9_\-\.]+"}. This Fixes #2170
+
+-------------------------------------------------------------------
+Thu Aug 25 17:09:11 CEST 2022 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Increase space for test-image-embedded test
+
+ Add more space to test profile: SystemFeatures
+
+-------------------------------------------------------------------
+Thu Aug 25 17:05:00 CEST 2022 - Marcus Sch��fer <marcus.schaefer(a)gmail.com>
+
+- Increase efifatimage size for legacy build test
+
+-------------------------------------------------------------------
@@ -4,0 +88,5 @@
+
+-------------------------------------------------------------------
+Sun Aug 21 17:01:55 CEST 2022 - Laszlo Gombos <laszlo.gombos(a)gmail.com>
+
+- Return failure if overlay is not supported
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-kiwi.spec ++++++
--- /var/tmp/diff_new_pack.lijkjb/_old 2022-10-27 13:53:19.740309396 +0200
+++ /var/tmp/diff_new_pack.lijkjb/_new 2022-10-27 13:53:19.756309478 +0200
@@ -43,7 +43,7 @@
%endif
Name: python-kiwi
-Version: 9.24.48
+Version: 9.24.49
Provides: kiwi-schema = 7.5
Release: 0
Url: https://github.com/OSInside/kiwi
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.lijkjb/_old 2022-10-27 13:53:19.816309784 +0200
+++ /var/tmp/diff_new_pack.lijkjb/_new 2022-10-27 13:53:19.820309804 +0200
@@ -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.48
+pkgver=9.24.49
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=('9c2e5b4f06ffb1b28092b2fccbaaae80')
+md5sums=('2f443034d660eec6201f77643eb15310')
build() {
++++++ python-kiwi.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/.bumpversion.cfg new/kiwi-9.24.49/.bumpversion.cfg
--- old/kiwi-9.24.48/.bumpversion.cfg 2022-08-23 11:48:16.000000000 +0200
+++ new/kiwi-9.24.49/.bumpversion.cfg 2022-10-22 22:27:41.000000000 +0200
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 9.24.48
+current_version = 9.24.49
commit = True
tag = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/PKG-INFO new/kiwi-9.24.49/PKG-INFO
--- old/kiwi-9.24.48/PKG-INFO 2022-08-23 11:51:25.000000000 +0200
+++ new/kiwi-9.24.49/PKG-INFO 2022-10-22 22:29:42.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: kiwi
-Version: 9.24.48
+Version: 9.24.49
Summary: KIWI - Appliance Builder (next generation)
Home-page: https://osinside.github.io/kiwi
Author: Marcus Schaefer
Binary files old/kiwi-9.24.48/doc/build/latex/kiwi.pdf and new/kiwi-9.24.49/doc/build/latex/kiwi.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/doc/build/man/kiwi.8 new/kiwi-9.24.49/doc/build/man/kiwi.8
--- old/kiwi-9.24.48/doc/build/man/kiwi.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi.8 2022-10-22 22:29:41.000000000 +0200
@@ -27,7 +27,7 @@
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "KIWI" "8" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::image::info.8 new/kiwi-9.24.49/doc/build/man/kiwi::image::info.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::image::info.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::image::info.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::IMAGE::INFO" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::image::resize.8 new/kiwi-9.24.49/doc/build/man/kiwi::image::resize.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::image::resize.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::image::resize.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::IMAGE::RESIZE" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::result::bundle.8 new/kiwi-9.24.49/doc/build/man/kiwi::result::bundle.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::result::bundle.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::result::bundle.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::RESULT::BUNDLE" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::result::list.8 new/kiwi-9.24.49/doc/build/man/kiwi::result::list.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::result::list.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::result::list.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::RESULT::LIST" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::system::build.8 new/kiwi-9.24.49/doc/build/man/kiwi::system::build.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::system::build.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::system::build.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::SYSTEM::BUILD" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::system::create.8 new/kiwi-9.24.49/doc/build/man/kiwi::system::create.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::system::create.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::system::create.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::SYSTEM::CREATE" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::system::prepare.8 new/kiwi-9.24.49/doc/build/man/kiwi::system::prepare.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::system::prepare.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::system::prepare.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::SYSTEM::PREPARE" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/build/man/kiwi::system::update.8 new/kiwi-9.24.49/doc/build/man/kiwi::system::update.8
--- old/kiwi-9.24.48/doc/build/man/kiwi::system::update.8 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/doc/build/man/kiwi::system::update.8 2022-10-22 22:29:41.000000000 +0200
@@ -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" "Aug 23, 2022" "9.24.48" "KIWI NG"
+.TH "KIWI::SYSTEM::UPDATE" "8" "Oct 22, 2022" "9.24.49" "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.48/doc/source/conf.py new/kiwi-9.24.49/doc/source/conf.py
--- old/kiwi-9.24.48/doc/source/conf.py 2022-08-23 11:48:16.000000000 +0200
+++ new/kiwi-9.24.49/doc/source/conf.py 2022-10-22 22:27:41.000000000 +0200
@@ -139,7 +139,7 @@
# built documents.
#
# The short X.Y version.
-version = '9.24.48'
+version = '9.24.49'
# The full version, including alpha/beta/rc tags.
release = version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/doc/source/image_description/elements.rst new/kiwi-9.24.49/doc/source/image_description/elements.rst
--- old/kiwi-9.24.48/doc/source/image_description/elements.rst 2022-08-09 18:24:06.000000000 +0200
+++ new/kiwi-9.24.49/doc/source/image_description/elements.rst 2022-09-18 20:32:30.000000000 +0200
@@ -603,6 +603,15 @@
For the `oem` type only, specifies to create a standalone
`dm_integrity` layer on top of the root filesystem
+integrity_legacy_hmac="true|false":
+ For the `oem` type only and in combination with the `standalone_integrity`
+ attribute, Allow to use old flawed HMAC calculation (does not protect superblock).
+
+ .. warning::
+
+ Do not use this attribute unless compatibility with
+ a specific old kernel is required!
+
integrity_keyfile="filepath":
For the `oem` type only and in combination with the `standalone_integrity`
attribute, protects access to the integrity map using the given keyfile.
@@ -1090,7 +1099,8 @@
alias="name"
Specifies an alternative name for the configured repository. If the
attribute is not specified {kiwi} will generate a random alias name
- for the repository.
+ for the repository. The specified name must match the pattern:
+ `[a-zA-Z0-9_\-\.]+`
components="name"
Used for Debian (apt) based repositories only. Specifies the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/dracut/modules.d/90kiwi-overlay/parse-kiwi-overlay.sh new/kiwi-9.24.49/dracut/modules.d/90kiwi-overlay/parse-kiwi-overlay.sh
--- old/kiwi-9.24.48/dracut/modules.d/90kiwi-overlay/parse-kiwi-overlay.sh 2022-05-11 09:17:52.000000000 +0200
+++ new/kiwi-9.24.49/dracut/modules.d/90kiwi-overlay/parse-kiwi-overlay.sh 2022-09-18 20:32:30.000000000 +0200
@@ -23,25 +23,30 @@
root="${root#overlay:}"
root="${root//\//\\x2f}"
root="block:/dev/disk/by-uuid/${root#UUID=}"
+ rootok=1
;;
overlay:PARTUUID=*|PARTUUID=*) \
root="${root#overlay:}"
root="${root//\//\\x2f}"
root="block:/dev/disk/by-partuuid/${root#PARTUUID=}"
+ rootok=1
;;
overlay:LABEL=*|LABEL=*) \
root="${root#overlay:}"
root="${root//\//\\x2f}"
root="block:/dev/disk/by-label/${root#LABEL=}"
+ rootok=1
;;
overlay:nbd=*) \
root="block:/dev/nbd0"
need_network=1
+ rootok=1
;;
overlay:aoe=*) \
root="${root#overlay:aoe=}"
root="block:/dev/etherd/${root}"
need_network=1
+ rootok=1
;;
esac
@@ -52,9 +57,6 @@
fi
fi
-# Done, all good!
-rootok=1
-
[ "${rootok}" = "1" ] || return 1
info "root was ${overlayroot}, is now ${root}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/builder/disk.py new/kiwi-9.24.49/kiwi/builder/disk.py
--- old/kiwi-9.24.48/kiwi/builder/disk.py 2022-08-23 11:48:07.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/builder/disk.py 2022-09-18 20:32:30.000000000 +0200
@@ -127,6 +127,7 @@
self.force_mbr = xml_state.build_type.get_force_mbr()
self.luks = xml_state.get_luks_credentials()
self.integrity_root = xml_state.build_type.get_standalone_integrity()
+ self.integrity_legacy_hmac = xml_state.build_type.get_integrity_legacy_hmac()
self.integrity_keyfile = xml_state.build_type.get_integrity_keyfile()
self.integrity_key_description = \
xml_state.build_type.get_integrity_metadata_key_description()
@@ -319,12 +320,16 @@
# create integrity on current root device if requested
if self.integrity_root:
+ options = []
+ if self.integrity_legacy_hmac:
+ options.append('legacy_hmac')
self.integrity_root = IntegrityDevice(
device_map['root'], defaults.INTEGRITY_ALGORITHM,
integrity_credentials_type(
keydescription=self.integrity_key_description,
keyfile=self.integrity_keyfile,
- keyfile_algorithm=defaults.INTEGRITY_KEY_ALGORITHM
+ keyfile_algorithm=defaults.INTEGRITY_KEY_ALGORITHM,
+ options=options
)
)
self.integrity_root.create_dm_integrity()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/container/setup/base.py new/kiwi-9.24.49/kiwi/container/setup/base.py
--- old/kiwi-9.24.48/kiwi/container/setup/base.py 2021-07-14 18:09:36.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/container/setup/base.py 2022-10-22 22:11:52.000000000 +0200
@@ -20,7 +20,6 @@
# project
from kiwi.command import Command
-from kiwi.utils.sync import DataSync
from kiwi.exceptions import (
KiwiContainerSetupError
@@ -145,28 +144,6 @@
}
)
- def setup_static_device_nodes(self):
- """
- Container device node setup
-
- Without subsystems like udev running in a container it is
- required to provide a set of device nodes to let the
- system in the container function correctly. This is
- done by syncing the host system nodes to the container.
- That this will also create device nodes which are not
- necessarily present in the container later is a know
- limitation of this method and considered harmless
- """
- try:
- data = DataSync('/dev/', self.root_dir + '/dev/')
- data.sync_data(
- options=['-a', '-x', '--devices', '--specials']
- )
- except Exception as e:
- raise KiwiContainerSetupError(
- 'Failed to create static container nodes %s' % format(e)
- )
-
def get_container_name(self):
"""
Container name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/container/setup/oci.py new/kiwi-9.24.49/kiwi/container/setup/oci.py
--- old/kiwi-9.24.48/kiwi/container/setup/oci.py 2021-07-14 18:09:36.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/container/setup/oci.py 2022-10-22 22:11:52.000000000 +0200
@@ -50,7 +50,6 @@
self.deactivate_bootloader_setup()
self.deactivate_root_filesystem_check()
- self.setup_static_device_nodes()
self.setup_root_console()
for service in services_to_deactivate:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/schema/kiwi.rnc new/kiwi-9.24.49/kiwi/schema/kiwi.rnc
--- old/kiwi-9.24.48/kiwi/schema/kiwi.rnc 2022-08-09 18:24:06.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/schema/kiwi.rnc 2022-10-19 08:20:41.000000000 +0200
@@ -35,7 +35,7 @@
partition-size-type = xsd:token {pattern = "(\d+|\d+M|\d+G)"}
vhd-tag-type = xsd:token {pattern = "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}"}
groups-list = xsd:token {pattern = "[a-zA-Z0-9_\-\.:]+(,[a-zA-Z0-9_\-\.:]+)*"}
-arch-name = xsd:token {pattern = "(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x)(,(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x))*"}
+arch-name = xsd:token {pattern = "(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x|riscv64)(,(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x|riscv64))*"}
portnum-type = xsd:token {pattern = "(\d+|\d+/(udp|tcp))"}
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))*"}
@@ -1002,12 +1002,13 @@
}
k.repository.alias.attribute =
## Alias name to be used for this repository. This is an
- ## optional free form text. If not set the source attribute
+ ## optional free-form text restricted to characters from the
+ ## POSIX standard. If not set the source attribute
## value is used and builds the alias name by running a md5 digest
## of the defined URI of the repository. An alias name should be
## set if the source argument doesn't really explain what this
## repository contains.
- attribute alias { text }
+ attribute alias { safe-posix-name }
k.repository.components.attribute =
## Distribution components, used for deb repositories. If
## not set it defaults to main
@@ -1644,6 +1645,20 @@
is-a = "image_integrity_requirement"
sch:param [ name = "attr" value = "standalone_integrity" ]
]
+ k.type.integrity_legacy_hmac.attribute =
+ ## In combination with the standalone_integrity attribute,
+ ## Allow to use old flawed HMAC calculation (does not protect superblock)
+ attribute integrity_legacy_hmac { xsd:boolean }
+ >> sch:pattern [
+ id = "integrity_legacy_hmac" is-a = "image_type"
+ sch:param [ name = "attr" value = "integrity_legacy_hmac" ]
+ sch:param [ name = "types" value = "oem" ]
+ ]
+ >> sch:pattern [
+ id = "standalone_integrity_mandatory"
+ is-a = "integrity_legacy_hmac_requirement"
+ sch:param [ name = "attr" value = "standalone_integrity" ]
+ ]
k.type.integrity_keyfile.attribute =
## In combination with the standalone_integrity attribute,
## protect access to the integrity map using the given key.
@@ -2156,6 +2171,7 @@
k.type.embed_verity_metadata.attribute? &
k.type.standalone_integrity.attribute? &
k.type.embed_integrity_metadata.attribute? &
+ k.type.integrity_legacy_hmac.attribute? &
k.type.integrity_metadata_key_description? &
k.type.integrity_keyfile.attribute? &
k.type.primary.attribute? &
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/schema/kiwi.rng new/kiwi-9.24.49/kiwi/schema/kiwi.rng
--- old/kiwi-9.24.48/kiwi/schema/kiwi.rng 2022-08-09 18:24:06.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/schema/kiwi.rng 2022-10-19 08:20:41.000000000 +0200
@@ -78,7 +78,7 @@
</define>
<define name="arch-name">
<data type="token">
- <param name="pattern">(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x)(,(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x))*</param>
+ <param name="pattern">(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x|riscv64)(,(x86_64|i586|i686|ix86|aarch64|arm64|armv5el|armv5tel|armv6hl|armv6l|armv7hl|armv7l|ppc|ppc64|ppc64le|s390|s390x|riscv64))*</param>
</data>
</define>
<define name="portnum-type">
@@ -1521,11 +1521,13 @@
<define name="k.repository.alias.attribute">
<attribute name="alias">
<a:documentation>Alias name to be used for this repository. This is an
-optional free form text. If not set the source attribute
+optional free-form text restricted to characters from the
+POSIX standard. If not set the source attribute
value is used and builds the alias name by running a md5 digest
of the defined URI of the repository. An alias name should be
set if the source argument doesn't really explain what this
repository contains.</a:documentation>
+ <ref name="safe-posix-name"/>
</attribute>
</define>
<define name="k.repository.components.attribute">
@@ -2366,6 +2368,20 @@
<sch:param name="attr" value="standalone_integrity"/>
</sch:pattern>
</define>
+ <define name="k.type.integrity_legacy_hmac.attribute">
+ <attribute name="integrity_legacy_hmac">
+ <a:documentation>In combination with the standalone_integrity attribute,
+Allow to use old flawed HMAC calculation (does not protect superblock)</a:documentation>
+ <data type="boolean"/>
+ </attribute>
+ <sch:pattern id="integrity_legacy_hmac" is-a="image_type">
+ <sch:param name="attr" value="integrity_legacy_hmac"/>
+ <sch:param name="types" value="oem"/>
+ </sch:pattern>
+ <sch:pattern id="standalone_integrity_mandatory" is-a="integrity_legacy_hmac_requirement">
+ <sch:param name="attr" value="standalone_integrity"/>
+ </sch:pattern>
+ </define>
<define name="k.type.integrity_keyfile.attribute">
<attribute name="integrity_keyfile">
<a:documentation>In combination with the standalone_integrity attribute,
@@ -3150,6 +3166,9 @@
<ref name="k.type.embed_integrity_metadata.attribute"/>
</optional>
<optional>
+ <ref name="k.type.integrity_legacy_hmac.attribute"/>
+ </optional>
+ <optional>
<ref name="k.type.integrity_metadata_key_description"/>
</optional>
<optional>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/storage/integrity_device.py new/kiwi-9.24.49/kiwi/storage/integrity_device.py
--- old/kiwi-9.24.48/kiwi/storage/integrity_device.py 2022-05-11 13:21:54.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/storage/integrity_device.py 2022-09-18 20:32:30.000000000 +0200
@@ -37,7 +37,8 @@
'integrity_credentials_type', [
('keydescription', str),
('keyfile', str),
- ('keyfile_algorithm', str)
+ ('keyfile_algorithm', str),
+ ('options', List[str])
]
)
@@ -80,6 +81,11 @@
self.integrity_open_options = [
'--integrity', self.integrity_algorithm
]
+ if credentials and credentials.options:
+ if 'legacy_hmac' in credentials.options:
+ self.integrity_format_options.append(
+ '--integrity-legacy-hmac'
+ )
if credentials and credentials.keyfile:
integrity_key_options = [
'--integrity-key-file', credentials.keyfile,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/system/result.py new/kiwi-9.24.49/kiwi/system/result.py
--- old/kiwi-9.24.48/kiwi/system/result.py 2021-10-25 14:25:37.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/system/result.py 2022-10-22 22:11:52.000000000 +0200
@@ -162,7 +162,7 @@
)
@staticmethod
- def load(filename: str) -> result_type:
+ def load(filename: str) -> result_type: # type: ignore
"""
Load pickle dumped filename into a Result instance
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/version.py new/kiwi-9.24.49/kiwi/version.py
--- old/kiwi-9.24.48/kiwi/version.py 2022-08-23 11:48:16.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/version.py 2022-10-22 22:27:41.000000000 +0200
@@ -18,5 +18,5 @@
"""
Global version information used in kiwi and the package
"""
-__version__ = '9.24.48'
-__githash__ = 'c969cf8e622f7d0116863bf1290208a0a4c3a907'
+__version__ = '9.24.49'
+__githash__ = '6d39ae0e2ce487e590cff1a2962e172d94ec28d7'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi/xml_parse.py new/kiwi-9.24.49/kiwi/xml_parse.py
--- old/kiwi-9.24.48/kiwi/xml_parse.py 2022-08-09 18:24:06.000000000 +0200
+++ new/kiwi-9.24.49/kiwi/xml_parse.py 2022-10-15 17:15:58.000000000 +0200
@@ -2230,6 +2230,13 @@
def set_username(self, username): self.username = username
def get_use_for_bootstrap(self): return self.use_for_bootstrap
def set_use_for_bootstrap(self, use_for_bootstrap): self.use_for_bootstrap = use_for_bootstrap
+ def validate_safe_posix_name(self, value):
+ # Validate type safe-posix-name, a restriction on xs:token.
+ if value is not None and Validate_simpletypes_:
+ if not self.gds_validate_simple_patterns(
+ self.validate_safe_posix_name_patterns_, value):
+ warnings_.warn('Value "%s" does not match xsd pattern restrictions: %s' % (value.encode('utf-8'), self.validate_safe_posix_name_patterns_, ))
+ validate_safe_posix_name_patterns_ = [['^[a-zA-Z0-9_\\-\\.]+$']]
def hasContent_(self):
if (
super(repository, self).hasContent_()
@@ -2268,7 +2275,7 @@
outfile.write(' profiles=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.profiles), input_name='profiles')), ))
if self.alias is not None and 'alias' not in already_processed:
already_processed.add('alias')
- outfile.write(' alias=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.alias), input_name='alias')), ))
+ outfile.write(' alias=%s' % (quote_attrib(self.alias), ))
if self.sourcetype is not None and 'sourcetype' not in already_processed:
already_processed.add('sourcetype')
outfile.write(' sourcetype=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.sourcetype), input_name='sourcetype')), ))
@@ -2328,6 +2335,8 @@
if value is not None and 'alias' not in already_processed:
already_processed.add('alias')
self.alias = value
+ self.alias = ' '.join(self.alias.split())
+ self.validate_safe_posix_name(self.alias) # validate type safe-posix-name
value = find_attr_value_('sourcetype', node)
if value is not None and 'sourcetype' not in already_processed:
already_processed.add('sourcetype')
@@ -2798,7 +2807,7 @@
"""The Image Type of the Logical Extend"""
subclass = None
superclass = None
- def __init__(self, boot=None, bootfilesystem=None, firmware=None, bootkernel=None, bootpartition=None, bootpartsize=None, efipartsize=None, efifatimagesize=None, efiparttable=None, dosparttable_extended_layout=None, bootprofile=None, btrfs_quota_groups=None, btrfs_root_is_snapshot=None, btrfs_root_is_readonly_snapshot=None, compressed=None, devicepersistency=None, editbootconfig=None, editbootinstall=None, filesystem=None, flags=None, format=None, formatoptions=None, fsmountoptions=None, fscreateoptions=None, squashfscompression=None, gcelicense=None, hybridpersistent=None, hybridpersistent_filesystem=None, gpt_hybrid_mbr=None, force_mbr=None, initrd_system=None, image=None, metadata_path=None, installboot=None, install_continue_on_timeout=None, installprovidefailsafe=None, installiso=None, installstick=None, installpxe=None, mediacheck=None, kernelcmdline=None, luks=None, luks_version=None, luksOS=None, mdraid=None, overlayroot=None, overlayroot_write_partition=None, overlayroo
t_readonly_partsize=None, verity_blocks=None, embed_verity_metadata=None, standalone_integrity=None, embed_integrity_metadata=None, integrity_metadata_key_description=None, integrity_keyfile=None, primary=None, ramonly=None, rootfs_label=None, spare_part=None, spare_part_mountpoint=None, spare_part_fs=None, spare_part_fs_attributes=None, spare_part_is_last=None, target_blocksize=None, target_removable=None, selinux_policy=None, vga=None, vhdfixedtag=None, volid=None, wwid_wait_timeout=None, derived_from=None, ensure_empty_tmpdirs=None, xen_server=None, publisher=None, disk_start_sector=None, root_clone=None, boot_clone=None, bundle_format=None, bootloader=None, containerconfig=None, machine=None, oemconfig=None, size=None, systemdisk=None, partitions=None, vagrantconfig=None, installmedia=None, luksformat=None):
+ def __init__(self, boot=None, bootfilesystem=None, firmware=None, bootkernel=None, bootpartition=None, bootpartsize=None, efipartsize=None, efifatimagesize=None, efiparttable=None, dosparttable_extended_layout=None, bootprofile=None, btrfs_quota_groups=None, btrfs_root_is_snapshot=None, btrfs_root_is_readonly_snapshot=None, compressed=None, devicepersistency=None, editbootconfig=None, editbootinstall=None, filesystem=None, flags=None, format=None, formatoptions=None, fsmountoptions=None, fscreateoptions=None, squashfscompression=None, gcelicense=None, hybridpersistent=None, hybridpersistent_filesystem=None, gpt_hybrid_mbr=None, force_mbr=None, initrd_system=None, image=None, metadata_path=None, installboot=None, install_continue_on_timeout=None, installprovidefailsafe=None, installiso=None, installstick=None, installpxe=None, mediacheck=None, kernelcmdline=None, luks=None, luks_version=None, luksOS=None, mdraid=None, overlayroot=None, overlayroot_write_partition=None, overlayroo
t_readonly_partsize=None, verity_blocks=None, embed_verity_metadata=None, standalone_integrity=None, embed_integrity_metadata=None, integrity_legacy_hmac=None, integrity_metadata_key_description=None, integrity_keyfile=None, primary=None, ramonly=None, rootfs_label=None, spare_part=None, spare_part_mountpoint=None, spare_part_fs=None, spare_part_fs_attributes=None, spare_part_is_last=None, target_blocksize=None, target_removable=None, selinux_policy=None, vga=None, vhdfixedtag=None, volid=None, wwid_wait_timeout=None, derived_from=None, ensure_empty_tmpdirs=None, xen_server=None, publisher=None, disk_start_sector=None, root_clone=None, boot_clone=None, bundle_format=None, bootloader=None, containerconfig=None, machine=None, oemconfig=None, size=None, systemdisk=None, partitions=None, vagrantconfig=None, installmedia=None, luksformat=None):
self.original_tagname_ = None
self.boot = _cast(None, boot)
self.bootfilesystem = _cast(None, bootfilesystem)
@@ -2852,6 +2861,7 @@
self.embed_verity_metadata = _cast(bool, embed_verity_metadata)
self.standalone_integrity = _cast(bool, standalone_integrity)
self.embed_integrity_metadata = _cast(bool, embed_integrity_metadata)
+ self.integrity_legacy_hmac = _cast(bool, integrity_legacy_hmac)
self.integrity_metadata_key_description = _cast(None, integrity_metadata_key_description)
self.integrity_keyfile = _cast(None, integrity_keyfile)
self.primary = _cast(bool, primary)
@@ -3082,6 +3092,8 @@
def set_standalone_integrity(self, standalone_integrity): self.standalone_integrity = standalone_integrity
def get_embed_integrity_metadata(self): return self.embed_integrity_metadata
def set_embed_integrity_metadata(self, embed_integrity_metadata): self.embed_integrity_metadata = embed_integrity_metadata
+ def get_integrity_legacy_hmac(self): return self.integrity_legacy_hmac
+ def set_integrity_legacy_hmac(self, integrity_legacy_hmac): self.integrity_legacy_hmac = integrity_legacy_hmac
def get_integrity_metadata_key_description(self): return self.integrity_metadata_key_description
def set_integrity_metadata_key_description(self, integrity_metadata_key_description): self.integrity_metadata_key_description = integrity_metadata_key_description
def get_integrity_keyfile(self): return self.integrity_keyfile
@@ -3368,6 +3380,9 @@
if self.embed_integrity_metadata is not None and 'embed_integrity_metadata' not in already_processed:
already_processed.add('embed_integrity_metadata')
outfile.write(' embed_integrity_metadata="%s"' % self.gds_format_boolean(self.embed_integrity_metadata, input_name='embed_integrity_metadata'))
+ if self.integrity_legacy_hmac is not None and 'integrity_legacy_hmac' not in already_processed:
+ already_processed.add('integrity_legacy_hmac')
+ outfile.write(' integrity_legacy_hmac="%s"' % self.gds_format_boolean(self.integrity_legacy_hmac, input_name='integrity_legacy_hmac'))
if self.integrity_metadata_key_description is not None and 'integrity_metadata_key_description' not in already_processed:
already_processed.add('integrity_metadata_key_description')
outfile.write(' integrity_metadata_key_description=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.integrity_metadata_key_description), input_name='integrity_metadata_key_description')), ))
@@ -3821,6 +3836,15 @@
self.embed_integrity_metadata = False
else:
raise_parse_error(node, 'Bad boolean attribute')
+ value = find_attr_value_('integrity_legacy_hmac', node)
+ if value is not None and 'integrity_legacy_hmac' not in already_processed:
+ already_processed.add('integrity_legacy_hmac')
+ if value in ('true', '1'):
+ self.integrity_legacy_hmac = True
+ elif value in ('false', '0'):
+ self.integrity_legacy_hmac = False
+ else:
+ raise_parse_error(node, 'Bad boolean attribute')
value = find_attr_value_('integrity_metadata_key_description', node)
if value is not None and 'integrity_metadata_key_description' not in already_processed:
already_processed.add('integrity_metadata_key_description')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/kiwi.egg-info/PKG-INFO new/kiwi-9.24.49/kiwi.egg-info/PKG-INFO
--- old/kiwi-9.24.48/kiwi.egg-info/PKG-INFO 2022-08-23 11:51:24.000000000 +0200
+++ new/kiwi-9.24.49/kiwi.egg-info/PKG-INFO 2022-10-22 22:29:41.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: kiwi
-Version: 9.24.48
+Version: 9.24.49
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.48/setup.cfg new/kiwi-9.24.49/setup.cfg
--- old/kiwi-9.24.48/setup.cfg 2022-08-23 11:51:25.000000000 +0200
+++ new/kiwi-9.24.49/setup.cfg 2022-10-22 22:29:42.000000000 +0200
@@ -9,7 +9,7 @@
[flake8]
exclude = xml_parse.py
ignore = E501, W605
-max-complexity = 26
+max-complexity = 28
[doc8]
max-line-length = 90
Binary files old/kiwi-9.24.48/test/unit/.coverage and new/kiwi-9.24.49/test/unit/.coverage differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/test/unit/builder/disk_test.py new/kiwi-9.24.49/test/unit/builder/disk_test.py
--- old/kiwi-9.24.48/test/unit/builder/disk_test.py 2022-07-12 09:46:10.000000000 +0200
+++ new/kiwi-9.24.49/test/unit/builder/disk_test.py 2022-09-18 20:32:30.000000000 +0200
@@ -606,6 +606,7 @@
filesystem = Mock()
mock_fs.return_value = filesystem
self.disk_builder.integrity_root = True
+ self.disk_builder.integrity_legacy_hmac = True
self.disk_builder.root_filesystem_embed_integrity_metadata = True
self.disk_builder.root_filesystem_is_overlay = False
self.disk_builder.volume_manager_name = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/test/unit/container/setup/base_test.py new/kiwi-9.24.49/test/unit/container/setup/base_test.py
--- old/kiwi-9.24.48/test/unit/container/setup/base_test.py 2022-05-11 08:59:15.000000000 +0200
+++ new/kiwi-9.24.49/test/unit/container/setup/base_test.py 2022-10-22 22:11:52.000000000 +0200
@@ -2,7 +2,6 @@
patch, call, mock_open
)
from pytest import raises
-import mock
from kiwi.container.setup.base import ContainerSetupBase
@@ -102,22 +101,3 @@
assert m_open.return_value.write.call_args_list == [
call('\nconsole\n')
]
-
- @patch('kiwi.container.setup.base.Command.run')
- @patch('kiwi.container.setup.base.DataSync')
- def test_setup_static_device_nodes(self, mock_DataSync, mock_command):
- data = mock.Mock()
- mock_DataSync.return_value = data
- self.container.setup_static_device_nodes()
- mock_DataSync.assert_called_once_with(
- '/dev/', 'root_dir/dev/'
- )
- data.sync_data.assert_called_once_with(
- options=['-a', '-x', '--devices', '--specials']
- )
-
- @patch('kiwi.container.setup.base.Command.run')
- def test_setup_static_device_nodes_failed(self, mock_command):
- mock_command.side_effect = Exception
- with raises(KiwiContainerSetupError):
- self.container.setup_static_device_nodes()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/test/unit/container/setup/oci_test.py new/kiwi-9.24.49/test/unit/container/setup/oci_test.py
--- old/kiwi-9.24.48/test/unit/container/setup/oci_test.py 2022-05-11 08:59:15.000000000 +0200
+++ new/kiwi-9.24.49/test/unit/container/setup/oci_test.py 2022-10-22 22:11:52.000000000 +0200
@@ -16,7 +16,6 @@
self.container.deactivate_bootloader_setup = mock.Mock()
self.container.deactivate_root_filesystem_check = mock.Mock()
- self.container.setup_static_device_nodes = mock.Mock()
self.container.setup_root_console = mock.Mock()
self.container.deactivate_systemd_service = mock.Mock()
@@ -28,7 +27,6 @@
self.container.setup()
self.container.deactivate_bootloader_setup.assert_called_once_with()
self.container.deactivate_root_filesystem_check.assert_called_once_with()
- self.container.setup_static_device_nodes.assert_called_once_with()
assert self.container.deactivate_systemd_service.call_args_list == [
call('device-mapper.service'),
call('kbd.service'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi-9.24.48/test/unit/storage/integrity_device_test.py new/kiwi-9.24.49/test/unit/storage/integrity_device_test.py
--- old/kiwi-9.24.48/test/unit/storage/integrity_device_test.py 2022-05-11 13:21:54.000000000 +0200
+++ new/kiwi-9.24.49/test/unit/storage/integrity_device_test.py 2022-09-18 20:32:30.000000000 +0200
@@ -37,7 +37,8 @@
integrity_credentials_type(
keydescription=None,
keyfile='/etc/pki/storage/dm-integrity-hmac-secret.bin',
- keyfile_algorithm=defaults.INTEGRITY_KEY_ALGORITHM
+ keyfile_algorithm=defaults.INTEGRITY_KEY_ALGORITHM,
+ options=['legacy_hmac']
)
)
@@ -85,6 +86,7 @@
[
'integritysetup', '-v', '--batch-mode', 'format',
'--integrity', 'hmac-sha256', '--sector-size', '512',
+ '--integrity-legacy-hmac',
'--integrity-key-file',
'/etc/pki/storage/dm-integrity-hmac-secret.bin',
'--integrity-key-size', '42',
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-Pympler for openSUSE:Factory checked in at 2022-10-27 13:53:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Pympler (Old)
and /work/SRC/openSUSE:Factory/.python-Pympler.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Pympler"
Thu Oct 27 13:53:04 2022 rev:6 rq:1031404 version:1.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Pympler/python-Pympler.changes 2022-06-09 14:09:31.644345807 +0200
+++ /work/SRC/openSUSE:Factory/.python-Pympler.new.2275/python-Pympler.changes 2022-10-27 13:53:20.296312232 +0200
@@ -1,0 +2,12 @@
+Wed Oct 26 21:16:00 UTC 2022 - Matej Cepl <mcepl(a)suse.com>
+
+- Reorganize skipping of failing tests.
+
+-------------------------------------------------------------------
+Wed Oct 26 12:37:21 UTC 2022 - Matej Cepl <mcepl(a)suse.com>
+
+- Add no-inspect-getargspec.patch porting out deprecated
+ (and in 3.11 removed) method inspect.getargspec
+ (gh#pympler/pympler#148).
+
+-------------------------------------------------------------------
New:
----
no-inspect-getargspec.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Pympler.spec ++++++
--- /var/tmp/diff_new_pack.y3RuAv/_old 2022-10-27 13:53:20.744314517 +0200
+++ /var/tmp/diff_new_pack.y3RuAv/_new 2022-10-27 13:53:20.748314538 +0200
@@ -25,7 +25,12 @@
License: Apache-2.0
URL: https://github.com/pympler/pympler
Source: https://files.pythonhosted.org/packages/source/P/Pympler/Pympler-%{version}…
+# PATCH-FIX-UPSTREAM pympler-flaky-tests.patch gh#pympler/pympler#90 mcepl(a)suse.com
+# More cycles needed with more recent versions of Python
Patch0: pympler-flaky-tests.patch
+# PATCH-FIX-UPSTREAM no-inspect-getargspec.patch gh#pympler/pympler#148 mcepl(a)suse.com
+# Replaced removed method inspect.getargspec
+Patch1: no-inspect-getargspec.patch
BuildRequires: %{python_module dbm}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
@@ -44,8 +49,7 @@
can easily be identified.
%prep
-%setup -q -n Pympler-%{version}
-%patch0 -p1
+%autosetup -p1 -n Pympler-%{version}
%build
%python_build
@@ -55,7 +59,11 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%pytest -k 'not (test_otracker_diff or test_repr_function or test_stracker or test_snapshot_members or test_charts)'
+# gh#pympler/pympler#134
+skiptests="test_repr_function"
+# gh#pympler/pympler#148
+skiptests+=" or test_findgarbage or test_prune or test_get_tree"
+%pytest -k "not ($skiptests)"
%files %{python_files}
%license LICENSE
++++++ no-inspect-getargspec.patch ++++++
---
pympler/util/bottle.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- a/pympler/util/bottle.py
+++ b/pympler/util/bottle.py
@@ -41,7 +41,7 @@ import base64, cgi, email.utils, functoo
from datetime import date as datedate, datetime, timedelta
from tempfile import TemporaryFile
from traceback import format_exc, print_exc
-from inspect import getargspec
+from inspect import getfullargspec
from unicodedata import normalize
@@ -554,7 +554,7 @@ class Route(object):
''' Return a list of argument names the callback (most likely) accepts
as keyword arguments. If the callback is a decorated function, try
to recover the original function before inspection. '''
- return getargspec(self.get_undecorated_callback())[0]
+ return getfullargspec(self.get_undecorated_callback())[0]
def get_config(self, key, default=None):
''' Lookup a config field and return its value, first checking the
@@ -2645,7 +2645,7 @@ def yieldroutes(func):
d(x=5, y=6) -> '/d' and '/d/<x>' and '/d/<x>/<y>'
"""
path = '/' + func.__name__.replace('__','/').lstrip('/')
- spec = getargspec(func)
+ spec = getfullargspec(func)
argc = len(spec[0]) - len(spec[3] or [])
path += ('/<%s>' * argc) % tuple(spec[0][:argc])
yield path
++++++ pympler-flaky-tests.patch ++++++
--- /var/tmp/diff_new_pack.y3RuAv/_old 2022-10-27 13:53:20.792314762 +0200
+++ /var/tmp/diff_new_pack.y3RuAv/_new 2022-10-27 13:53:20.796314783 +0200
@@ -1,8 +1,10 @@
-Index: Pympler-0.7/test/asizeof/test_asizeof.py
-===================================================================
---- Pympler-0.7.orig/test/asizeof/test_asizeof.py
-+++ Pympler-0.7/test/asizeof/test_asizeof.py
-@@ -197,8 +197,8 @@ class TypesTest(unittest.TestCase):
+---
+ test/asizeof/test_asizeof.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/test/asizeof/test_asizeof.py
++++ b/test/asizeof/test_asizeof.py
+@@ -193,8 +193,8 @@ class TypesTest(unittest.TestCase):
s = asizeof.asizeof(all=True, code=True)
c = gc.collect()
# NumPy (and/or other, recent) modules causes some
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package linuxrc for openSUSE:Factory checked in at 2022-10-27 13:53:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/linuxrc (Old)
and /work/SRC/openSUSE:Factory/.linuxrc.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "linuxrc"
Thu Oct 27 13:53:02 2022 rev:312 rq:1031370 version:8.16
Changes:
--------
--- /work/SRC/openSUSE:Factory/linuxrc/linuxrc.changes 2022-10-16 16:09:04.730735440 +0200
+++ /work/SRC/openSUSE:Factory/.linuxrc.new.2275/linuxrc.changes 2022-10-27 13:53:16.252291604 +0200
@@ -1,0 +2,7 @@
+Wed Oct 26 15:17:07 UTC 2022 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/linuxrc#307
+- s390x: support PCI-attached networking device (jsc#PED-619)
+- 8.16
+
+--------------------------------------------------------------------
Old:
----
linuxrc-8.15.tar.xz
New:
----
linuxrc-8.16.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linuxrc.spec ++++++
--- /var/tmp/diff_new_pack.c3dw3p/_old 2022-10-27 13:53:17.800299500 +0200
+++ /var/tmp/diff_new_pack.c3dw3p/_new 2022-10-27 13:53:17.812299561 +0200
@@ -17,7 +17,7 @@
Name: linuxrc
-Version: 8.15
+Version: 8.16
Release: 0
Summary: SUSE Installation Program
License: GPL-3.0+
++++++ linuxrc-8.15.tar.xz -> linuxrc-8.16.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.15/VERSION new/linuxrc-8.16/VERSION
--- old/linuxrc-8.15/VERSION 2022-10-14 19:58:15.000000000 +0200
+++ new/linuxrc-8.16/VERSION 2022-10-26 17:17:07.000000000 +0200
@@ -1 +1 @@
-8.15
+8.16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.15/changelog new/linuxrc-8.16/changelog
--- old/linuxrc-8.15/changelog 2022-10-14 19:58:15.000000000 +0200
+++ new/linuxrc-8.16/changelog 2022-10-26 17:17:07.000000000 +0200
@@ -1,3 +1,7 @@
+2022-10-26: 8.16
+ - merge gh#openSUSE/linuxrc#307
+ - s390x: support PCI-attached networking device (jsc#PED-619)
+
2022-10-14: 8.15
- merge gh#openSUSE/linuxrc#304
- make s390x hypervisor setting configurable (for debugging)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.15/dialog.c new/linuxrc-8.16/dialog.c
--- old/linuxrc-8.15/dialog.c 2022-10-14 19:58:15.000000000 +0200
+++ new/linuxrc-8.16/dialog.c 2022-10-26 17:17:07.000000000 +0200
@@ -108,7 +108,8 @@
{ di_390net_hsi, "HiperSockets" },
{ di_390net_virtio, "VirtIO Ethernet CCW Device"},
{ di_390net_sep, "#--------------------" },
-
+ { di_390net_pci, "PCI-attached networking device" },
+
{ di_ctc_compat, "Compatibility mode (default)" },
{ di_ctc_ext, "Extended mode" },
{ di_ctc_zos390, "Compatibility mode for OS/390 and z/OS peers" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.15/dialog.h new/linuxrc-8.16/dialog.h
--- old/linuxrc-8.15/dialog.h 2022-10-14 19:58:15.000000000 +0200
+++ new/linuxrc-8.16/dialog.h 2022-10-26 17:17:07.000000000 +0200
@@ -91,6 +91,7 @@
di_390net_qdio,
di_390net_lcs,
di_390net_sep,
+ di_390net_pci,
di_ctc_compat,
di_ctc_ext,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-8.15/net.c new/linuxrc-8.16/net.c
--- old/linuxrc-8.15/net.c 2022-10-14 19:58:15.000000000 +0200
+++ new/linuxrc-8.16/net.c 2022-10-26 17:17:07.000000000 +0200
@@ -1412,6 +1412,8 @@
di_390net_sep,
di_390net_ctc,
di_390net_iucv,
+ di_390net_sep,
+ di_390net_pci,
di_none
};
if(!strcmp(config.hwp.hypervisor, "KVM")) {
@@ -1562,6 +1564,10 @@
return 0;
break;
+ case di_390net_pci:
+ return 0;
+ break;
+
default:
return -1;
}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package transactional-update for openSUSE:Factory checked in at 2022-10-27 13:53:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transactional-update (Old)
and /work/SRC/openSUSE:Factory/.transactional-update.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "transactional-update"
Thu Oct 27 13:53:01 2022 rev:92 rq:1031369 version:4.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/transactional-update/transactional-update.changes 2022-09-06 13:00:36.938903736 +0200
+++ /work/SRC/openSUSE:Factory/.transactional-update.new.2275/transactional-update.changes 2022-10-27 13:53:15.084285646 +0200
@@ -0,0 +1,19 @@
+Fri Sep 30 12:39:17 UTC 2022 - Ignaz Forster <iforster(a)suse.com>
+
+- Version 4.1.0
+ - t-u: Add a "setup-kdump" command; implements [jsc#PED-1441]
+ - Export TRANSACTIONAL_UPDATE_ROOT (the path to the snapshot) in
+ the update environment; implements [jsc#PED-1078]
+ - Add support for "notify" reboot method for desktop use
+ [gh#openSUSE/transactional-update#93]
+ - Fix kdump initrd recreation detection; the check was performed in the
+ active snapshot instead of the target snapshot
+ - Document register command [bsc#1202900]
+ - Avoid unnecessary snapshots for register command [bsc#1202901]
+ - Various optimizations for register command
+ - Remove bogus error message when triggering reboot
+ - Rework /etc overlay documentation in "The Transactional Update Guide"
+ - Fix incorrect manpage formatting
+ - Remove leftover "salt" reboot method in configuration example file
+ - Replace deprecated std::mem_fn with lambdas
+
Old:
----
transactional-update-4.0.1.tar.gz
New:
----
transactional-update-4.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ transactional-update.spec ++++++
--- /var/tmp/diff_new_pack.PLs5Fm/_old 2022-10-27 13:53:15.680288687 +0200
+++ /var/tmp/diff_new_pack.PLs5Fm/_new 2022-10-27 13:53:15.688288727 +0200
@@ -26,7 +26,7 @@
%{!?_distconfdir: %global _distconfdir %{_prefix}%{_sysconfdir}}
Name: transactional-update
-Version: 4.0.1
+Version: 4.1.0
Release: 0
Summary: Transactional Updates with btrfs and snapshots
License: GPL-2.0-or-later AND LGPL-2.1-or-later
++++++ transactional-update-4.0.1.tar.gz -> transactional-update-4.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/NEWS new/transactional-update-4.1.0/NEWS
--- old/transactional-update-4.0.1/NEWS 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/NEWS 2022-10-26 16:50:43.000000000 +0200
@@ -2,6 +2,27 @@
Copyright (C) 2016-2022 Thorsten Kukuk, Ignaz Forster et al.
+Version 4.1.0
+* t-u: Add a "setup-kdump" command; implements [jsc#PED-1441]
+* Add support for ULP (Userspace Live Patching) [jsc#PED-1078]:
+ * Export TRANSACTIONAL_UPDATE_ROOT (the path to the snapshot) in
+ the update environment
+ * Unfortunately requires a separate bind mount in /tmp again for the
+ update environment, as libpulp has to be able to access the snapshot
+ directly, without it being bind mounted on itself
+* Add support for "notify" reboot method for desktop use
+ [gh#openSUSE/transactional-update#93]
+* Fix kdump initrd recreation detection; the check was performed in the
+ active snapshot instead of the target snapshot
+* Document register command [bsc#1202900]
+* Avoid unnecessary snapshots for register command [bsc#1202901]
+* Various optimizations for register command
+* Remove bogus error message when triggering reboot
+* Rework /etc overlay documentation in "The Transactional Update Guide"
+* Fix incorrect manpage formatting
+* Remove leftover "salt" reboot method in configuration example file
+* Replace deprecated std::mem_fn with lambdas
+
Version 4.0.1
* create_dirs_from_rpmdb: Just warn if no default SELinux context found
[gh#openSUSE/transactional-update#88], [bsc#1188215]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/configure.ac new/transactional-update-4.1.0/configure.ac
--- old/transactional-update-4.0.1/configure.ac 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/configure.ac 2022-10-26 16:50:43.000000000 +0200
@@ -1,11 +1,11 @@
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(transactional-update, 4.0.1)
+AC_INIT(transactional-update, 4.1.0)
# Increase on any interface change and reset revision
LIBTOOL_CURRENT=4
-# Increase or reset on any VERSION update
-LIBTOOL_REVISION=0
-# Increase if interface change is backwards compatible, reset otherwise
+# On interface change increase if backwards compatible, reset otherwise
LIBTOOL_AGE=0
+# Increase on *any* C/C++ library code change, reset at interface change
+LIBTOOL_REVISION=1
AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_FILES([tukit.pc])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/doc/transactional-update.xml new/transactional-update-4.1.0/doc/transactional-update.xml
--- old/transactional-update-4.0.1/doc/transactional-update.xml 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/doc/transactional-update.xml 2022-10-26 16:50:43.000000000 +0200
@@ -163,7 +163,7 @@
For these systems transactional-updates provides automatic
updates; snapshots with failed updates will be automatically removed.
Automatic reboots can be triggered using a variety of different reboot
- methods (e.g. rebootmgr, kured or systemd), making the appliance of
+ methods (e.g. rebootmgr, notify, kured or systemd), making the appliance of
the updates cluster aware.
</para>
<para>
@@ -485,56 +485,117 @@
<title>/etc</title>
<para>
<emphasis remap='B'>transactional-update</emphasis> also supports
- write support to <filename class='directory'>/etc</filename> on an
+ write operations to <filename class='directory'>/etc</filename> on an
otherwise read-only file system. To do so an
<emphasis>overlayfs</emphasis> layer is put on top of the system's
<filename class='directory'>/etc</filename> directory. All modified
configuration files will end up in the current snapshot's overlay in
- <filename class='directory'>/var/lib/overlay/<snapshotnum>/etc</filename>.
+ <filename class='directory'>/var/lib/overlay/<snapshotnum>/etc</filename>,
+ with each snapshot having one associated overlay directory.
</para>
<para>
- Each snapshot will have one associated overlay directory. On creating
- a new snapshot the previous snapshot's
- <filename class='directory'>/etc</filename> state will be sychronized
- into the new snapshot and used as a base. The overlay directories of
- the current and the new snapshot are then mounted using overlay
- stacking, i.e. the new snapshot's overlay will be mounted as the
- <option>upperdir</option> and the current snapshot's overlay as
- <option>lowerdir</option>. This way changes applied to
- <filename class='directory'>/etc</filename> after the snapshot was
- taken, but before the reboot takes place, will still be visible to the
- new snapshot (Exception: If the file has been modified both in the
- current and the new snapshot, then the file state of the new snapshot
- will be visible).
+ The mounted <filename class='directory'>/etc</filename> directory will
+ typically consist of three (or more) layers. In
+ <filename>/etc/fstab</filename> this may look similar as the following
+ entry:
+ <programlisting>overlay /etc overlay defaults,upperdir=/sysroot/var/lib/overlay/82/etc,lowerdir=/sysroot/var/lib/overlay/81/etc:/sysroot/var/lib/overlay/76/etc:/sysroot/etc,workdir=/sysroot/var/lib/overlay/work-etc,x-systemd.requires-mounts-for=/var,x-systemd.requires-mounts-for=/var/lib/overlay,x-systemd.requires-mounts-for=/sysroot/var,x-systemd.requires-mounts-for=/sysroot/var/lib/overlay,x-initrd.mount 0 0</programlisting>
</para>
<para>
+ The important options are <option>upperdir</option> and
+ <option>lowerdir</option>. <option>upperdir</option> references the
+ write layer, i.e. the directory the system is currently writing to. If
+ a file in <filename class='directory'>/etc</filename> is opened for
+ read access, it will first try to open the file from this directory.
+ If the file is not present in this layer, then overlayfs will search
+ in the <option>lowerdir</option>s from left to right until it finds
+ the file, i.e. the layers are <emphasis>transparent</emphasis>. The
+ last layer is the reference layer and always has to have a complete
+ copy of <filename class='directory'>/etc</filename>, all the layers
+ above just contain changes to that base layer.
+ </para>
+ <example>
+ <title>/etc layers</title>
+ <programlisting>
+upperdir (/var/lib/overlay/x/etc) | | file2 | file3 | file4 | |
+lowerdir1 (/var/lib/overlay/x-1/etc) | | | file3 | | file5 | file6
+lowerdir2 (/etc of snapshot x-2) | file1 | file2 | file3 | | | file6
+ </programlisting>
+ <para>
+ Let's have another look from the perspective while an update is
+ running. <replaceable>x</replaceable> is the id of the new snapshot
+ where the update is currently be performed in,
+ <replaceable>x-1</replaceable> is the id of the currently running
+ snapshot, and <replaceable>x-2</replaceable> is the id of the
+ snapshot before the currently running one.
+ </para>
+ <para>
+ <filename>file1</filename> is an old file that hasn't been
+ changed in the last two snapshots. Therefore it is only present in the
+ base / lowest overlay. As the file cannot be found in the first two
+ layers, the version from the base layer will be used.</para>
+ <para><filename>file2</filename> has been changed during the update.
+ The currently running system still sees the old version of the file
+ from the base layer, the updated system will see the new version of
+ the file.
+ </para>
+ <para>
+ <filename>file3</filename> has been changed during the update,
+ but there is also a modification in the currently running system. See
+ the Warning below for details.
+ </para>
+ <para>
+ <filename>file4</filename> was only added in the new snapshot
+ and will be only available there. The currently running system doesn't
+ know anything about it.
+ </para>
+ <para>
+ <filename>file5</filename> was added in the current snapshot.
+ It will also be visible in the new snapshot.
+ </para>
+ <para>
+ <filename>file6</filename> was modified in the current snapshot.
+ It will also be visible in the new snapshot. Basically the same case
+ as <filename>file5</filename>.
+ </para>
+ </example>
+ <para>
+ To reduce the number of overlays the contents of the overlays are
+ merged into the base layer if a new snapshot is created. Caveat:
+ the state of <filename class='directory'>/etc</filename> that is
+ synced into the new snapshot is not the one from the currently
+ running system, but the previous one: the files in the current
+ system could still be changed before the reboot, and we want these
+ changes (e.g. by the admin or a configuration management software)
+ to be visible in the new system.
+ </para>
+ <warning>
+ <para>
+ If a file has been modified both in the new snapshot and in the
+ currently running system <emphasis>after the snapshot was
+ created</emphasis>, then the changes done in the currently running
+ system will be lost in the new snapshot (see the
+ <filename>file3</filename> case from the example above).
+ </para>
+ <para>
+ When the new snapshot is booted for the first time the systemd
+ service <command>transactional-update-etc-cleaner</command> will
+ check for these conflicts and print the results to the journal.
+ </para>
+ </warning>
+ <para>
If the <option>--continue</option> is used multiple times to extend a
new snapshot while the system has not been rebooted, and if that
snapshot is based on the currently active system, then the
- synchronization will only run for the first snapshot; the additional
- snapshot layers will be added to <option>lowerdir</option>. Again
- this is to make sure that changes to the running system will still be
+ merge will only run for the first snapshot; the additional
+ snapshot layers will be added to <option>lowerdir</option>. This is
+ to make sure that changes to the running system will still be
visible after booting into the new system.
</para>
<para>
- Let's have a look at an example <filename>fstab</filename> entry:
- <programlisting>overlay /etc overlay defaults,upperdir=/sysroot/var/lib/overlay/82/etc,lowerdir=/sysroot/var/lib/overlay/81/etc:/sysroot/var/lib/overlay/76/etc:/sysroot/etc,workdir=/sysroot/var/lib/overlay/work-etc,x-systemd.requires-mounts-for=/var,x-systemd.requires-mounts-for=/var/lib/overlay,x-systemd.requires-mounts-for=/sysroot/var,x-systemd.requires-mounts-for=/sysroot/var/lib/overlay,x-initrd.mount 0 0</programlisting>
- </para>
- <itemizedlist>
- <listitem><para>
- We are currently in snapshot <emphasis>82</emphasis> as indicated by the
- <option>upperdir</option> directory. This can be confirmed by typing
- <command>snapper list</command> or
- <command>btrfs subvolume get-default /</command>. All changes to
- <filename class='directory'>/etc</filename> will end up in this
- directory.
- </para></listitem>
- <listitem><para>
- <option>lowerdir</option> contains two numbered overlay directories.
- The later directory with number <emphasis>76</emphasis> indicates the
- snapshot which was used as a base. This snapshot's
- <filename class='directory'>/etc</filename> state was also synchronized
- into the read-only root file system of snapshot 82. As the
+ The above <filename>/etc/fstab</filename> example is showing such a
+ case: <option>lowerdir</option> contains two numbered overlay
+ directories. The later directory with number <emphasis>76</emphasis>
+ indicates the snapshot which was used as a base. As the
<option>lowerdir</option> contains a second entry with number
<emphasis>81</emphasis> it means that the <option>--continue</option>
has been used before the system was rebooted. Gaps in the number such
@@ -542,15 +603,14 @@
rollback to snapshot 76 was performed. The lowest snapshot is always
<filename class='directory'>/sysroot/etc</filename>, containing the
root file system's contents.
- </para></listitem>
- <listitem><para>
+ </para>
+ <para>
As <filename class='directory'>/etc</filename> is mounted by
<application>dracut</application> during early boot the options have to
be prefixed with <emphasis>/sysroot</emphasis>. The
<command>x-systemd.</command> options are setting up the volume's
<application>systemd</application> dependencies correctly.
- </para></listitem>
- </itemizedlist>
+ </para>
<para>
Overlays no longer referenced by any snapshots will be deleted during
the <command>transactional-update cleanup-overlays</command> run.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/etc/transactional-update.conf new/transactional-update-4.1.0/etc/transactional-update.conf
--- old/transactional-update-4.0.1/etc/transactional-update.conf 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/etc/transactional-update.conf 2022-10-26 16:50:43.000000000 +0200
@@ -2,7 +2,7 @@
# See transactional-update.conf(5) for details
# Reboot method
-# Valid values: auto salt rebootmgr systemd kexec none
+# Valid values: auto rebootmgr notify systemd kexec kured none
#REBOOT_METHOD=auto
# zypper update method
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/lib/Reboot.cpp new/transactional-update-4.1.0/lib/Reboot.cpp
--- old/transactional-update-4.0.1/lib/Reboot.cpp 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/lib/Reboot.cpp 2022-10-26 16:50:43.000000000 +0200
@@ -29,6 +29,8 @@
if (method == "rebootmgr") {
command = "/usr/sbin/rebootmgrctl reboot";
+ } else if (method == "notify") {
+ command = "/usr/bin/transactional-update-notifier client";
} else if (method == "systemd") {
command = "sync;";
command += "systemctl reboot;";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/lib/Transaction.cpp new/transactional-update-4.1.0/lib/Transaction.cpp
--- old/transactional-update-4.0.1/lib/Transaction.cpp 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/lib/Transaction.cpp 2022-10-26 16:50:43.000000000 +0200
@@ -46,6 +46,7 @@
int inotifyRead();
std::unique_ptr<SnapshotManager> snapshotMgr;
std::unique_ptr<Snapshot> snapshot;
+ std::string bindDir;
std::vector<std::unique_ptr<Mount>> dirsToMount;
Supplements supplements;
pid_t pidCmd;
@@ -67,6 +68,13 @@
close(inotifyFd);
pImpl->dirsToMount.clear();
+ if (!pImpl->bindDir.empty()) {
+ try {
+ fs::remove(fs::path{pImpl->bindDir});
+ } catch (const std::exception &e) {
+ tulog.error("ERROR: ", e.what());
+ }
+ }
try {
if (isInitialized() && !getSnapshot().empty() && fs::exists(getRoot())) {
tulog.info("Discarding snapshot ", pImpl->snapshot->getUid(), ".");
@@ -96,7 +104,9 @@
// GRUB needs to have an actual mount point for the root partition, so
// mount the snapshot directory on a temporary mount point
- std::unique_ptr<BindMount> mntBind{new BindMount{snapshot->getRoot(), MS_PRIVATE}};
+ char bindTemplate[] = "/tmp/transactional-update-XXXXXX";
+ bindDir = mkdtemp(bindTemplate);
+ std::unique_ptr<BindMount> mntBind{new BindMount{bindDir, MS_PRIVATE}};
mntBind->setSource(snapshot->getRoot());
mntBind->mount();
@@ -164,14 +174,14 @@
dirsToMount.push_back(std::make_unique<BindMount>("/.snapshots"));
for (auto it = dirsToMount.begin(); it != dirsToMount.end(); ++it) {
- it->get()->mount(snapshot->getRoot());
+ it->get()->mount(bindDir);
}
dirsToMount.push_back(std::move(mntBind));
}
void Transaction::impl::addSupplements() {
- supplements = Supplements(snapshot->getRoot());
+ supplements = Supplements(bindDir);
Mount mntVar{"/var"};
if (mntVar.isMount()) {
@@ -329,11 +339,11 @@
}
if (inChroot) {
- if (chdir(snapshot->getRoot().c_str()) < 0) {
+ if (chdir(bindDir.c_str()) < 0) {
tulog.info("Warning: Couldn't set working directory: ", std::string(strerror(errno)));
}
- if (chroot(snapshot->getRoot().c_str()) < 0) {
- throw std::runtime_error{"Chrooting to " + std::string(snapshot->getRoot()) + " failed: " + std::string(strerror(errno))};
+ if (chroot(bindDir.c_str()) < 0) {
+ throw std::runtime_error{"Chrooting to " + bindDir + " failed: " + std::string(strerror(errno))};
}
// Prevent mounts from within the chroot environment influence the tukit organized mounts
if (unshare(CLONE_NEWNS) < 0) {
@@ -346,7 +356,13 @@
// Set indicator for RPM pre/post sections to detect whether we run in a
// transactional update
- setenv("TRANSACTIONAL_UPDATE", "true", 1);
+ if (setenv("TRANSACTIONAL_UPDATE", "true", 1) < 0) {
+ throw std::runtime_error{"Setting environment variable TRANSACTIONAL_UPDATE failed: " + std::string(strerror(errno))};
+ }
+ if (setenv("TRANSACTIONAL_UPDATE_ROOT", snapshot->getRoot().c_str(), 1)) {
+ throw std::runtime_error{"Setting environment variable TRANSACTIONAL_UPDATE_ROOT failed: " + std::string(strerror(errno))};
+ }
+
if (execvp(argv[0], (char* const*)argv) < 0) {
throw std::runtime_error{"Calling " + std::string(argv[0]) + " failed: " + std::string(strerror(errno))};
}
@@ -395,7 +411,7 @@
for(size_t pos = 0;
(pos = s.find(from, pos)) != std::string::npos;
pos += getRoot().string().length())
- s.replace(pos, from.size(), getRoot());
+ s.replace(pos, from.size(), this->pImpl->bindDir);
argv[i] = strdup(s.c_str());
}
return this->pImpl->runCommand(argv, false, output);
@@ -420,7 +436,7 @@
// in /etc may be applied immediately, so merge them back into the running system.
std::unique_ptr<Mount> mntEtc{new Mount{"/etc"}};
if (mntEtc->isMount() && mntEtc->getFilesystem() == "overlay") {
- Util::exec("rsync --archive --inplace --xattrs --acls --exclude 'fstab' --delete --quiet '" + std::string(getRoot()) + "/etc/' /etc");
+ Util::exec("rsync --archive --inplace --xattrs --acls --exclude 'fstab' --delete --quiet '" + this->pImpl->bindDir + "/etc/' /etc");
}
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/lib/Util.cpp new/transactional-update-4.1.0/lib/Util.cpp
--- old/transactional-update-4.0.1/lib/Util.cpp 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/lib/Util.cpp 2022-10-26 16:50:43.000000000 +0200
@@ -46,13 +46,13 @@
// trim from start (in place)
void Util::ltrim(string &s) {
s.erase(s.begin(), std::find_if(s.begin(), s.end(),
- std::not1(std::ptr_fun<int, int>(std::isspace))));
+ [](char a) { return !std::isspace(a); }));
}
// trim from end (in place)
void Util::rtrim(string &s) {
s.erase(std::find_if(s.rbegin(), s.rend(),
- std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
+ [](char a) { return !std::isspace(a); }).base(), s.end());
}
void Util::stub(string option) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/man/transactional-update.8.xml new/transactional-update-4.1.0/man/transactional-update.8.xml
--- old/transactional-update-4.0.1/man/transactional-update.8.xml 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/man/transactional-update.8.xml 2022-10-26 16:50:43.000000000 +0200
@@ -267,6 +267,24 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>setup-kdump</option> <optional>--crashkernel=<replaceable>low</replaceable>,<replaceable>high</replaceable></optional></term>
+ <listitem>
+ <para>
+ Sets up kdump on the system; if no <option>--crashkernel</option>
+ option is specified then it will use the values determined by
+ <command>kdumptool calibrate</command>, otherwise the values of
+ <replaceable>low</replaceable> and <replaceable>high</replaceable>
+ (numbers in Megabytes) will be used for the corresponding
+ <command>crashkernel</command> kernel parameters.
+ </para>
+ <para>
+ This command can not be combined with any
+ <link linkend='pkg_commands'>Package Command</link> other than
+ <option>install</option>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>setup-selinux</option></term>
<listitem>
<para>
@@ -350,6 +368,26 @@
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>register</option> <replaceable>arguments</replaceable></term>
+ <listitem>
+ <para>
+ Register a (commercial) system. This is a simple wrapper for
+ <command>SUSEConnect</command>, as some commands may require access
+ to the root file system (e.g. to add a new key to the RPM database).
+ Any arguments will just be forwarded to <command>SUSEConnect</command>.
+ </para>
+ <para>
+ This command implies the <option>--drop-if-no-change</option> option
+ to avoid creation of unnecessary snapshots, as many of the
+ <command>SUSEConnect</command> options are read-only or only require
+ access to <filename class='directory'>/etc</filename>.
+ </para>
+ <para>
+ <command>SUSEConnect</command> is always a non-interactive command.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect3>
<refsect3 id='i_pkg_commands'><title>Interactive Package Commands</title>
@@ -445,10 +483,12 @@
<term><option>status</option></term>
<listitem>
<warning>
- This command is under development and will change in the
- future. The status command is currently using a non-stable
- feature of MicroOS, the control.xml file, that will change the
- scope and location in future releases.
+ <para>
+ This command is under development and will change in the
+ future. The status command is currently using a non-stable
+ feature of MicroOS, the control.xml file, that will change the
+ scope and location in future releases.
+ </para>
</warning>
<para>
Shows the status of current and older snapshots. The status
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/sbin/transactional-update.in new/transactional-update-4.1.0/sbin/transactional-update.in
--- old/transactional-update-4.0.1/sbin/transactional-update.in 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/sbin/transactional-update.in 2022-10-26 16:50:43.000000000 +0200
@@ -46,6 +46,7 @@
REBOOT_METHOD="auto"
RUN_CMD=""
RUN_SHELL=0
+SETUP_KDUMP=0
SETUP_SELINUX=0
USE_TELEMETRICS=0
TELEM_PAYLOAD="PACKAGE_NAME=transactional-update\nPACKAGE_VERSION=@VERSION@"
@@ -141,6 +142,7 @@
echo "shell Open rw shell in new snapshot before exiting"
echo "reboot Reboot after update"
echo "run <cmd> Run a command in a new snapshot"
+ echo "setup-kdump [--crashkernel=<low>,<high>] Configure and enable kdump"
echo "setup-selinux Install targeted SELinux policy and enable it"
echo ""
echo "Package Commands:"
@@ -152,6 +154,7 @@
echo "pkg install ... Install individual packages (i)"
echo "pkg remove ... Remove individual packages (i)"
echo "pkg update ... Updates individual packages (i)"
+ echo "register ... Register system via SUSEConnect (implies -d)"
echo ""
echo "Standalone Commands:"
echo "rollback [<number>] Set the current or given snapshot as default snapshot"
@@ -234,8 +237,8 @@
}
rebuild_kdump_initrd() {
- test -f /usr/lib/systemd/system/kdump.service || return
- systemctl is-enabled --quiet kdump.service
+ test -f "/.snapshots/$1/snapshot/usr/lib/systemd/system/kdump.service" || return 0
+ tukit -q call "$1" systemctl is-enabled --quiet kdump.service
if [ $? = 0 -a -x "/.snapshots/$1/snapshot/usr/sbin/tu-rebuild-kdump-initrd" ]; then
tukit ${TUKIT_OPTS} call "$1" /usr/sbin/tu-rebuild-kdump-initrd |& tee -a ${LOGFILE} 1>&${origstdout}
fi
@@ -298,6 +301,11 @@
tukit reboot rebootmgr |& tee -a ${LOGFILE}
}
+reboot_via_notify() {
+ TELEM_PAYLOAD="${TELEM_PAYLOAD}\nreboot=transactional-update-notify client"
+ tukit reboot notify |& tee -a ${LOGFILE}
+}
+
reboot_via_systemd() {
TELEM_PAYLOAD="${TELEM_PAYLOAD}\nreboot=systemctl reboot"
tukit reboot systemd |& tee -a ${LOGFILE}
@@ -892,6 +900,20 @@
RUN_CMD=("$@")
break
;;
+ setup-kdump)
+ test -z "$TELEM_CLASS" && TELEM_CLASS="setup-kdump"
+ SETUP_KDUMP=1
+ shift
+ if [[ $1 == --crashkernel* ]]; then
+ if ! [[ $1 =~ ^--crashkernel=[[:digit:]]+,[[:digit:]]+ ]]; then
+ echo "Invalid --crashkernel syntax"
+ usage 1
+ fi
+ KDUMP_LOW="$(echo "$1" | cut -d '=' -f 2 | cut -d ',' -f 1)"
+ KDUMP_HIGH="$(echo "$1" | cut -d '=' -f 2 | cut -d ',' -f 2)"
+ shift
+ fi
+ ;;
setup-selinux)
test -z "$TELEM_CLASS" && TELEM_CLASS="selinux"
SETUP_SELINUX=1
@@ -951,19 +973,19 @@
DO_REGISTRATION=1
shift
- # Collect arguments for Registration
if [ $# -eq 0 ]; then
usage 1
fi
+ if ! command -v SUSEConnect >/dev/null; then
+ echo "SUSEConnect does not exist on this system."
+ exit 1
+ fi
- while [ 1 ]; do
- if [ $# -eq 0 ]; then
- break;
- else
- REGISTRATION_ARGS="${REGISTRATION_ARGS} $1";
- shift
- fi
- done
+ REGISTRATION_ARGS="$*";
+ shift $#
+
+ # A lot of commands won't change anything; discard snapshot then
+ TUKIT_OPTS="${TUKIT_OPTS} --discard"
;;
-h|--help)
usage 0
@@ -1019,6 +1041,22 @@
test -d /var/lib/selinux || mkdir -p /var/lib/selinux
fi
+# Setup kdump
+if [ ${SETUP_KDUMP} -eq 1 ]; then
+ if [ -n "${ZYPPER_ARG}" -a "${ZYPPER_ARG}" != "install" ]; then
+ log_error "ERROR: Cannot combine 'setup-kdump' with zypper command '${ZYPPER_ARG}'"
+ exit 1
+ fi
+ # Check if we need to install packages
+ for pkg in kdump; do
+ rpm -q --quiet ${pkg} || ZYPPER_ARG_PKGS+=("${pkg}")
+ done
+ if [ ${#ZYPPER_ARG_PKGS[@]} -ne 0 ]; then
+ ZYPPER_ARG="install"
+ fi
+ REBUILD_KDUMP_INITRD=1
+fi
+
# If no commands were given, assume "up"
if [ -z "${ZYPPER_ARG}" -a -z "${TELEM_CLASS}" -a "${REBOOT_AFTERWARDS}" -eq 0 \
-a "${DO_REGISTRATION}" -eq 0 -a "${DO_CLEANUP_OVERLAYS}" -eq 0 \
@@ -1398,6 +1436,19 @@
test -f ${SNAPSHOT_DIR}/.autorelabel && mv ${SNAPSHOT_DIR}/.autorelabel ${ETC_BASE}/etc/selinux/.autorelabel
fi
+ if [ ${SETUP_KDUMP} -eq 1 ]; then
+ if [ -z "${KDUMP_LOW}" ]; then
+ KDUMP_CALIBRATION="$(tukit -q call "${SNAPSHOT_ID}" kdumptool calibrate)"
+ KDUMP_LOW="$(echo "$KDUMP_CALIBRATION" | grep ^Low: | cut -d ' ' -f 2)"
+ KDUMP_HIGH="$(echo "$KDUMP_CALIBRATION" | grep ^High: | cut -d ' ' -f 2)"
+ fi
+
+ tukit ${TUKIT_OPTS} call "${SNAPSHOT_ID}" sed -i -e '/^GRUB_CMDLINE_LINUX_DEFAULT=/s/ *crashkernel[^ "]\+//g' -e 's|\(^GRUB_CMDLINE_LINUX_DEFAULT=.*\)"|\1 crashkernel='${KDUMP_LOW}'M,low crashkernel='${KDUMP_HIGH}'M,high"|g' "/etc/default/grub"
+ REWRITE_GRUB_CFG=1
+
+ tukit ${TUKIT_OPTS} call "${SNAPSHOT_ID}" systemctl enable kdump
+ fi
+
if [ ${REWRITE_INITRD} -eq 1 ]; then
log_info "Creating new initrd"
tukit ${TUKIT_OPTS} call "${SNAPSHOT_ID}" dracut ${DRACUT_OPTS} --force --regenerate-all |& tee -a ${LOGFILE} 1>&${origstdout}
@@ -1411,7 +1462,11 @@
if [ ${REBUILD_KDUMP_INITRD} -eq 1 ]; then
log_info "Trying to rebuild kdump initrd"
- rebuild_kdump_initrd ${SNAPSHOT_ID}
+ rebuild_kdump_initrd ${SNAPSHOT_ID}
+ if [ $? -ne 0 ]; then
+ log_error "ERROR: kdump initrd creation failed!"
+ EXITCODE=1
+ fi
fi
if [ ${REWRITE_GRUB_CFG} -eq 1 ]; then
@@ -1533,6 +1588,9 @@
rebootmgr)
reboot_via_rebootmgr
;;
+ notify)
+ reboot_via_notify
+ ;;
systemd)
reboot_via_systemd
;;
@@ -1547,8 +1605,6 @@
reboot_autodetect
;;
esac
- log_error "The system couldn't be rebooted using method '${REBOOT_METHOD}'. Please reboot the system"
- log_error "manually."
fi
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/systemd/transactional-update.timer new/transactional-update-4.1.0/systemd/transactional-update.timer
--- old/transactional-update-4.0.1/systemd/transactional-update.timer 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/systemd/transactional-update.timer 2022-10-26 16:50:43.000000000 +0200
@@ -7,6 +7,7 @@
OnCalendar=daily
AccuracySec=1m
RandomizedDelaySec=2h
+Persistent=true
[Install]
WantedBy=timers.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/transactional-update-4.0.1/tukit/tukit.cpp new/transactional-update-4.1.0/tukit/tukit.cpp
--- old/transactional-update-4.0.1/tukit/tukit.cpp 2022-08-22 17:09:42.000000000 +0200
+++ new/transactional-update-4.1.0/tukit/tukit.cpp 2022-10-26 16:50:43.000000000 +0200
@@ -64,7 +64,7 @@
cout << " List of fields to print\n";
cout << "\n";
cout << "Reboot Commands:\n";
- cout << "reboot [auto|rebootmgr|systemd|kured|kexec]\n";
+ cout << "reboot [auto|rebootmgr|notify|systemd|kured|kexec]\n";
cout << "\tReboot the system using the given method; Default: auto\n";
cout << "\n";
cout << "Generic Options:\n";
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package keylime for openSUSE:Factory checked in at 2022-10-27 13:53:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/keylime (Old)
and /work/SRC/openSUSE:Factory/.keylime.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "keylime"
Thu Oct 27 13:53:00 2022 rev:26 rq:1031364 version:6.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/keylime/keylime.changes 2022-10-22 14:13:31.928801288 +0200
+++ /work/SRC/openSUSE:Factory/.keylime.new.2275/keylime.changes 2022-10-27 13:53:13.900279606 +0200
@@ -1,0 +2,12 @@
+Wed Oct 26 14:10:21 UTC 2022 - aplanas(a)suse.com
+
+- Update to version v6.5.2:
+ * Back to 6.5.1
+ * This PR fixes a bug that prevented 6.5.x verifiers from interacting with 6.2. agents
+ * Revert "Revert "tenant: open file to send utf-8 encoded" (#1136)" (#1141)
+ * Revert "tenant: open file to send utf-8 encoded" (#1136)
+ * ca_util: allow users in the same group to read the created certificates and keys (#1138)
+ * Update sample ima-policy to exclude overlayfs
+ * installer: remove tarball option
+
+-------------------------------------------------------------------
Old:
----
keylime-v6.5.1.tar.xz
New:
----
keylime-v6.5.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ keylime.spec ++++++
--- /var/tmp/diff_new_pack.WLlUP6/_old 2022-10-27 13:53:14.624283299 +0200
+++ /var/tmp/diff_new_pack.WLlUP6/_new 2022-10-27 13:53:14.632283341 +0200
@@ -27,7 +27,7 @@
%define _config_norepl %config(noreplace)
%endif
Name: keylime
-Version: 6.5.1
+Version: 6.5.2
Release: 0
Summary: Open source TPM software for Bootstrapping and Maintaining Trust
License: Apache-2.0 AND MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.WLlUP6/_old 2022-10-27 13:53:14.684283606 +0200
+++ /var/tmp/diff_new_pack.WLlUP6/_new 2022-10-27 13:53:14.688283626 +0200
@@ -1,7 +1,7 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">refs/tags/v6.5.1</param>
+ <param name="revision">refs/tags/v6.5.2</param>
<param name="url">https://github.com/keylime/keylime.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.WLlUP6/_old 2022-10-27 13:53:14.716283769 +0200
+++ /var/tmp/diff_new_pack.WLlUP6/_new 2022-10-27 13:53:14.720283789 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/keylime/keylime.git</param>
- <param name="changesrevision">fe08b5145a595ef562186f4ede4cb3eca3fd7499</param></service></servicedata>
+ <param name="changesrevision">a937ac2d6a45bb8ca7f46ec1307fee40ccaabde3</param></service></servicedata>
(No newline at EOF)
++++++ keylime-v6.5.1.tar.xz -> keylime-v6.5.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/keylime/keylime-v6.5.1.tar.xz /work/SRC/openSUSE:Factory/.keylime.new.2275/keylime-v6.5.2.tar.xz differ: char 15, line 1
1
0