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
July 2024
- 1 participants
- 1521 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-mkdocs-material for openSUSE:Factory checked in at 2024-07-25 15:40:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mkdocs-material (Old)
and /work/SRC/openSUSE:Factory/.python-mkdocs-material.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mkdocs-material"
Thu Jul 25 15:40:03 2024 rev:60 rq:1189577 version:9.5.30
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mkdocs-material/python-mkdocs-material.changes 2024-07-16 22:02:45.470600658 +0200
+++ /work/SRC/openSUSE:Factory/.python-mkdocs-material.new.1882/python-mkdocs-material.changes 2024-07-25 15:57:43.875872656 +0200
@@ -1,0 +2,9 @@
+Wed Jul 24 17:50:27 UTC 2024 - Johannes Kastl <opensuse_buildservice(a)ojkastl.de>
+
+- update to 9.5.30:
+ * Fixed #7380 <https://github.com/squidfunk/mkdocs-material/issues/7380>:
+ Navigation icons disappearing on hover in Safari
+ * Fixed #7367 <https://github.com/squidfunk/mkdocs-material/issues/7367>:
+ Blog readtime computation includes SVG text content
+
+-------------------------------------------------------------------
Old:
----
mkdocs_material-9.5.29.tar.gz
New:
----
mkdocs_material-9.5.30.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mkdocs-material.spec ++++++
--- /var/tmp/diff_new_pack.RdorjG/_old 2024-07-25 15:57:44.515898374 +0200
+++ /var/tmp/diff_new_pack.RdorjG/_new 2024-07-25 15:57:44.519898534 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-mkdocs-material
-Version: 9.5.29
+Version: 9.5.30
Release: 0
Summary: Material theme for mkdocs
License: MIT
++++++ mkdocs_material-9.5.29.tar.gz -> mkdocs_material-9.5.30.tar.gz ++++++
++++ 16592 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-google-cloud-vpc-access for openSUSE:Factory checked in at 2024-07-25 15:39:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-google-cloud-vpc-access (Old)
and /work/SRC/openSUSE:Factory/.python-google-cloud-vpc-access.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-google-cloud-vpc-access"
Thu Jul 25 15:39:08 2024 rev:5 rq:1189379 version:1.10.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-google-cloud-vpc-access/python-google-cloud-vpc-access.changes 2024-05-11 18:24:56.170381642 +0200
+++ /work/SRC/openSUSE:Factory/.python-google-cloud-vpc-access.new.1882/python-google-cloud-vpc-access.changes 2024-07-25 15:57:00.070094816 +0200
@@ -1,0 +2,6 @@
+Wed Jul 24 12:15:00 UTC 2024 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 1.10.4:
+ * Allow Protobuf 5.x
+
+-------------------------------------------------------------------
Old:
----
google-cloud-vpc-access-1.10.3.tar.gz
New:
----
google-cloud-vpc-access-1.10.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-google-cloud-vpc-access.spec ++++++
--- /var/tmp/diff_new_pack.mUmRjH/_old 2024-07-25 15:57:01.094136380 +0200
+++ /var/tmp/diff_new_pack.mUmRjH/_new 2024-07-25 15:57:01.094136380 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-google-cloud-vpc-access
-Version: 1.10.3
+Version: 1.10.4
Release: 0
Summary: Google Cloud Vpc Access API client library
License: Apache-2.0
++++++ google-cloud-vpc-access-1.10.3.tar.gz -> google-cloud-vpc-access-1.10.4.tar.gz ++++++
++++ 1749 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pyenv for openSUSE:Factory checked in at 2024-07-25 15:40:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pyenv (Old)
and /work/SRC/openSUSE:Factory/.pyenv.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pyenv"
Thu Jul 25 15:40:04 2024 rev:44 rq:1189588 version:2.4.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/pyenv/pyenv.changes 2024-07-18 19:16:49.876290655 +0200
+++ /work/SRC/openSUSE:Factory/.pyenv.new.1882/pyenv.changes 2024-07-25 15:54:32.196183850 +0200
@@ -1,0 +2,26 @@
+Tue Jul 23 10:35:09 UTC 2024 - Thomas Schraitle <thomas.schraitle(a)suse.com> - 2.4.8
+
+- Spec change
+ For the %check section, don't run "make test" but use specific
+ tests. Upstream uses them in their GitHub Action workflow. What's
+ good for them, is also good for us.
+ => This simplifies the overall error and no patches are needed.
+
+-------------------------------------------------------------------
+Mon Jul 22 18:45:30 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Almost working testing.
+
+-------------------------------------------------------------------
+Mon Jul 22 08:11:10 UTC 2024 - Thomas Schraitle <thomas.schraitle(a)suse.com> - 2.4.8
+
+- Update to 2.4.8:
+ - Fix pyenv-uninstall not having the debug tracing invocation in #3020
+ - Add CPython 3.13.0b4 and 3.13.0b4t in #3019
+ - README: Remove reference to Fig in #3018
+ - Fix tests failing if plugins are installed in #3022
+ - pyenv-latest: replace -q with -b and -f, document as internal in #3021
+
+Full Changelog: https://github.com/pyenv/pyenv/compare/v2.4.7...v2.4.8
+
+-------------------------------------------------------------------
Old:
----
pyenv-2.4.7.tar.gz
New:
----
pyenv-2.4.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pyenv.spec ++++++
--- /var/tmp/diff_new_pack.ZNEHtH/_old 2024-07-25 15:54:32.796207242 +0200
+++ /var/tmp/diff_new_pack.ZNEHtH/_new 2024-07-25 15:54:32.800207397 +0200
@@ -19,7 +19,7 @@
%define pyenv_dir %{_libexecdir}/pyenv
#
Name: pyenv
-Version: 2.4.7
+Version: 2.4.8
Release: 0
Summary: Python Version Management
License: MIT
@@ -28,6 +28,7 @@
Source: https://github.com/pyenv/pyenv/archive/refs/tags/v%{version}.tar.gz#/pyenv-…
#
BuildRequires: bash-completion
+BuildRequires: bats
BuildRequires: fdupes
BuildRequires: fish
BuildRequires: gcc
@@ -145,6 +146,10 @@
%fdupes %{buildroot}%{pyenv_dir}
+%check
+export PATH="$PATH:%{buildroot}%{_libexecdir}/pyenv/libexec"
+bats test/{pyenv,hooks,versions}.bats
+
%files
%doc CHANGELOG.md COMMANDS.md README.md
%license LICENSE
++++++ pyenv-2.4.7.tar.gz -> pyenv-2.4.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/CHANGELOG.md new/pyenv-2.4.8/CHANGELOG.md
--- old/pyenv-2.4.7/CHANGELOG.md 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/CHANGELOG.md 2024-07-21 06:02:45.000000000 +0200
@@ -1,5 +1,12 @@
# Version History
+## Release v2.4.8
+* Fix pyenv-uninstall not having the debug tracing invocation by @native-api in https://github.com/pyenv/pyenv/pull/3020
+* Add CPython 3.13.0b4 and 3.13.0b4t by @edgarrmondragon in https://github.com/pyenv/pyenv/pull/3019
+* README: Remove reference to Fig by @ThomasHaz in https://github.com/pyenv/pyenv/pull/3018
+* Fix tests failing if plugins are installed by @native-api in https://github.com/pyenv/pyenv/pull/3022
+* pyenv-latest: replace -q with -b and -f, document as internal by @native-api in https://github.com/pyenv/pyenv/pull/3021
+
## Release v2.4.7
* Add support for anaconda3-2024.06-1 by @binbjz in https://github.com/pyenv/pyenv/pull/3009
* Fix debug build for X.Yt-dev by @native-api in https://github.com/pyenv/pyenv/pull/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/README.md new/pyenv-2.4.8/README.md
--- old/pyenv-2.4.7/README.md 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/README.md 2024-07-21 06:02:45.000000000 +0200
@@ -367,12 +367,6 @@
**Proxy note**: If you use a proxy, export `http_proxy` and `https_proxy`, too.
- In MacOS, you might also want to install [Fig](https://fig.io/) which
-provides alternative shell completions for many command line tools with an
-IDE-like popup interface in the terminal window.
-(Note that their completions are independent from Pyenv's codebase
-so they might be slightly out of sync for bleeding-edge interface changes.)
-
### Restart your shell
for the `PATH` changes to take effect.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/libexec/pyenv---version new/pyenv-2.4.8/libexec/pyenv---version
--- old/pyenv-2.4.7/libexec/pyenv---version 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/libexec/pyenv---version 2024-07-21 06:02:45.000000000 +0200
@@ -12,7 +12,7 @@
set -e
[ -n "$PYENV_DEBUG" ] && set -x
-version="2.4.7"
+version="2.4.8"
git_revision=""
if cd "${BASH_SOURCE%/*}" 2>/dev/null && git remote -v 2>/dev/null | grep -q pyenv; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/libexec/pyenv-latest new/pyenv-2.4.8/libexec/pyenv-latest
--- old/pyenv-2.4.7/libexec/pyenv-latest 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/libexec/pyenv-latest 2024-07-21 06:02:45.000000000 +0200
@@ -1,9 +1,11 @@
#!/usr/bin/env bash
# Summary: Print the latest installed or known version with the given prefix
-# Usage: pyenv latest [-k|--known] [-q|--quiet] <prefix>
+# Usage: pyenv latest [-k|--known] <prefix>
#
# -k/--known Select from all known versions instead of installed
-# -q/--quiet Do not print an error message on resolution failure
+# -b/--bypass (internal) On a resolution failure, do not print an error message
+# but rather print the argument unchanged
+# -f/--force (internal) Same as -b but also do not return a failure exit code
set -e
[ -n "$PYENV_DEBUG" ] && set -x
@@ -15,8 +17,13 @@
FROM_KNOWN=1
shift
;;
- -q|--quiet)
- QUIET=1
+ -b|--bypass)
+ BYPASS=1
+ shift
+ ;;
+ -f|--force)
+ FORCE=1
+ BYPASS=1
shift
;;
*)
@@ -71,10 +78,14 @@
if [[ -n "$DEFINITION" ]]; then
echo "$DEFINITION"
else
- if [[ -z $QUIET ]]; then
+ if [[ -z $BYPASS ]]; then
echo "pyenv: no $([[ -z $FROM_KNOWN ]] && echo installed || echo known) versions match the prefix \`$prefix'" >&2
+ else
+ echo "$prefix"
+ fi
+ if [[ -z $FORCE ]]; then
+ exitcode=1
fi
- exitcode=1
fi
exit $exitcode
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/libexec/pyenv-prefix new/pyenv-2.4.8/libexec/pyenv-prefix
--- old/pyenv-2.4.7/libexec/pyenv-prefix 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/libexec/pyenv-prefix 2024-07-21 06:02:45.000000000 +0200
@@ -42,7 +42,7 @@
exit 1
fi
else
- version="$(pyenv-latest -q "$version" || echo "$version")"
+ version="$(pyenv-latest -f "$version")"
PYENV_PREFIX_PATH="${PYENV_ROOT}/versions/${version}"
fi
if [ -d "$PYENV_PREFIX_PATH" ]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/libexec/pyenv-version-name new/pyenv-2.4.8/libexec/pyenv-version-name
--- old/pyenv-2.4.7/libexec/pyenv-version-name 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/libexec/pyenv-version-name 2024-07-21 06:02:45.000000000 +0200
@@ -34,7 +34,7 @@
versions=("${versions[@]}" "${version}")
elif version_exists "${version#python-}"; then
versions=("${versions[@]}" "${version#python-}")
- elif resolved_version="$(pyenv-latest -q "$version")"; then
+ elif resolved_version="$(pyenv-latest -b "$version")"; then
versions=("${versions[@]}" "${resolved_version}")
else
echo "pyenv: version \`$version' is not installed (set by $(pyenv-version-origin))" >&2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/bin/pyenv-install new/pyenv-2.4.8/plugins/python-build/bin/pyenv-install
--- old/pyenv-2.4.7/plugins/python-build/bin/pyenv-install 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/plugins/python-build/bin/pyenv-install 2024-07-21 06:02:45.000000000 +0200
@@ -158,7 +158,7 @@
# Try to resolve a prefix if user indeed gave a prefix.
# We install the version under the resolved name
# and hooks also see the resolved name
- DEFINITION="$(pyenv-latest -q -k "$DEFINITION" || echo "$DEFINITION")"
+ DEFINITION="$(pyenv-latest -f -k "$DEFINITION")"
# Set VERSION_NAME from $DEFINITION. Then compute the installation prefix.
VERSION_NAME="${DEFINITION##*/}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/bin/pyenv-uninstall new/pyenv-2.4.8/plugins/python-build/bin/pyenv-uninstall
--- old/pyenv-2.4.7/plugins/python-build/bin/pyenv-uninstall 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/plugins/python-build/bin/pyenv-uninstall 2024-07-21 06:02:45.000000000 +0200
@@ -11,6 +11,7 @@
# See `pyenv versions` for a complete list of installed versions.
#
set -e
+[ -n "$PYENV_DEBUG" ] && set -x
# Provide pyenv completions
if [ "$1" = "--complete" ]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b3 new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b3
--- old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b3 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b3 1970-01-01 01:00:00.000000000 +0100
@@ -1,9 +0,0 @@
-prefer_openssl3
-export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
-install_package "openssl-3.3.1" "https://www.openssl.org/source/openssl-3.3.1.tar.gz#777cd596284c883375a2a7a…" mac_openssl --if has_broken_mac_openssl
-install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca…" mac_readline --if has_broken_mac_readline
-if has_tar_xz_support; then
- install_package "Python-3.13.0b3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b3.tar.xz#3be094ad08b…" standard verify_py313 copy_python_gdb ensurepip
-else
- install_package "Python-3.13.0b3" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b3.tgz#5e9c01cdb3e2fb…" standard verify_py313 copy_python_gdb ensurepip
-fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b3t new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b3t
--- old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b3t 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b3t 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-export PYTHON_BUILD_FREE_THREADING=1
-source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0b3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b4 new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b4
--- old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b4 1970-01-01 01:00:00.000000000 +0100
+++ new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b4 2024-07-21 06:02:45.000000000 +0200
@@ -0,0 +1,9 @@
+prefer_openssl3
+export PYTHON_BUILD_CONFIGURE_WITH_OPENSSL=1
+install_package "openssl-3.3.1" "https://www.openssl.org/source/openssl-3.3.1.tar.gz#777cd596284c883375a2a7a…" mac_openssl --if has_broken_mac_openssl
+install_package "readline-8.2" "https://ftpmirror.gnu.org/readline/readline-8.2.tar.gz#3feb7171f16a84ee82ca…" mac_readline --if has_broken_mac_readline
+if has_tar_xz_support; then
+ install_package "Python-3.13.0b4" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b4.tar.xz#b2aa557c3c8…" standard verify_py313 copy_python_gdb ensurepip
+else
+ install_package "Python-3.13.0b4" "https://www.python.org/ftp/python/3.13.0/Python-3.13.0b4.tgz#6f387984d02868…" standard verify_py313 copy_python_gdb ensurepip
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b4t new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b4t
--- old/pyenv-2.4.7/plugins/python-build/share/python-build/3.13.0b4t 1970-01-01 01:00:00.000000000 +0100
+++ new/pyenv-2.4.8/plugins/python-build/share/python-build/3.13.0b4t 2024-07-21 06:02:45.000000000 +0200
@@ -0,0 +1,2 @@
+export PYTHON_BUILD_FREE_THREADING=1
+source "$(dirname "${BASH_SOURCE[0]}")"/3.13.0b4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/test/build.bats new/pyenv-2.4.8/plugins/python-build/test/build.bats
--- old/pyenv-2.4.7/plugins/python-build/test/build.bats 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/plugins/python-build/test/build.bats 2024-07-21 06:02:45.000000000 +0200
@@ -888,54 +888,6 @@
assert_success "hello world"
}
-@test "mruby strategy overwrites non-writable files" {
- # nop
-}
-
-@test "mruby strategy fetches rake if missing" {
- # nop
-}
-
-@test "rbx uses bundle then rake" {
- # nop
-}
-
-@test "fixes rbx binstubs" {
- # nop
-}
-
-@test "JRuby build" {
- # nop
-}
-
-@test "JRuby+Graal does not install launchers" {
- # nop
-}
-
-@test "JRuby Java 7 missing" {
- # nop
-}
-
-@test "JRuby Java is outdated" {
- # nop
-}
-
-@test "JRuby Java 7 up-to-date" {
- # nop
-}
-
-@test "Java version string not on first line" {
- # nop
-}
-
-@test "Java version string on OpenJDK" {
- # nop
-}
-
-@test "JRuby Java 9 version string" {
- # nop
-}
-
@test "non-writable TMPDIR aborts build" {
export TMPDIR="${TMP}/build"
mkdir -p "$TMPDIR"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/test/hooks.bats new/pyenv-2.4.8/plugins/python-build/test/hooks.bats
--- old/pyenv-2.4.7/plugins/python-build/test/hooks.bats 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/plugins/python-build/test/hooks.bats 2024-07-21 06:02:45.000000000 +0200
@@ -15,9 +15,10 @@
OUT
stub pyenv-hooks "install : echo '$HOOK_PATH'/install.bash"
stub pyenv-rehash "echo rehashed"
- stub pyenv-latest false
definition="${TMP}/3.6.2"
+ stub pyenv-latest "echo $definition"
+
cat > "$definition" <<<"echo python-build"
run pyenv-install "$definition"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/plugins/python-build/test/pyenv.bats new/pyenv-2.4.8/plugins/python-build/test/pyenv.bats
--- old/pyenv-2.4.7/plugins/python-build/test/pyenv.bats 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/plugins/python-build/test/pyenv.bats 2024-07-21 06:02:45.000000000 +0200
@@ -18,7 +18,7 @@
stub_python_build() {
stub_python_build_no_latest "$@"
- stub pyenv-latest false
+ stub pyenv-latest '-f -k * : shift 2; echo "$@"'
}
@test "install a single version" {
@@ -65,9 +65,9 @@
stub_python_build_lib
for i in {1..3}; do stub_python_build_no_latest; done
stub pyenv-latest \
- '-q -k 3.4 : echo 3.4.2' \
- '-q -k 3.5.1 : false' \
- '-q -k 3.5 : echo 3.5.2'
+ '-r -k 3.4 : echo 3.4.2' \
+ '-r -k 3.5.1 : false' \
+ '-r -k 3.5 : echo 3.5.2'
run pyenv-install 3.4 3.5.1 3.5
assert_success <<OUT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/test/latest.bats new/pyenv-2.4.8/test/latest.bats
--- old/pyenv-2.4.7/test/latest.bats 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/test/latest.bats 2024-07-21 06:02:45.000000000 +0200
@@ -115,3 +115,25 @@
3.8.1
!
}
+
+@test "falls back to argument with -b" {
+ create_executable pyenv-versions <<!
+#!$BASH
+!
+ run pyenv-latest -b nonexistent
+ assert_failure
+ assert_output <<!
+nonexistent
+!
+}
+
+@test "falls back to argument and succeeds with -f" {
+ create_executable pyenv-versions <<!
+#!$BASH
+!
+ run pyenv-latest -f nonexistent
+ assert_success
+ assert_output <<!
+nonexistent
+!
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyenv-2.4.7/test/pyenv.bats new/pyenv-2.4.8/test/pyenv.bats
--- old/pyenv-2.4.7/test/pyenv.bats 2024-07-06 03:44:35.000000000 +0200
+++ new/pyenv-2.4.8/test/pyenv.bats 2024-07-21 06:02:45.000000000 +0200
@@ -46,12 +46,7 @@
assert_output "pyenv: cannot change working directory to \`$dir'"
}
-@test "adds its own libexec to PATH" {
- run pyenv echo "PATH"
- assert_success "${BATS_TEST_DIRNAME%/*}/libexec:${BATS_TEST_DIRNAME%/*}/plugins/python-build/bin:$PATH"
-}
-
-@test "adds plugin bin dirs to PATH" {
+@test "adds its own libexec and plugin bin dirs to PATH" {
mkdir -p "$PYENV_ROOT"/plugins/python-build/bin
mkdir -p "$PYENV_ROOT"/plugins/pyenv-each/bin
run pyenv echo -F: "PATH"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package postsrsd for openSUSE:Factory checked in at 2024-07-25 15:38:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postsrsd (Old)
and /work/SRC/openSUSE:Factory/.postsrsd.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postsrsd"
Thu Jul 25 15:38:38 2024 rev:14 rq:1189262 version:2.0.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/postsrsd/postsrsd.changes 2024-04-15 20:24:06.097086737 +0200
+++ /work/SRC/openSUSE:Factory/.postsrsd.new.1882/postsrsd.changes 2024-07-25 15:54:17.239582427 +0200
@@ -1,0 +2,6 @@
+Tue Jul 23 12:31:27 UTC 2024 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 2.0.10
+ * Allow comments in domains-file
+
+-------------------------------------------------------------------
Old:
----
2.0.9.tar.gz
New:
----
2.0.10.tar.gz
_scmsync.obsinfo
build.specials.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ postsrsd.spec ++++++
--- /var/tmp/diff_new_pack.hbPocB/_old 2024-07-25 15:54:17.763603498 +0200
+++ /var/tmp/diff_new_pack.hbPocB/_new 2024-07-25 15:54:17.767603659 +0200
@@ -17,7 +17,7 @@
Name: postsrsd
-Version: 2.0.9
+Version: 2.0.10
Release: 0
Summary: Sender Rewriting Support for postfix
License: GPL-2.0-only
++++++ 2.0.9.tar.gz -> 2.0.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/.github/workflows/ci.yml new/postsrsd-2.0.10/.github/workflows/ci.yml
--- old/postsrsd-2.0.9/.github/workflows/ci.yml 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/.github/workflows/ci.yml 2024-07-23 10:26:27.000000000 +0200
@@ -15,24 +15,25 @@
- main
jobs:
test:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
strategy:
matrix:
- milter: [OFF, ON]
- sqlite: [OFF, ON]
- redis: [OFF, ON]
+ milter: [MILTER=OFF, MILTER=ON]
+ sqlite: [SQLITE=OFF, SQLITE=ON]
+ redis: [REDIS=OFF, REDIS=ON]
+ deps: [vendored-deps, system-deps]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update -qq
- sudo apt-get install -y cmake postfix redis
+ sudo apt-get install -y cmake postfix redis ${{ matrix.deps == 'system-deps' && 'check libconfuse-dev libhiredis-dev libmilter-dev libsqlite3-dev' || '' }}
- name: Build PostSRSd
run: |
mkdir _build
cd _build
- cmake .. -DDEVELOPER_BUILD=ON -DWITH_MILTER=${{ matrix.milter }} -DWITH_SQLITE=${{ matrix.sqlite }} -DWITH_REDIS=${{ matrix.redis }}
- make VERBOSE=ON
+ cmake .. -DDEVELOPER_BUILD=ON -DWITH_${{ matrix.milter }} -DWITH_${{ matrix.sqlite }} -DWITH_${{ matrix.redis }} ${{ matrix.deps == 'system-deps' && '-DFETCHCONTENT_FULLY_DISCONNECTED=ON -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS' || '' }}
+ cmake --build . --verbose
- name: Run tests
run: |
cd _build
@@ -50,21 +51,3 @@
run: |
postmap -q test(a)otherdomain.com socketmap:unix:/var/spool/postfix/srs:forward | tee /tmp/srs-alias.txt
postmap -q "$(cat /tmp/srs-alias.txt)" socketmap:unix:/var/spool/postfix/srs:reverse
- packaging:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - name: Install dependencies
- run: |
- sudo apt-get update -qq
- sudo apt-get install -y check cmake libconfuse-dev libhiredis-dev libsqlite3-dev redis
- - name: Build PostSRSd
- run: |
- mkdir _build
- cd _build
- cmake .. -DFETCHCONTENT_FULLY_DISCONNECTED=ON -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS -DWITH_SQLITE=ON -DWITH_REDIS=ON
- make VERBOSE=ON
- - name: Run tests
- run: |
- cd _build
- ctest --output-on-failure
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/.pre-commit-config.yaml new/postsrsd-2.0.10/.pre-commit-config.yaml
--- old/postsrsd-2.0.9/.pre-commit-config.yaml 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/.pre-commit-config.yaml 2024-07-23 10:26:27.000000000 +0200
@@ -2,18 +2,18 @@
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.5.0
+ rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/pre-commit/mirrors-clang-format
- rev: v17.0.6
+ rev: v18.1.6
hooks:
- id: clang-format
- repo: https://github.com/psf/black
- rev: 24.2.0
+ rev: 24.4.2
hooks:
- id: black
- repo: https://github.com/cheshirekow/cmake-format-precommit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/CHANGELOG.rst new/postsrsd-2.0.10/CHANGELOG.rst
--- old/postsrsd-2.0.9/CHANGELOG.rst 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/CHANGELOG.rst 2024-07-23 10:26:27.000000000 +0200
@@ -7,6 +7,20 @@
Changelog
#########
+2.0.10
+======
+
+Changed
+-------
+
+* Allow comments in domains-file
+ (`#181 <https://github.com/roehling/postsrsd/issues/181>`_)
+
+Added
+-----
+
+* Support for building against system libmilter library
+
2.0.9
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/CMakeLists.txt new/postsrsd-2.0.10/CMakeLists.txt
--- old/postsrsd-2.0.9/CMakeLists.txt 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/CMakeLists.txt 2024-07-23 10:26:27.000000000 +0200
@@ -14,10 +14,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-cmake_minimum_required(VERSION 3.14...3.28)
+cmake_minimum_required(VERSION 3.14...3.29)
project(
postsrsd
- VERSION 2.0.9
+ VERSION 2.0.10
LANGUAGES C
DESCRIPTION "Sender Rewriting Scheme daemon for Postfix"
HOMEPAGE_URL "https://github.com/roehling/postsrsd"
@@ -141,7 +141,7 @@
FetchContent_Declare(
LibMilter
GIT_REPOSITORY https://github.com/jons/libmilter
- GIT_TAG f3b7aa0336be0d0fdbca25b97e1e7fcb46e3f333
+ GIT_TAG 98d481b0fd3ba1e2ca420c7c43fcc50afdae879f
)
FetchContent_Declare(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/data/postsrsd.conf.in new/postsrsd-2.0.10/data/postsrsd.conf.in
--- old/postsrsd-2.0.9/data/postsrsd.conf.in 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/data/postsrsd.conf.in 2024-07-23 10:26:27.000000000 +0200
@@ -17,7 +17,8 @@
# Instead of listing your local domains directly, you can also write them to a
# file and have PostSRSd read it. This is particularly useful if you have a
# large number of domains for which you need to act as mail forwarder. PostSRSd
-# reads this file before it chroots and drops root privileges.
+# reads this file before it chroots and drops root privileges. The file format
+# is one domain per line.
#
# Example:
# domains-file = "@POSTSRSD_CONFIGDIR@/@PROJECT_NAME@.domains"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/doc/postsrsd.conf new/postsrsd-2.0.10/doc/postsrsd.conf
--- old/postsrsd-2.0.9/doc/postsrsd.conf 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/doc/postsrsd.conf 2024-07-23 10:26:27.000000000 +0200
@@ -17,7 +17,8 @@
# Instead of listing your local domains directly, you can also write them to a
# file and have PostSRSd read it. This is particularly useful if you have a
# large number of domains for which you need to act as mail forwarder. PostSRSd
-# reads this file before it chroots and drops root privileges.
+# reads this file before it chroots and drops root privileges. The file format
+# is one domain per line.
#
# Example:
# domains-file = "/usr/local/etc/postsrsd.domains"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/src/config.c new/postsrsd-2.0.10/src/config.c
--- old/postsrsd-2.0.9/src/config.c 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/src/config.c 2024-07-23 10:26:27.000000000 +0200
@@ -142,7 +142,7 @@
);
}
-cfg_t* config_from_commandline(int argc, char* const* argv)
+cfg_t* config_defaults()
{
static cfg_opt_t opts[] = {
CFG_STR("srs-domain", NULL, CFGF_NODEFAULT),
@@ -172,6 +172,12 @@
cfg_set_validate_func(cfg, "srs-domain", validate_domain_names);
cfg_set_validate_func(cfg, "domains", validate_domain_names);
cfg_set_validate_func(cfg, "keep-alive", validate_uint);
+ return cfg;
+}
+
+cfg_t* config_from_commandline(int argc, char* const* argv)
+{
+ cfg_t* cfg = config_defaults();
int opt;
char* config_file = NULL;
char* pid_file = NULL;
@@ -340,24 +346,34 @@
if (f)
{
char buffer[1024];
+ char* end;
while ((domain = fgets(buffer, sizeof(buffer), f)) != NULL)
{
domain = strtok(domain, "\r\n");
- if (domain && domain[0])
+ if (domain == NULL)
+ continue;
+ while (isspace(domain[0]))
+ ++domain;
+ end = strchr(domain, '#');
+ if (end != NULL)
+ *end = 0;
+ end = domain + strlen(domain);
+ while (end != domain && isspace(*(end - 1)))
+ *--end = 0;
+ if (domain[0] == 0)
+ continue;
+ if (is_valid_domain_name(domain))
+ {
+ domain_set_add(*local_domains, domain);
+ if (*srs_domain == NULL)
+ *srs_domain =
+ strdup(domain[0] == '.' ? domain + 1 : domain);
+ }
+ else
{
- if (is_valid_domain_name(domain))
- {
- domain_set_add(*local_domains, domain);
- if (*srs_domain == NULL)
- *srs_domain =
- strdup(domain[0] == '.' ? domain + 1 : domain);
- }
- else
- {
- log_error("invalid domain name '%s' in domains file",
- domain);
- goto fail;
- }
+ log_error("invalid domain name '%s' in domains file",
+ domain);
+ goto fail;
}
}
fclose(f);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/src/config.h new/postsrsd-2.0.10/src/config.h
--- old/postsrsd-2.0.9/src/config.h 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/src/config.h 2024-07-23 10:26:27.000000000 +0200
@@ -25,6 +25,7 @@
#include <confuse.h>
+cfg_t* config_defaults();
cfg_t* config_from_commandline(int argc, char* const* argv);
srs_t* srs_from_config(cfg_t* cfg);
bool srs_domains_from_config(cfg_t* cfg, char** srs_domain,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/src/milter.c new/postsrsd-2.0.10/src/milter.c
--- old/postsrsd-2.0.9/src/milter.c 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/src/milter.c 2024-07-23 10:26:27.000000000 +0200
@@ -292,7 +292,7 @@
g_srs = srs;
g_srs_domain = srs_domain;
g_local_domains = local_domains;
- smfi_main(NULL);
+ smfi_main();
if (milter_path != NULL && milter_lock > 0)
{
release_lock(milter_path, milter_lock);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/tests/unit/CMakeLists.txt new/postsrsd-2.0.10/tests/unit/CMakeLists.txt
--- old/postsrsd-2.0.9/tests/unit/CMakeLists.txt 2024-04-14 23:42:09.000000000 +0200
+++ new/postsrsd-2.0.10/tests/unit/CMakeLists.txt 2024-07-23 10:26:27.000000000 +0200
@@ -46,3 +46,8 @@
$<$<BOOL:${WITH_REDIS}>:${HIREDIS_TARGET}>
)
add_postsrsd_test(test_srs2 ${SRCDIR}/srs2.c ${SRCDIR}/sha1.c)
+add_postsrsd_test(
+ test_config ${SRCDIR}/config.c ${SRCDIR}/sha1.c ${SRCDIR}/srs2.c
+ ${SRCDIR}/util.c
+)
+target_link_libraries(test_config_executable PRIVATE Confuse::Confuse)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postsrsd-2.0.9/tests/unit/test_config.c new/postsrsd-2.0.10/tests/unit/test_config.c
--- old/postsrsd-2.0.9/tests/unit/test_config.c 1970-01-01 01:00:00.000000000 +0100
+++ new/postsrsd-2.0.10/tests/unit/test_config.c 2024-07-23 10:26:27.000000000 +0200
@@ -0,0 +1,76 @@
+/* PostSRSd - Sender Rewriting Scheme daemon for Postfix
+ * Copyright 2012-2024 Timo Röhling <timo(a)gaussglocke.de>
+ * SPDX-License-Identifier: GPL-3.0-only
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "common.h"
+#include "config.h"
+
+#include <check.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+static char pwd[500];
+static char tmpdir[sizeof(pwd) + 7];
+
+void setup_fs()
+{
+ ck_assert_ptr_nonnull(getcwd(pwd, sizeof(pwd)));
+ strcpy(tmpdir, pwd);
+ strcat(tmpdir, "/XXXXXX");
+ ck_assert_ptr_eq(mkdtemp(tmpdir), tmpdir);
+ ck_assert_int_eq(chdir(tmpdir), 0);
+}
+
+void teardown_fs()
+{
+ ck_assert_int_eq(chdir(pwd), 0);
+ ck_assert_int_eq(rmdir(tmpdir), 0);
+}
+
+START_TEST(config_domains_file)
+{
+ FILE* f = fopen("domains.txt", "w");
+ fprintf(f,
+ "# This is a comment at the beginning of the file\n"
+ "example.com\n"
+ " # This is a comment with preceding white space\n"
+ "\t tabspace.org\n"
+ "\n"
+ "commented.de # This is a comment after a domain name\n"
+ "trailing.net ");
+ fclose(f);
+ cfg_t* cfg = config_defaults();
+ cfg_setstr(cfg, "domains-file", "domains.txt");
+
+ domain_set_t* D = NULL;
+ char* srs_domain = NULL;
+ ck_assert_int_eq(srs_domains_from_config(cfg, &srs_domain, &D), true);
+ ck_assert_int_eq(domain_set_contains(D, "commented.de"), true);
+ ck_assert_int_eq(domain_set_contains(D, "example.com"), true);
+ ck_assert_int_eq(domain_set_contains(D, "tabspace.org"), true);
+ ck_assert_int_eq(domain_set_contains(D, "trailing.net"), true);
+ ck_assert_str_eq(srs_domain, "example.com");
+ ck_assert_int_eq(unlink("domains.txt"), 0);
+ domain_set_destroy(D);
+ free(srs_domain);
+ cfg_free(cfg);
+}
+END_TEST
+
+BEGIN_TEST_SUITE(config)
+ADD_TEST_CASE_WITH_UNCHECKED_FIXTURE(fs, setup_fs, teardown_fs)
+ADD_TEST_TO_TEST_CASE(fs, config_domains_file)
+END_TEST_SUITE()
+TEST_MAIN(config)
++++++ _scmsync.obsinfo ++++++
mtime: 1721738060
commit: a3b87fcb4db08cca33ec75f72c9e6041e4edecb0e8c01ebfadd7bd19aebb703e
url: https://src.opensuse.org/jengelh/postsrsd
revision: master
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Image-ExifTool for openSUSE:Factory checked in at 2024-07-25 15:40:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Image-ExifTool (Old)
and /work/SRC/openSUSE:Factory/.perl-Image-ExifTool.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Image-ExifTool"
Thu Jul 25 15:40:01 2024 rev:77 rq:1189573 version:12.92
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Image-ExifTool/perl-Image-ExifTool.changes 2024-07-15 19:50:14.233803037 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Image-ExifTool.new.1882/perl-Image-ExifTool.changes 2024-07-25 15:52:26.263109518 +0200
@@ -1,0 +2,27 @@
+Thu Jul 25 05:27:47 UTC 2024 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 12.92:
+ * Removed -w from exiftool shebang
+
+-------------------------------------------------------------------
+Thu Jul 25 05:27:27 UTC 2024 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 12.91:
+ * Fixed 2 test files that were causing failed tests
+
+-------------------------------------------------------------------
+Thu Jul 25 05:26:47 UTC 2024 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 12.90:
+ * Added support for reading Samsung trailer from PNG images
+ * Decode two more formats of timed GPS from MP4 videos
+ * Decode a few more Samung trailer tags (thanks Neal Krawetz)
+ * Decode Canon AntiFlicker tag
+ * Drop Nikon ShotInfo record when copying MakerNotes from NEF
+ to JPG if it is larger than 50000 bytes (then MakerNotes would
+ be too large for a single JPEG segment)
+ * Changed exiftool shebang from "#!/usr/bin/perl" to "#!/usr/bin/env perl"
+ * Revert change of 12.84 to iterate through sub-documents
+ with the -p option only if -ee is used
+
+-------------------------------------------------------------------
Old:
----
Image-ExifTool-12.89.tar.gz
New:
----
Image-ExifTool-12.92.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Image-ExifTool.spec ++++++
--- /var/tmp/diff_new_pack.TdvlyD/_old 2024-07-25 15:52:26.915135848 +0200
+++ /var/tmp/diff_new_pack.TdvlyD/_new 2024-07-25 15:52:26.919136009 +0200
@@ -18,7 +18,7 @@
%define cpan_name Image-ExifTool
Name: perl-Image-ExifTool
-Version: 12.89
+Version: 12.92
Release: 0
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Read and write meta information
++++++ Image-ExifTool-12.89.tar.gz -> Image-ExifTool-12.92.tar.gz ++++++
/work/SRC/openSUSE:Factory/perl-Image-ExifTool/Image-ExifTool-12.89.tar.gz /work/SRC/openSUSE:Factory/.perl-Image-ExifTool.new.1882/Image-ExifTool-12.92.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 openssl_tpm2_engine for openSUSE:Factory checked in at 2024-07-25 15:38:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openssl_tpm2_engine (Old)
and /work/SRC/openSUSE:Factory/.openssl_tpm2_engine.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssl_tpm2_engine"
Thu Jul 25 15:38:43 2024 rev:17 rq:1189275 version:4.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openssl_tpm2_engine/openssl_tpm2_engine.changes 2024-04-23 18:55:35.785432629 +0200
+++ /work/SRC/openSUSE:Factory/.openssl_tpm2_engine.new.1882/openssl_tpm2_engine.changes 2024-07-25 15:50:48.131137583 +0200
@@ -1,0 +2,9 @@
+Tue Jul 23 20:23:38 UTC 2024 - James Bottomley <James.Bottomley(a)HansenPartnership.com>
+
+- Update to version 4.2.0
+ * doc updates: typo fix, clarify boolean parsing rules and secret parameter
+ * fix bug with no visible effect in the handling of wrapped secrets
+ * SECURITY fix to salt all sessions
+ * add ability to import RSA wrapped keys and sealed objects
+
+-------------------------------------------------------------------
Old:
----
openssl_tpm2_engine-4.1.2.tar.gz
New:
----
openssl_tpm2_engine-4.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openssl_tpm2_engine.spec ++++++
--- /var/tmp/diff_new_pack.dpqafP/_old 2024-07-25 15:50:48.619157304 +0200
+++ /var/tmp/diff_new_pack.dpqafP/_new 2024-07-25 15:50:48.623157466 +0200
@@ -18,7 +18,7 @@
Name: openssl_tpm2_engine
-Version: 4.1.2
+Version: 4.2.0
Release: 0
Summary: OpenSSL TPM 2.0 interface engine plugin
License: LGPL-2.1-only
++++++ openssl_tpm2_engine-4.1.2.tar.gz -> openssl_tpm2_engine-4.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/configure.ac new/openssl_tpm2_engine-4.2.0/configure.ac
--- old/openssl_tpm2_engine-4.1.2/configure.ac 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/configure.ac 2024-07-23 21:53:23.000000000 +0200
@@ -2,7 +2,7 @@
# configure.in for the OpenSSL TPM engine project
#
-AC_INIT(openssl-tpm2-engine, 4.1.2, <openssl-tpm2-engine(a)groups.io>)
+AC_INIT(openssl-tpm2-engine, 4.2.0, <openssl-tpm2-engine(a)groups.io>)
AM_INIT_AUTOMAKE([foreign 1.6.3])
AC_CANONICAL_HOST
AM_CONDITIONAL(NATIVE_BUILD, test "x$cross_compiling" = "xno")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/doc/draft-bottomley-tpm2-keys.xml new/openssl_tpm2_engine-4.2.0/doc/draft-bottomley-tpm2-keys.xml
--- old/openssl_tpm2_engine-4.1.2/doc/draft-bottomley-tpm2-keys.xml 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/doc/draft-bottomley-tpm2-keys.xml 2024-07-23 21:53:23.000000000 +0200
@@ -65,8 +65,9 @@
<dd>Abstract Syntax Notation defined in
<xref target="X.680"/></dd>
<dt>DER</dt>
- <dd>Distinguished Encoding Rules. Basically a defined binary
- representation for ASN.1</dd>
+ <dd>Distinguished Encoding Rules defined in <xref
+ target="X.690"/>. Basically a defined binary representation
+ for ASN.1</dd>
<dt>MSO</dt>
<dd>Most Significant Octet (the highest order
byte of an integer)</dd>
@@ -155,7 +156,7 @@
TPM2_Load/Import/Unseal command whether it must also send
down an authorization, so this parameter gives that
indication. emptyAuth MUST be true if authorization is
- NOT required and MUST BE either false or absent if
+ NOT required and MUST be either false or absent if
authorization is required. Since this element has
three states (one representing true and two representing
false) it is RECOMMENDED that implementations emitting
@@ -174,19 +175,21 @@
</section>
<section title="secret">
<t>
- This section describes the additional cryptographic
- secret used to specify the outer wrapping of an
- importable key. It MUST be present for key type
- id-importablekey and MUST NOT be present for any other
- key type.
+ This section describes the additional cryptographic secret
+ used to specify the outer wrapping of an importable
+ object. For keys, it MUST be present for key type
+ id-importablekey and MUST NOT be present for key type
+ id-loadablekey. For sealed data objects of type
+ id-sealedkey, it MAY be present and if present indicates
+ the object is importable.
</t>
<t>
- Importable keys (designed to be processed by TPM2_Import)
- MUST have an unencrypted inner wrapper (symmetricAlg MUST
- be TPM_ALG_NULL and encryptionKey MUST be empty) and an
- outer wrapper encrypted to the parent key using
- inSymSeed. The secret parameter is the fully marshalled
- TPM2B_ENCRYPTED_SECRET form of inSymSeed.
+ Importable objects (designed to be processed by
+ TPM2_Import) MUST have an unencrypted inner wrapper
+ (symmetricAlg MUST be TPM_ALG_NULL and encryptionKey MUST
+ be empty) and an outer wrapper encrypted to the parent key
+ using inSymSeed. The secret parameter is the fully
+ marshalled TPM2B_ENCRYPTED_SECRET form of inSymSeed.
</t>
</section>
<section title="authPolicy">
@@ -611,6 +614,13 @@
Implementations SHOULD minimize the number of TPM2_Import
operations by caching the emitted TPM2B_PRIVATE.
</t>
+ <t>
+ Some applications have broken DER encoding and emit values
+ other than the required 0xFF for BOOLEAN TRUE (see <xref
+ target="X.690"/> section 11.1 "Boolean values"). When parsing
+ DER encodings, implementations SHOULD accept any non-zero
+ octet as BOOLEAN TRUE.
+ </t>
</section>
<section anchor="security" title="Security Considerations">
<t>
@@ -726,6 +736,18 @@
<date year="2015" month="August"/>
</front>
</reference>
+ <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690-202102-I">
+ <front>
+ <title>
+ ITU-T Recommendataion X.690,
+ Information technology – ASN.1 encoding rules:
+ Specification of Basic Encoding Rules (BER), Canonical
+ Encoding Rules (CER) and Distinguished Encoding Rules
+ (DER)</title>
+ <author><organization>International Telecommunication Union</organization></author>
+ <date year="2021" month="February"/>
+ </front>
+ </reference>
<reference anchor="TCG-Provision" target="https://trustedcomputinggroup.org/resource/tcg-tpm-v2-0-provisioning-guidan…">
<front>
<title>TCG TPM v2.0 Provisioning Guidance</title>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/src/include/ibm-tss.h new/openssl_tpm2_engine-4.2.0/src/include/ibm-tss.h
--- old/openssl_tpm2_engine-4.1.2/src/include/ibm-tss.h 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/src/include/ibm-tss.h 2024-07-23 21:53:23.000000000 +0200
@@ -661,7 +661,7 @@
/* need public area pulled in for nonce computation */
if ((authHandle >> 24) == TPM_HT_NV_INDEX)
tpm2_NV_ReadPublic(tssContext, authHandle, NULL);
- else
+ else if ((authHandle >> 24) != TPM_HT_PERMANENT)
tpm2_ReadPublic(tssContext, authHandle, NULL, TPM_RH_NULL, NULL);
rc = tpm2_StartAuthSession(tssContext, TPM_RH_NULL, authHandle,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/src/include/intel-tss.h new/openssl_tpm2_engine-4.2.0/src/include/intel-tss.h
--- old/openssl_tpm2_engine-4.1.2/src/include/intel-tss.h 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/src/include/intel-tss.h 2024-07-23 21:53:23.000000000 +0200
@@ -90,6 +90,8 @@
#define TPM_RC TPM2_RC
#define TPM_CC TPM2_CC
+#define TPM_RS_PW TPM2_RS_PW
+
#define TPM_ALG_ID TPM2_ALG_ID
#define TPM_SE TPM2_SE
#define TPM_SE_HMAC TPM2_SE_HMAC
@@ -185,10 +187,11 @@
TSS_CONVERT_MARSHAL(UINT8, *)
TSS_CONVERT_MARSHAL(UINT16, *)
TSS_CONVERT_MARSHAL(TPMT_SENSITIVE, )
-TSS_CONVERT_MARSHAL(TPM2B_ECC_POINT, )
+TSS_CONVERT_MARSHAL(TPMS_ECC_POINT, )
TSS_CONVERT_MARSHAL(TPM2B_DIGEST, )
TSS_CONVERT_MARSHAL(TPM2B_NAME, )
TSS_CONVERT_MARSHAL(TPM2B_PUBLIC, )
+TSS_CONVERT_MARSHAL(TPM2B_ENCRYPTED_SECRET, )
TSS_CONVERT_MARSHAL(TPM2B_PRIVATE, )
TSS_CONVERT_MARSHAL(TPML_PCR_SELECTION, )
TSS_CONVERT_MARSHAL(TPMT_SIGNATURE, )
@@ -941,7 +944,10 @@
creationPcr.count = 0;
intel_auth_helper(tssContext, primaryHandle, authVal);
- intel_sess_helper(tssContext, auth, TPMA_SESSION_DECRYPT);
+ if (auth == TPM_RS_PW)
+ auth = ESYS_TR_PASSWORD;
+ else
+ intel_sess_helper(tssContext, auth, TPMA_SESSION_DECRYPT);
rc = Esys_CreatePrimary(tssContext, primaryHandle, auth, ESYS_TR_NONE,
ESYS_TR_NONE, inSensitive, inPublic,
&outsideInfo, &creationPcr, objectHandle,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/src/include/tpm2-common.h new/openssl_tpm2_engine-4.2.0/src/include/tpm2-common.h
--- old/openssl_tpm2_engine-4.1.2/src/include/tpm2-common.h 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/src/include/tpm2-common.h 2024-07-23 21:53:23.000000000 +0200
@@ -120,6 +120,11 @@
TSSAUTHPOLICY *ap, TPMT_HA *digest, int need_auth);
TPM_RC tpm2_add_policy_secret(TSS_CONTEXT *tssContext, STACK_OF(TSSOPTPOLICY) *sk,
TPM_HANDLE handle, TPMT_HA *digest);
+TPM_RC tpm2_hmacwrap(EVP_PKEY *parent,
+ NAME_2B *name,
+ const char *label,
+ PRIVATE_2B *p, /* contains the to be encrypted data */
+ ENCRYPTED_SECRET_2B *enc_secret);
TPM_RC tpm2_outerwrap(EVP_PKEY *parent,
TPMT_SENSITIVE *s,
TPMT_PUBLIC *pub,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/src/libcommon/tpm2-common.c new/openssl_tpm2_engine-4.2.0/src/libcommon/tpm2-common.c
--- old/openssl_tpm2_engine-4.1.2/src/libcommon/tpm2-common.c 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/src/libcommon/tpm2-common.c 2024-07-23 21:53:23.000000000 +0200
@@ -724,7 +724,7 @@
TPM_RC rc;
TPM2B_SENSITIVE_CREATE inSensitive;
TPM2B_PUBLIC inPublic;
- TPM_HANDLE session;
+ TPM_HANDLE session = TPM_RS_PW;
if (auth) {
VAL_2B(inSensitive.sensitive.userAuth, size) = strlen(auth);
@@ -763,16 +763,19 @@
/* use a bound session here because we have no known key objects
* to encrypt a salt to */
- rc = tpm2_get_bound_handle(tssContext, &session, hierarchy, auth);
- if (rc)
- return rc;
+ if (auth) {
+ rc = tpm2_get_bound_handle(tssContext, &session, hierarchy, auth);
+ if (rc)
+ return rc;
+ }
rc = tpm2_CreatePrimary(tssContext, hierarchy, &inSensitive, &inPublic,
h, pub, session, auth);
if (rc) {
tpm2_error(rc, "TSS_CreatePrimary");
- tpm2_flush_handle(tssContext, session);
+ if (session != TPM_RS_PW)
+ tpm2_flush_handle(tssContext, session);
}
return rc;
@@ -990,19 +993,27 @@
return tpm2_ReadPublic(tssContext, handle, NULL, TPM_RH_NULL, name);
}
-TPM_RC tpm2_get_bound_handle(TSS_CONTEXT *tssContext, TPM_HANDLE *handle,
- TPM_HANDLE bind, const char *auth)
+static TPM_RC _get_session_internal(TSS_CONTEXT *tssContext,
+ TPM_HANDLE *handle,
+ TPM_HANDLE salt_key,
+ TPM_HANDLE bind, TPM_SE sessionType,
+ TPM_ALG_ID name_alg, const char *auth)
{
TPM_RC rc;
TPMT_SYM_DEF symmetric;
+ TPM_HANDLE sh = salt_key;
symmetric.algorithm = TPM_ALG_AES;
symmetric.keyBits.aes = 128;
symmetric.mode.aes = TPM_ALG_CFB;
- rc = tpm2_StartAuthSession(tssContext, TPM_RH_NULL, bind,
- TPM_SE_HMAC, &symmetric,
- TPM_ALG_SHA256, handle, auth);
+ if (sh == TPM_RH_NULL)
+ tpm2_load_srk(tssContext, &sh, NULL, NULL, sh, TPM2_LOADABLE);
+ rc = tpm2_StartAuthSession(tssContext, sh, bind,
+ sessionType, &symmetric,
+ name_alg, handle, auth);
+ if (sh != salt_key)
+ tpm2_FlushContext(tssContext, sh);
if (rc)
tpm2_error(rc, "TPM2_StartAuthSession");
@@ -1010,29 +1021,25 @@
return rc;
}
+TPM_RC tpm2_get_bound_handle(TSS_CONTEXT *tssContext, TPM_HANDLE *handle,
+ TPM_HANDLE bind, const char *auth)
+{
+ return _get_session_internal(tssContext, handle, TPM_RH_NULL,
+ bind, TPM_SE_HMAC, TPM_ALG_SHA256,
+ auth);
+}
+
TPM_RC tpm2_get_session_handle(TSS_CONTEXT *tssContext, TPM_HANDLE *handle,
TPM_HANDLE salt_key, TPM_SE sessionType,
TPM_ALG_ID name_alg)
{
- TPM_RC rc;
- TPMT_SYM_DEF symmetric;
-
/* 0 means no key, which we express as TPM_RH_NULL to the TSS */
if (!salt_key)
salt_key = TPM_RH_NULL;
- symmetric.algorithm = TPM_ALG_AES;
- symmetric.keyBits.aes = 128;
- symmetric.mode.aes = TPM_ALG_CFB;
-
- rc = tpm2_StartAuthSession(tssContext, salt_key, TPM_RH_NULL,
- sessionType, &symmetric, name_alg,
- handle, NULL);
-
- if (rc)
- tpm2_error(rc, "TPM2_StartAuthSession");
-
- return rc;
+ return _get_session_internal(tssContext, handle, salt_key,
+ TPM_RH_NULL, sessionType, name_alg,
+ NULL);
}
static TPM_RC tpm2_try_policy(TSS_CONTEXT *tssContext, TPM_HANDLE handle,
@@ -2247,9 +2254,14 @@
}
if (secret) {
+ BYTE buf[2048];
+ BYTE *buffer = buf;
+ INT32 size = sizeof(buf);
+ UINT16 written = 0;
+
+ TSS_TPM2B_ENCRYPTED_SECRET_Marshal((TPM2B_ENCRYPTED_SECRET *)secret, &written, &buffer, &size);
k.tpk.secret = ASN1_OCTET_STRING_new();
- ASN1_STRING_set(k.tpk.secret, secret->secret,
- secret->size);
+ ASN1_STRING_set(k.tpk.secret, buf, written);
}
/* standard requires true or not present */
@@ -3116,58 +3128,76 @@
return TPM_RC_ASYMMETRIC;
}
-TPM_RC tpm2_outerwrap(EVP_PKEY *parent,
- TPMT_SENSITIVE *s,
- TPMT_PUBLIC *pub,
- PRIVATE_2B *p,
- ENCRYPTED_SECRET_2B *enc_secret)
+static TPM_RC tpm2_rsa_seed(EVP_PKEY *parent,
+ const char *label,
+ PRIVATE_2B *seed,
+ ENCRYPTED_SECRET_2B *enc_secret)
{
- PRIVATE_2B secret, seed;
- /* amount of room in the buffer for the integrity TPM2B */
- const int integrity_skip = SHA256_DIGEST_LENGTH + 2;
- // BYTE *integrity = p->buffer;
- BYTE *sensitive = p->buffer + integrity_skip;
- BYTE *buf;
- TPM2B *t2b;
- INT32 size;
- size_t ssize;
- UINT16 bsize, written = 0;
+ EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new(parent, NULL);
+ char *dup_label;
+ size_t size;
+
+ if (!ctx)
+ goto openssl_err;
+
+ if (EVP_PKEY_encrypt_init(ctx) != 1)
+ goto openssl_err;
+
+ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) != 1)
+ goto openssl_err;
+
+ dup_label = OPENSSL_strdup(label);
+ if (!label)
+ goto openssl_err;
+
+ if (EVP_PKEY_CTX_set0_rsa_oaep_label(ctx, dup_label,
+ strlen(dup_label) + 1) != 1) {
+ OPENSSL_free(dup_label);
+ goto openssl_err;
+ }
+
+ if(EVP_PKEY_CTX_set_rsa_oaep_md(ctx, EVP_sha256()) != 1)
+ goto openssl_err;
+
+ /* initialize the seed with a random string */
+ seed->size = SHA256_DIGEST_LENGTH;
+ RAND_bytes(seed->buffer, seed->size);
+
+ size = sizeof(enc_secret->secret);
+ if (EVP_PKEY_encrypt(ctx, enc_secret->secret, &size,
+ seed->buffer, seed->size) != 1)
+ goto openssl_err;
+ enc_secret->size = size;
+ EVP_PKEY_CTX_free(ctx);
+
+ return 0;
+
+ openssl_err:
+ ERR_print_errors_fp(stderr);
+ if (ctx)
+ EVP_PKEY_CTX_free(ctx);
+ return TPM_RC_ASYMMETRIC;
+}
+
+static TPM_RC tpm2_ecc_seed(EVP_PKEY *parent,
+ const char *label,
+ PRIVATE_2B *seed,
+ ENCRYPTED_SECRET_2B *enc_secret)
+{
+ PRIVATE_2B secret;
EVP_PKEY *ephemeral = NULL;
EVP_PKEY_CTX *ctx;
TPM2B_ECC_POINT pub_pt, ephemeral_pt;
EC_KEY *e_parent, *e_ephemeral;
const EC_GROUP *group;
- unsigned char aeskey[T2_AES_KEY_BYTES];
- /* hmac follows namealg, so set to max size */
- KEY_2B hmackey;
- TPMT_HA hmac;
- NAME_2B name;
- DIGEST_2B digest;
- unsigned char null_iv[AES_128_BLOCK_SIZE_BYTES];
- TPM2B null_2b;
-
- null_2b.size = 0;
-
- if (EVP_PKEY_type(EVP_PKEY_id(parent)) != EVP_PKEY_EC) {
- printf("Can only currently wrap to EC parent\n");
- return TPM_RC_ASYMMETRIC;
- }
+ BYTE *buf;
+ INT32 size;
+ size_t ssize;
+ UINT16 written;
e_parent = EVP_PKEY_get1_EC_KEY(parent);
group = EC_KEY_get0_group(e_parent);
- /* marshal the sensitive into a TPM2B */
- t2b = (TPM2B *)sensitive;
- buf = t2b->buffer;
- size = sizeof(p->buffer) - integrity_skip;
- bsize = 0;
- TSS_TPMT_SENSITIVE_Marshal(s, &bsize, &buf, &size);
- buf = (BYTE *)&t2b->size;
- size = 2;
- TSS_UINT16_Marshal(&bsize, &written, &buf, &size);
- /* set the total size of the private entity */
- p->size = bsize + sizeof(UINT16) + integrity_skip;
-
/* compute the elliptic curve shared (and encrypted) secret */
ctx = EVP_PKEY_CTX_new(parent, NULL);
if (!ctx)
@@ -3211,33 +3241,79 @@
/* now pass the secret through KDFe to get the shared secret
* The size is the size of the parent name algorithm which we
* assume to be sha256 */
- TSS_KDFE(seed.buffer, TPM_ALG_SHA256, (TPM2B *)&secret, "DUPLICATE",
+ TSS_KDFE(seed->buffer, TPM_ALG_SHA256, (TPM2B *)&secret, label,
(TPM2B *)&ephemeral_pt.point.x, (TPM2B *)&pub_pt.point.x,
SHA256_DIGEST_LENGTH*8);
- seed.size = SHA256_DIGEST_LENGTH;
+ seed->size = SHA256_DIGEST_LENGTH;
+
+ /* OK the ephermeral public point is now the encrypted secret */
+ size = sizeof(ephemeral_pt);
+ written = 0;
+ buf = enc_secret->secret;
+ TSS_TPMS_ECC_POINT_Marshal(&ephemeral_pt.point, &written,
+ &buf, &size);
+ enc_secret->size = written;
+ return 0;
+
+ openssl_err:
+ ERR_print_errors_fp(stderr);
+ return TPM_RC_ASYMMETRIC;
+}
+
+TPM_RC tpm2_hmacwrap(EVP_PKEY *parent,
+ NAME_2B *name,
+ const char *label,
+ PRIVATE_2B *p, /* contains the to be encrypted data */
+ ENCRYPTED_SECRET_2B *enc_secret)
+{
+ PRIVATE_2B seed;
+ /* amount of room in the buffer for the integrity TPM2B */
+ const int integrity_skip = SHA256_DIGEST_LENGTH + 2;
+ BYTE *sensitive = p->buffer + integrity_skip;
+ BYTE *buf;
+ INT32 size;
+ UINT16 written = 0;
+ unsigned char aeskey[T2_AES_KEY_BYTES];
+ /* hmac follows namealg, so set to max size */
+ KEY_2B hmackey;
+ TPMT_HA hmac;
+ DIGEST_2B digest;
+ unsigned char null_iv[AES_128_BLOCK_SIZE_BYTES];
+ TPM2B null_2b;
+ TPM_RC rc;
+
+ null_2b.size = 0;
+ switch (EVP_PKEY_type(EVP_PKEY_id(parent))) {
+ case EVP_PKEY_EC:
+ rc = tpm2_ecc_seed(parent, label, &seed, enc_secret);
+ break;
+
+ case EVP_PKEY_RSA:
+ rc = tpm2_rsa_seed(parent, label, &seed, enc_secret);
+ break;
+
+ default:
+ printf("Can only currently wrap to EC parent\n");
+ rc = TPM_RC_ASYMMETRIC;
+ break;
+ }
+ if (rc)
+ return rc;
/* and finally through KDFa to get the aes symmetric encryption key */
- tpm2_ObjectPublic_GetName(&name, pub);
TSS_KDFA(aeskey, TPM_ALG_SHA256, (TPM2B *)&seed, "STORAGE",
- (TPM2B *)&name, &null_2b, T2_AES_KEY_BITS);
+ (TPM2B *)name, &null_2b, T2_AES_KEY_BITS);
/* and then the outer HMAC key */
hmackey.size = SHA256_DIGEST_LENGTH;
TSS_KDFA(hmackey.buffer, TPM_ALG_SHA256, (TPM2B *)&seed, "INTEGRITY",
&null_2b, &null_2b, SHA256_DIGEST_LENGTH*8);
- /* OK the ephermeral public point is now the encrypted secret */
- size = sizeof(ephemeral_pt);
- written = 0;
- buf = enc_secret->secret;
- TSS_TPM2B_ECC_POINT_Marshal(&ephemeral_pt, &written,
- &buf, &size);
- enc_secret->size = written;
memset(null_iv, 0, sizeof(null_iv));
TSS_AES_EncryptCFB(sensitive, T2_AES_KEY_BITS, aeskey, null_iv,
p->size - integrity_skip, sensitive);
hmac.hashAlg = TPM_ALG_SHA256;
TSS_HMAC_Generate(&hmac, (TPM2B_KEY *)&hmackey,
p->size - integrity_skip, sensitive,
- name.size, name.name,
+ name->size, name->name,
0, NULL);
digest.size = SHA256_DIGEST_LENGTH;
memcpy(digest.buffer, &hmac.digest, digest.size);
@@ -3245,10 +3321,38 @@
buf = p->buffer;
TSS_TPM2B_DIGEST_Marshal((TPM2B_DIGEST *)&digest, &written, &buf, &size);
return TPM_RC_SUCCESS;
+}
- openssl_err:
- ERR_print_errors_fp(stderr);
- return TPM_RC_ASYMMETRIC;
+TPM_RC tpm2_outerwrap(EVP_PKEY *parent,
+ TPMT_SENSITIVE *s,
+ TPMT_PUBLIC *pub,
+ PRIVATE_2B *p,
+ ENCRYPTED_SECRET_2B *enc_secret)
+{
+ /* amount of room in the buffer for the integrity TPM2B */
+ const int integrity_skip = SHA256_DIGEST_LENGTH + 2;
+ BYTE *sensitive = p->buffer + integrity_skip;
+ BYTE *buf;
+ TPM2B *t2b;
+ INT32 size;
+ UINT16 bsize, written = 0;
+ NAME_2B name;
+
+ /* marshal the sensitive into a TPM2B */
+ t2b = (TPM2B *)sensitive;
+ buf = t2b->buffer;
+ size = sizeof(p->buffer) - integrity_skip;
+ bsize = 0;
+ TSS_TPMT_SENSITIVE_Marshal(s, &bsize, &buf, &size);
+ buf = (BYTE *)&t2b->size;
+ size = 2;
+ TSS_UINT16_Marshal(&bsize, &written, &buf, &size);
+ /* set the total size of the private entity */
+ p->size = bsize + sizeof(UINT16) + integrity_skip;
+
+ tpm2_ObjectPublic_GetName(&name, pub);
+
+ return tpm2_hmacwrap(parent, &name, "DUPLICATE", p, enc_secret);
}
void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/src/tools/create_tpm2_key.c new/openssl_tpm2_engine-4.2.0/src/tools/create_tpm2_key.c
--- old/openssl_tpm2_engine-4.1.2/src/tools/create_tpm2_key.c 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/src/tools/create_tpm2_key.c 2024-07-23 21:53:23.000000000 +0200
@@ -724,12 +724,6 @@
goto out_err;
}
- /* FIXME: should do RSA as well, it's just more complex */
- if (EVP_PKEY_type(EVP_PKEY_id(p_pkey)) != EVP_PKEY_EC) {
- reason = "parent not EC key";
- goto out_err;
- }
-
rc = openssl_to_tpm_public(pub, pkey);
if (rc) {
reason = "openssl_to_tpm_public";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/tests/check_importable.sh new/openssl_tpm2_engine-4.2.0/tests/check_importable.sh
--- old/openssl_tpm2_engine-4.1.2/tests/check_importable.sh 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/tests/check_importable.sh 2024-07-23 21:53:23.000000000 +0200
@@ -1,9 +1,11 @@
#!/bin/bash
-# export the parent key as a public key
+# export the parent key as a EC and RSA public key
prim=$(tsscreateprimary -ecc nistp256 -hi o -opem srk.pub | sed 's/Handle //') || exit 1
tssflushcontext -ha ${prim} || exit 1
+prim=$(tsscreateprimary -rsa 2048 -hi o -opem srkrsa.pub | sed 's/Handle //') || exit 1
+tssflushcontext -ha ${prim} || exit 1
for n in sha1 sha256 sha384; do
echo "Checking Name Hash $n"
@@ -32,5 +34,36 @@
openssl req -new -x509 -subj '/CN=test/' -key key.tpm $ENGINE $KEYFORM -out tmp.crt && exit 1
tsspcrextend -ha 16 -ic aaa
openssl req -new -x509 -subj '/CN=test/' -key key.tpm $ENGINE $KEYFORM -out tmp.crt || exit 1
+ openssl verify -CAfile tmp.crt -check_ss_sig tmp.crt || exit 1
+done
+
+echo "Checking RSA Import"
+for n in sha1 sha256 sha384; do
+ echo "Checking Name Hash $n"
+ if [ "$n" = "sha256" ]; then
+ POLICYFILE=${testdir}/policies/policy_pcr.txt
+ else
+ POLICYFILE=${testdir}/policies/policy_pcr${n}.txt
+ fi
+ # check an EC key with a cert and password
+ openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:prime256v1 -out key.priv || exit 1
+ ${bindir}/create_tpm2_key -p 81000001 --import srkrsa.pub --wrap key.priv -n ${n} -a -k passw0rd key.tpm || exit 1
+ openssl req -new -x509 -subj '/CN=test/' -key key.tpm -passin pass:passw0rd $ENGINE $KEYFORM -out tmp.crt || exit 1
+ openssl verify -CAfile tmp.crt -check_ss_sig tmp.crt || exit 1
+
+ # Check the loadability of an importable key
+ NV=81000201
+ ${bindir}/load_tpm2_key key.tpm ${NV} || exit 1
+ openssl req -new -x509 -subj '/CN=test/' -key //nvkey:${NV} -passin pass:passw0rd $ENGINE $KEYFORM -out tmp.crt || exit 1
+ openssl verify -CAfile tmp.crt -check_ss_sig tmp.crt || exit 1
+ tssevictcontrol -hi o -ho ${NV} -hp ${NV}
+
+ #check an RSA key with a cert and policy
+ openssl genrsa 2048 > key.priv || exit 1
+ tsspcrreset -ha 16
+ ${bindir}/create_tpm2_key -p 81000001 --import srkrsa.pub -n ${n} --wrap key.priv -c ${POLICYFILE} key.tpm || exit 1
+ openssl req -new -x509 -subj '/CN=test/' -key key.tpm $ENGINE $KEYFORM -out tmp.crt && exit 1
+ tsspcrextend -ha 16 -ic aaa
+ openssl req -new -x509 -subj '/CN=test/' -key key.tpm $ENGINE $KEYFORM -out tmp.crt || exit 1
openssl verify -CAfile tmp.crt -check_ss_sig tmp.crt || exit 1
done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/tests/restricted_parent.sh new/openssl_tpm2_engine-4.2.0/tests/restricted_parent.sh
--- old/openssl_tpm2_engine-4.1.2/tests/restricted_parent.sh 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/tests/restricted_parent.sh 2024-07-23 21:53:23.000000000 +0200
@@ -78,4 +78,12 @@
openssl verify -CAfile tmp.crt -check_ss_sig tmp.crt || exit 1
done
-exit 0
+##
+# Now add back the RSA storage parent: clearing the TPM will have
+# changed the storage seed and flushed it and it is needed to verify
+# RSA importable keys
+##
+tssclear -hi p || exit 1
+key=$(tsscreateprimary -hi o -st -rsa|sed 's/Handle //') && \
+tssevictcontrol -hi o -ho ${key} -hp 81000001 && \
+tssflushcontext -ha ${key}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl_tpm2_engine-4.1.2/tests/seal_unseal.sh new/openssl_tpm2_engine-4.2.0/tests/seal_unseal.sh
--- old/openssl_tpm2_engine-4.1.2/tests/seal_unseal.sh 2024-04-19 17:40:47.000000000 +0200
+++ new/openssl_tpm2_engine-4.2.0/tests/seal_unseal.sh 2024-07-23 21:53:23.000000000 +0200
@@ -59,6 +59,18 @@
${bindir}/unseal_tpm2_data -k ${AUTH} seal.tpm && exit 1
tsspcrextend -ha 16 -ic aaa
${bindir}/unseal_tpm2_data -k ${AUTH} seal.tpm | grep -q "${DATA}" || exit 1;
+ # check importable RSA (same data and policies)
+ prim=$(tsscreateprimary -hi o -st -rsa -opem srk.pub | sed 's/Handle //') || exit 1
+ tssflushcontext -ha $prim
+ TPM_INTERFACE_TYPE= echo $DATA | ${bindir}/seal_tpm2_data -n ${n} -a -k ${AUTH} --parent 81000001 --import srk.pub seal.tpm || exit 1;
+ ${bindir}/unseal_tpm2_data -k ${AUTH} seal.tpm | grep -q "${DATA}" || exit 1;
+ rm seal.tpm
+
+ TPM_INTERFACE_TYPE= echo $DATA | ${bindir}/seal_tpm2_data -n ${n} --import srk.pub --parent 81000001 --policy ${POLICYFILE} seal.tpm || exit 1;
+ tsspcrreset -ha 16
+ ${bindir}/unseal_tpm2_data -k ${AUTH} seal.tpm && exit 1
+ tsspcrextend -ha 16 -ic aaa
+ ${bindir}/unseal_tpm2_data -k ${AUTH} seal.tpm | grep -q "${DATA}" || exit 1;
done
exit 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2024-07-25 15:38:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Thu Jul 25 15:38:41 2024 rev:525 rq:1189285 version:20240716.1a95eb1
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2024-07-02 18:19:36.234344307 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.1882/openSUSE-release-tools.changes 2024-07-25 15:50:37.422704853 +0200
@@ -1,0 +2,30 @@
+Tue Jul 16 12:17:46 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240716.1a95eb1:
+ * Monitor the release of Mimimal-VM images in SLES16
+
+-------------------------------------------------------------------
+Tue Jul 16 07:25:25 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240716.f3350aa:
+ * Add Mimimal-VM images SLES16 release pipeline
+
+-------------------------------------------------------------------
+Wed Jul 10 09:52:06 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240710.b7e71a0:
+ * gocd: changes to checkers, stagings and target for SLE15SP7
+
+-------------------------------------------------------------------
+Mon Jul 08 07:55:51 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240708.a906506:
+ * Ignore patchinfo packages when checking for duplicated binaries
+
+-------------------------------------------------------------------
+Wed Jul 03 14:36:49 UTC 2024 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20240703.7797359:
+ * Install tools explicitly to avoid busybox variants being picked
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20240625.9e0d0ae.obscpio
New:
----
openSUSE-release-tools-20240716.1a95eb1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.T3Kbrf/_old 2024-07-25 15:50:38.214736859 +0200
+++ /var/tmp/diff_new_pack.T3Kbrf/_new 2024-07-25 15:50:38.214736859 +0200
@@ -21,7 +21,7 @@
%define announcer_filename factory-package-news
%define services osrt-slsa.target osrt-relpkggen@.timer osrt-relpkggen@.service osrt-pkglistgen@.timer osrt-pkglistgen@.service
Name: openSUSE-release-tools
-Version: 20240625.9e0d0ae
+Version: 20240716.1a95eb1
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.T3Kbrf/_old 2024-07-25 15:50:38.270739122 +0200
+++ /var/tmp/diff_new_pack.T3Kbrf/_new 2024-07-25 15:50:38.274739284 +0200
@@ -1,7 +1,7 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param name="changesrevision">9e0d0ae27f958648945c951c8d32aa2a567f2ad9</param>
+ <param name="changesrevision">1a95eb116564b54b90f98b8889e6b779e3e5011c</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20240625.9e0d0ae.obscpio -> openSUSE-release-tools-20240716.1a95eb1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/dist/ci/testenv-tumbleweed/Dockerfile new/openSUSE-release-tools-20240716.1a95eb1/dist/ci/testenv-tumbleweed/Dockerfile
--- old/openSUSE-release-tools-20240625.9e0d0ae/dist/ci/testenv-tumbleweed/Dockerfile 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/dist/ci/testenv-tumbleweed/Dockerfile 2024-07-16 14:17:01.000000000 +0200
@@ -8,7 +8,7 @@
RUN zypper in -y osc python3-pytest python3-httpretty python3-pyxdg python3-PyYAML \
python3-pika python3-cmdln python3-lxml python3-python-dateutil python3-colorama \
python3-influxdb python3-pytest-cov libxml2-tools curl python3-flake8 python3-requests \
- shadow vim vim-data strace git sudo patch openSUSE-release openSUSE-release-ftp \
+ shadow vim vim-data strace git sudo patch unzip which cpio gawk openSUSE-release openSUSE-release-ftp \
perl-Net-SSLeay perl-Text-Diff perl-XML-Simple perl-XML-Parser build \
obs-service-download_files obs-service-format_spec_file obs-scm-bridge
RUN useradd tester -d /code/tests/home
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/gocd/checkers.suse.gocd.yaml new/openSUSE-release-tools-20240716.1a95eb1/gocd/checkers.suse.gocd.yaml
--- old/openSUSE-release-tools-20240625.9e0d0ae/gocd/checkers.suse.gocd.yaml 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/gocd/checkers.suse.gocd.yaml 2024-07-16 14:17:01.000000000 +0200
@@ -42,7 +42,7 @@
- staging-bot
tasks:
- script: ./check_bugowner.py -A https://api.suse.de --verbose --user=bugowner-checker review
- SLE15SP6.Project:
+ SLE15SP7.Project:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -57,11 +57,11 @@
- Run:
approval: manual
jobs:
- SLE_15_SP6:
+ SLE_15_SP7:
resources:
- repo-checker
tasks:
- - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:SLE-15-SP6:GA:Staging/dashboard --no-rebuild SUSE:SLE-15-SP6:GA
+ - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:SLE-15-SP7:GA:Staging/dashboard --no-rebuild SUSE:SLE-15-SP7:GA
SL-Micro.Project:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
@@ -102,7 +102,7 @@
- staging-bot
tasks:
- script: ./origin-manager.py -A https://api.suse.de --debug review
- S15.SP6.Staging.Bot.Regular:
+ S15.SP7.Staging.Bot.Regular:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -130,10 +130,10 @@
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA rebuild
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA list --supersede
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA unselect --cleanup
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA repair --cleanup
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA rebuild
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA list --supersede
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA unselect --cleanup
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA repair --cleanup
rm -rf $tempdir
SL-Micro.Staging.Bot.Regular:
group: SLE.Checkers
@@ -169,7 +169,7 @@
osc -A https://api.suse.de staging -p SUSE:ALP:Products:Marble:6.0 unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:ALP:Products:Marble:6.0 repair --cleanup
rm -rf $tempdir
- S15.SP6.Staging.Bot.Report:
+ S15.SP7.Staging.Bot.Report:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -189,7 +189,7 @@
resources:
- staging-bot
tasks:
- - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:SLE-15-SP6:GA
+ - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:SLE-15-SP7:GA
SL-Micro.Staging.Bot.Report:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/gocd/checkers.suse.gocd.yaml.erb new/openSUSE-release-tools-20240716.1a95eb1/gocd/checkers.suse.gocd.yaml.erb
--- old/openSUSE-release-tools-20240625.9e0d0ae/gocd/checkers.suse.gocd.yaml.erb 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/gocd/checkers.suse.gocd.yaml.erb 2024-07-16 14:17:01.000000000 +0200
@@ -42,7 +42,7 @@
- staging-bot
tasks:
- script: ./check_bugowner.py -A https://api.suse.de --verbose --user=bugowner-checker review
- SLE15SP6.Project:
+ SLE15SP7.Project:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -57,11 +57,11 @@
- Run:
approval: manual
jobs:
- SLE_15_SP6:
+ SLE_15_SP7:
resources:
- repo-checker
tasks:
- - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:SLE-15-SP6:GA:Staging/dashboard --no-rebuild SUSE:SLE-15-SP6:GA
+ - script: ./project-installcheck.py -A https://api.suse.de --debug check --store SUSE:SLE-15-SP7:GA:Staging/dashboard --no-rebuild SUSE:SLE-15-SP7:GA
SL-Micro.Project:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
@@ -102,7 +102,7 @@
- staging-bot
tasks:
- script: ./origin-manager.py -A https://api.suse.de --debug review
- S15.SP6.Staging.Bot.Regular:
+ S15.SP7.Staging.Bot.Regular:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -130,10 +130,10 @@
ln -s $PWD/osclib $tempdir/.osc-plugins
export HOME=$tempdir
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA rebuild
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA list --supersede
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA unselect --cleanup
- osc -A https://api.suse.de staging -p SUSE:SLE-15-SP6:GA repair --cleanup
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA rebuild
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA list --supersede
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA unselect --cleanup
+ osc -A https://api.suse.de staging -p SUSE:SLE-15-SP7:GA repair --cleanup
rm -rf $tempdir
SL-Micro.Staging.Bot.Regular:
group: SLE.Checkers
@@ -169,7 +169,7 @@
osc -A https://api.suse.de staging -p SUSE:ALP:Products:Marble:6.0 unselect --cleanup
osc -A https://api.suse.de staging -p SUSE:ALP:Products:Marble:6.0 repair --cleanup
rm -rf $tempdir
- S15.SP6.Staging.Bot.Report:
+ S15.SP7.Staging.Bot.Report:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
timer:
@@ -189,7 +189,7 @@
resources:
- staging-bot
tasks:
- - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:SLE-15-SP6:GA
+ - script: ./staging-report.py --debug -A https://api.suse.de -p SUSE:SLE-15-SP7:GA
SL-Micro.Staging.Bot.Report:
group: SLE.Checkers
lock_behavior: unlockWhenFinished
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sle15-stagings.gocd.yaml new/openSUSE-release-tools-20240716.1a95eb1/gocd/sle15-stagings.gocd.yaml
--- old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sle15-stagings.gocd.yaml 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/gocd/sle15-stagings.gocd.yaml 2024-07-16 14:17:01.000000000 +0200
@@ -1,7 +1,7 @@
---
format_version: 3
pipelines:
- SLE15.SP6.Stagings.RelPkgs:
+ SLE15.SP7.Stagings.RelPkgs:
environment_variables:
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -16,87 +16,87 @@
- Generate.Release.Package:
approval: manual
jobs:
- SLE.15.SP6.Staging.A:
+ SLE.15.SP7.Staging.A:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:A
+ --staging SUSE:SLE-15-SP7:GA:Staging:A
--only-release-packages --force
- SLE.15.SP6.Staging.B:
+ SLE.15.SP7.Staging.B:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:B
+ --staging SUSE:SLE-15-SP7:GA:Staging:B
--only-release-packages --force
- SLE.15.SP6.Staging.C:
+ SLE.15.SP7.Staging.C:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:C
+ --staging SUSE:SLE-15-SP7:GA:Staging:C
--only-release-packages --force
- SLE.15.SP6.Staging.D:
+ SLE.15.SP7.Staging.D:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:D
+ --staging SUSE:SLE-15-SP7:GA:Staging:D
--only-release-packages --force
- SLE.15.SP6.Staging.E:
+ SLE.15.SP7.Staging.E:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:E
+ --staging SUSE:SLE-15-SP7:GA:Staging:E
--only-release-packages --force
- SLE.15.SP6.Staging.F:
+ SLE.15.SP7.Staging.F:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:F
+ --staging SUSE:SLE-15-SP7:GA:Staging:F
--only-release-packages --force
- SLE.15.SP6.Staging.G:
+ SLE.15.SP7.Staging.G:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:G
+ --staging SUSE:SLE-15-SP7:GA:Staging:G
--only-release-packages --force
- SLE.15.SP6.Staging.H:
+ SLE.15.SP7.Staging.H:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:H
+ --staging SUSE:SLE-15-SP7:GA:Staging:H
--only-release-packages --force
- SLE.15.SP6.Staging.S:
+ SLE.15.SP7.Staging.S:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:S
+ --staging SUSE:SLE-15-SP7:GA:Staging:S
--only-release-packages --force
- SLE.15.SP6.Staging.V:
+ SLE.15.SP7.Staging.V:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:V
+ --staging SUSE:SLE-15-SP7:GA:Staging:V
--only-release-packages --force
- SLE.15.SP6.Staging.Y:
+ SLE.15.SP7.Staging.Y:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:Y
+ --staging SUSE:SLE-15-SP7:GA:Staging:Y
--only-release-packages --force
- SLE15.SP6.Staging.A:
+ SLE15.SP7.Staging.A:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:A
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:A
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -107,7 +107,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:A_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:A_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -133,7 +133,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -162,9 +162,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.B:
+ SLE15.SP7.Staging.B:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:B
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:B
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -175,7 +175,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:B_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:B_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -201,7 +201,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -230,9 +230,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.C:
+ SLE15.SP7.Staging.C:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:C
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:C
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -243,7 +243,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:C_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:C_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -269,7 +269,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -298,9 +298,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.D:
+ SLE15.SP7.Staging.D:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:D
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:D
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -311,7 +311,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:D_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:D_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -337,7 +337,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -366,9 +366,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.E:
+ SLE15.SP7.Staging.E:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:E
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:E
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -379,7 +379,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:E_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:E_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -405,7 +405,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -434,9 +434,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.F:
+ SLE15.SP7.Staging.F:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:F
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:F
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -447,7 +447,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:F_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:F_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -473,7 +473,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -502,9 +502,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.G:
+ SLE15.SP7.Staging.G:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:G
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:G
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -515,7 +515,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:G_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:G_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -541,7 +541,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -570,9 +570,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.H:
+ SLE15.SP7.Staging.H:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:H
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:H
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -583,7 +583,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:H_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:H_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -609,7 +609,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -638,9 +638,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.S:
+ SLE15.SP7.Staging.S:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:S
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:S
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -651,7 +651,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:S_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:S_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -677,7 +677,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -706,9 +706,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.V:
+ SLE15.SP7.Staging.V:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:V
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:V
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -719,7 +719,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:V_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:V_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -745,7 +745,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
@@ -774,9 +774,9 @@
done
./scripts/gocd/report-status.py -A $STAGING_API -p $STAGING_PROJECT -n images:enabled -r standard -s success
- SLE15.SP6.Staging.Y:
+ SLE15.SP7.Staging.Y:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:Y
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:Y
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -787,7 +787,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:Y_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:Y_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -813,7 +813,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sle15-stagings.gocd.yaml.erb new/openSUSE-release-tools-20240716.1a95eb1/gocd/sle15-stagings.gocd.yaml.erb
--- old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sle15-stagings.gocd.yaml.erb 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/gocd/sle15-stagings.gocd.yaml.erb 2024-07-16 14:17:01.000000000 +0200
@@ -2,7 +2,7 @@
<% stagings = %w(A B C D E F G H S V Y) -%>
format_version: 3
pipelines:
- SLE15.SP6.Stagings.RelPkgs:
+ SLE15.SP7.Stagings.RelPkgs:
environment_variables:
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -18,18 +18,18 @@
approval: manual
jobs:
<% stagings.each do |letter| -%>
- SLE.15.SP6.Staging.<%= letter %>:
+ SLE.15.SP7.Staging.<%= letter %>:
resources:
- repo-checker
tasks:
- script: ./pkglistgen.py -A https://api.suse.de update_and_solve
- --staging SUSE:SLE-15-SP6:GA:Staging:<%= letter %>
+ --staging SUSE:SLE-15-SP7:GA:Staging:<%= letter %>
--only-release-packages --force
<% end -%>
<% stagings.each do |letter| %>
- SLE15.SP6.Staging.<%= letter %>:
+ SLE15.SP7.Staging.<%= letter %>:
environment_variables:
- STAGING_PROJECT: SUSE:SLE-15-SP6:GA:Staging:<%= letter %>
+ STAGING_PROJECT: SUSE:SLE-15-SP7:GA:Staging:<%= letter %>
STAGING_API: https://api.suse.de
OSC_CONFIG: /home/go/config/oscrc-staging-bot
group: SLE15.Stagings
@@ -40,7 +40,7 @@
auto_update: true
destination: repos
whitelist:
- - SUSE:SLE-15-SP6:GA:Staging:<%= letter %>_-_standard.yaml
+ - SUSE:SLE-15-SP7:GA:Staging:<%= letter %>_-_standard.yaml
scripts:
auto_update: true
git: https://github.com/openSUSE/openSUSE-release-tools.git
@@ -66,7 +66,7 @@
- repo-checker
tasks:
- script: |-
- ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP6:GA -s $STAGING_PROJECT
+ ./scripts/staging-installcheck.py -A $STAGING_API -p SUSE:SLE-15-SP7:GA -s $STAGING_PROJECT
- Update.000product:
resources:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sles.target.gocd.yaml new/openSUSE-release-tools-20240716.1a95eb1/gocd/sles.target.gocd.yaml
--- old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sles.target.gocd.yaml 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/gocd/sles.target.gocd.yaml 2024-07-16 14:17:01.000000000 +0200
@@ -38,7 +38,7 @@
tasks:
- script: |-
set -e
- for product in 000productcompose; do
+ for product in kiwi-templates-Minimal 000productcompose; do
osc -A https://api.suse.de release SUSE:SLFO:Products:SLES:16.0 $product
done
sleep 600
@@ -47,6 +47,11 @@
sleep 600
done
osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Products:SLES:16.0:TEST/_result?view=summary&repository=product" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
+ while (osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Products:SLES:16.0:TEST/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do
+ echo PENDING
+ sleep 600
+ done
+ osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Products:SLES:16.0:TEST/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
- Release.Images.To.Publish:
approval: manual
@@ -66,3 +71,8 @@
sleep 600
done
osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Products:SLES:16.0:PUBLISH/_result?view=summary&repository=product" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
+ while (osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Products:SLES:16.0:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do
+ echo PENDING
+ sleep 600
+ done
+ osc -A https://api.suse.de/ api "/build/SUSE:SLFO:Products:SLES:16.0:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sp.target.gocd.yaml new/openSUSE-release-tools-20240716.1a95eb1/gocd/sp.target.gocd.yaml
--- old/openSUSE-release-tools-20240625.9e0d0ae/gocd/sp.target.gocd.yaml 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/gocd/sp.target.gocd.yaml 2024-07-16 14:17:01.000000000 +0200
@@ -1,6 +1,6 @@
format_version: 3
pipelines:
- SLE15.SP6.Images:
+ SLE15.SP7.Images:
group: SLE15.Target
lock_behavior: unlockWhenFinished
materials:
@@ -8,7 +8,7 @@
git: git://botmaster.suse.de/suse-repos.git
auto_update: true
whitelist:
- - SUSE:SLE-15-SP6:GA_-_images.yaml
+ - SUSE:SLE-15-SP7:GA_-_images.yaml
destination: repos
scripts:
auto_update: true
@@ -26,8 +26,8 @@
- script: |
export PYTHONPATH=scripts
set -e
- ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP6:GA -r containerfile
- ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP6:GA -r images
+ ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP7:GA -r containerfile
+ ./scripts/gocd/verify-repo-built-successful.py -A https://api.suse.de -p SUSE:SLE-15-SP7:GA -r images
- Release.Images.To.Test:
approval: manual
@@ -40,29 +40,29 @@
tasks:
- script: |-
set -e
- CONTAINERS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP6:GA | grep "^\(cdi\|virt\)-.*-container")
+ CONTAINERS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP7:GA | grep "^\(cdi\|virt\)-.*-container")
for container in $CONTAINERS; do
- osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP6:GA:TEST --target-repository=containers -r containerfile SUSE:SLE-15-SP6:GA $container
+ osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP7:GA:TEST --target-repository=containers -r containerfile SUSE:SLE-15-SP7:GA $container
done
- osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP6:GA:TEST --target-repository=containers -r images SUSE:SLE-15-SP6:GA sles15-image
- PRODUCTS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP6:GA | grep "^SLES15-SP6" | grep -v release | grep -v : ||:)
+ osc -A https://api.suse.de release --target-project=SUSE:SLE-15-SP7:GA:TEST --target-repository=containers -r images SUSE:SLE-15-SP7:GA sles15-image
+ PRODUCTS=$(osc -A https://api.suse.de ls SUSE:SLE-15-SP7:GA | grep "^SLES15-SP7" | grep -v release | grep -v : ||:)
if [ -z "${PRODUCTS}" ]; then
echo "[WARNNING] There is no cloud image to be released"
fi
for product in kiwi-templates-Minimal kiwi-templates-Minimal-s390x 000product $PRODUCTS; do
- osc -A https://api.suse.de release SUSE:SLE-15-SP6:GA $product
+ osc -A https://api.suse.de release SUSE:SLE-15-SP7:GA $product
done
sleep 600
- while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:TEST/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do
+ while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:TEST/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do
echo PENDING
sleep 600
done
- osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:TEST/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
- while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:TEST/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do
+ osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:TEST/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
+ while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:TEST/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do
echo PENDING
sleep 600
done
- osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:TEST/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
+ osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:TEST/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
- Release.Images.To.Publish:
approval: manual
@@ -75,16 +75,16 @@
tasks:
- script: |-
set -e
- osc -A https://api.suse.de release SUSE:SLE-15-SP6:GA:TEST
+ osc -A https://api.suse.de release SUSE:SLE-15-SP7:GA:TEST
sleep 600
- while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do
+ while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep -v 'code="published" state="published">'); do
echo PENDING
sleep 600
done
- osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
- while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do
+ osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:PUBLISH/_result?view=summary&repository=containers" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
+ while (osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep -v 'code="published" state="published">'); do
echo PENDING
sleep 600
done
- osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP6:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
+ osc -A https://api.suse.de/ api "/build/SUSE:SLE-15-SP7:GA:PUBLISH/_result?view=summary&repository=images" | grep "result project" | grep 'code="published" state="published">' && echo PUBLISHED
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20240625.9e0d0ae/osclib/core.py new/openSUSE-release-tools-20240716.1a95eb1/osclib/core.py
--- old/openSUSE-release-tools-20240625.9e0d0ae/osclib/core.py 2024-06-25 13:07:06.000000000 +0200
+++ new/openSUSE-release-tools-20240716.1a95eb1/osclib/core.py 2024-07-16 14:17:01.000000000 +0200
@@ -243,7 +243,8 @@
@memoize(session=True)
-def package_binary_list(apiurl, project, repository, arch, package=None, strip_multibuild=True, exclude_src_debug=False):
+def package_binary_list(apiurl, project, repository, arch, package=None, strip_multibuild=True, exclude_src_debug=False,
+ exclude_patchinfo=False):
path = ['build', project, repository, arch]
if package:
path.append(package)
@@ -257,6 +258,9 @@
if strip_multibuild:
package = package.split(':', 1)[0]
+ if exclude_patchinfo and package.startswith("patchinfo."):
+ continue
+
for binary in binary_list:
filename = binary.get('name')
result = re.match(RPM_REGEX, filename)
@@ -1002,7 +1006,8 @@
for arch in sorted(target_archs(apiurl, project, repository), reverse=True):
package_binaries, _ = package_binary_list(
apiurl, project, repository, arch,
- strip_multibuild=False, exclude_src_debug=True)
+ strip_multibuild=False, exclude_src_debug=True,
+ exclude_patchinfo=True)
binaries = {}
for pb in package_binaries:
if pb.arch != 'noarch' and pb.arch != arch:
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.T3Kbrf/_old 2024-07-25 15:50:39.174775654 +0200
+++ /var/tmp/diff_new_pack.T3Kbrf/_new 2024-07-25 15:50:39.178775815 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20240625.9e0d0ae
-mtime: 1719313626
-commit: 9e0d0ae27f958648945c951c8d32aa2a567f2ad9
+version: 20240716.1a95eb1
+mtime: 1721132221
+commit: 1a95eb116564b54b90f98b8889e6b779e3e5011c
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openSUSE-Aeon for openSUSE:Factory checked in at 2024-07-25 15:39:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-Aeon (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-Aeon.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-Aeon"
Thu Jul 25 15:39:14 2024 rev:7 rq:1189390 version:0.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-Aeon/openSUSE-Aeon.changes 2024-05-24 19:53:54.455582032 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-Aeon.new.1882/openSUSE-Aeon.changes 2024-07-25 15:50:35.986646821 +0200
@@ -1,0 +2,6 @@
+Wed Jul 24 12:40:41 UTC 2024 - Richard Brown <rbrown(a)suse.com>
+
+- Introduce tik encryption module
+- Transition towards "openSUSE-less" branding
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Aeon.kiwi ++++++
--- /var/tmp/diff_new_pack.mH0KkH/_old 2024-07-25 15:50:36.530668805 +0200
+++ /var/tmp/diff_new_pack.mH0KkH/_new 2024-07-25 15:50:36.534668967 +0200
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
-<image schemaversion="7.6" name="openSUSE-Aeon-Installer" displayname="openSUSE Aeon Installer">
+<image schemaversion="7.6" name="Aeon-Installer" displayname="Aeon Installer">
<description type="system">
<author>Richard Brown</author>
<contact>rbrownsuse(a)opensuse.org</contact>
- <specification>openSUSE Aeon Installer</specification>
+ <specification>Aeon Installer</specification>
</description>
<preferences>
<version>0.1.0</version>
@@ -52,7 +52,8 @@
<package name="patterns-tik-base"/>
<package name="tik-module-welcome"/>
<package name="tik-module-mig"/>
- <package name="tik-osimage-openSUSE-Aeon"/>
+ <package name="tik-module-encrypt"/>
+ <package name="tik-osimage-Aeon"/>
</packages>
<packages type="bootstrap">
<!-- Avoid that zypper picks the busybox-foo variant for those, that would fail later -->
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openQA for openSUSE:Factory checked in at 2024-07-25 15:39:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openQA (Old)
and /work/SRC/openSUSE:Factory/.openQA.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openQA"
Thu Jul 25 15:39:35 2024 rev:599 rq:1189470 version:4.6.1721742803.51f9636c
Changes:
--------
openQA-devel-test.changes: same change
openQA-test.changes: same change
openQA-worker-test.changes: same change
--- /work/SRC/openSUSE:Factory/openQA/openQA.changes 2024-07-22 17:19:10.564090754 +0200
+++ /work/SRC/openSUSE:Factory/.openQA.new.1882/openQA.changes 2024-07-25 15:50:34.198574564 +0200
@@ -1,0 +2,11 @@
+Thu Jul 25 01:14:39 UTC 2024 - okurz(a)suse.com
+
+- Update to version 4.6.1721742803.51f9636c:
+ * Use absolute timestamp delta to check hmac tolerance
+ * Add hmac time tolerance setting
+ * Use common time comparison logic to enable better logging
+ * Downgrade chromedriver to avoid broken version
+ * Avoid warning about clashing imported subroutine
+ * Use signatures in Shared::Controller::Running
+
+-------------------------------------------------------------------
Old:
----
openQA-4.6.1721394676.6f16d338.obscpio
New:
----
openQA-4.6.1721742803.51f9636c.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openQA-client-test.spec ++++++
--- /var/tmp/diff_new_pack.b2pIxx/_old 2024-07-25 15:50:35.530628393 +0200
+++ /var/tmp/diff_new_pack.b2pIxx/_new 2024-07-25 15:50:35.530628393 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-client
Name: %{short_name}-test
-Version: 4.6.1721394676.6f16d338
+Version: 4.6.1721742803.51f9636c
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-devel-test.spec ++++++
--- /var/tmp/diff_new_pack.b2pIxx/_old 2024-07-25 15:50:35.558629525 +0200
+++ /var/tmp/diff_new_pack.b2pIxx/_new 2024-07-25 15:50:35.562629686 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-devel
Name: %{short_name}-test
-Version: 4.6.1721394676.6f16d338
+Version: 4.6.1721742803.51f9636c
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA-test.spec ++++++
--- /var/tmp/diff_new_pack.b2pIxx/_old 2024-07-25 15:50:35.590630818 +0200
+++ /var/tmp/diff_new_pack.b2pIxx/_new 2024-07-25 15:50:35.594630980 +0200
@@ -18,7 +18,7 @@
%define short_name openQA
Name: %{short_name}-test
-Version: 4.6.1721394676.6f16d338
+Version: 4.6.1721742803.51f9636c
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
++++++ openQA-worker-test.spec ++++++
--- /var/tmp/diff_new_pack.b2pIxx/_old 2024-07-25 15:50:35.622632111 +0200
+++ /var/tmp/diff_new_pack.b2pIxx/_new 2024-07-25 15:50:35.622632111 +0200
@@ -18,7 +18,7 @@
%define short_name openQA-worker
Name: %{short_name}-test
-Version: 4.6.1721394676.6f16d338
+Version: 4.6.1721742803.51f9636c
Release: 0
Summary: Test package for %{short_name}
License: GPL-2.0-or-later
++++++ openQA.spec ++++++
--- /var/tmp/diff_new_pack.b2pIxx/_old 2024-07-25 15:50:35.650633243 +0200
+++ /var/tmp/diff_new_pack.b2pIxx/_new 2024-07-25 15:50:35.654633404 +0200
@@ -78,7 +78,7 @@
%define devel_requires %devel_no_selenium_requires chromedriver
Name: openQA
-Version: 4.6.1721394676.6f16d338
+Version: 4.6.1721742803.51f9636c
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0-or-later
++++++ openQA-4.6.1721394676.6f16d338.obscpio -> openQA-4.6.1721742803.51f9636c.obscpio ++++++
/work/SRC/openSUSE:Factory/openQA/openQA-4.6.1721394676.6f16d338.obscpio /work/SRC/openSUSE:Factory/.openQA.new.1882/openQA-4.6.1721742803.51f9636c.obscpio differ: char 50, line 1
++++++ openQA.obsinfo ++++++
--- /var/tmp/diff_new_pack.b2pIxx/_old 2024-07-25 15:50:35.766637930 +0200
+++ /var/tmp/diff_new_pack.b2pIxx/_new 2024-07-25 15:50:35.770638092 +0200
@@ -1,5 +1,5 @@
name: openQA
-version: 4.6.1721394676.6f16d338
-mtime: 1721394676
-commit: 6f16d338b9c35453a16743c19180e8df8c2b869d
+version: 4.6.1721742803.51f9636c
+mtime: 1721742803
+commit: 51f9636c88eb93675380887e1dde14eec5ecbb25
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nushell for openSUSE:Factory checked in at 2024-07-25 15:38:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nushell (Old)
and /work/SRC/openSUSE:Factory/.nushell.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nushell"
Thu Jul 25 15:38:43 2024 rev:3 rq:1189289 version:0.96.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nushell/nushell.changes 2024-06-27 16:01:12.930010331 +0200
+++ /work/SRC/openSUSE:Factory/.nushell.new.1882/nushell.changes 2024-07-25 15:50:07.149481036 +0200
@@ -1,0 +2,40 @@
+Wed Jul 24 03:14:02 UTC 2024 - Dead Mozay <dead_mozay(a)opensuse.org>
+
+- Update to version 0.96.0:
+ * Changes to commands:
+ + Additions:
+ - `str deunicode`
+ - `chunks`
+ - `watch --quiet`
+ - `char nul`
+ - `view ir`
+ + Breaking changes:
+ - `generate`
+ - Default column numbering.
+ - `select`
+ - `std path add`
+ - `default`
+ - `window`
+ - `break` and `continue`
+ + Deprecations:
+ - `group`
+ + Removals:
+ - `register`
+ - `for --numbered`
+ + Other changes:
+ - `http` commands
+ - `metadata set --content-type`
+ - `to json`
+ - `into bits`
+ + Bug fixes:
+ - `find`
+ - `detect columns --guess`
+ - `into datetime`
+ - `from toml`
+ - `help operators`
+ - `into binary`
+ - `take until`
+ * For a full list of changes with detailed descriptions, see:
+ - https://www.nushell.sh/blog/2024-07-23-nushell_0_96_0.html.
+
+-------------------------------------------------------------------
Old:
----
nushell-0.95.0.obscpio
New:
----
nushell-0.96.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nushell.spec ++++++
--- /var/tmp/diff_new_pack.wOZqli/_old 2024-07-25 15:50:08.885551320 +0200
+++ /var/tmp/diff_new_pack.wOZqli/_new 2024-07-25 15:50:08.889551482 +0200
@@ -17,7 +17,7 @@
Name: nushell
-Version: 0.95.0
+Version: 0.96.0
Release: 0
Summary: A new type of shell
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.wOZqli/_old 2024-07-25 15:50:08.925552940 +0200
+++ /var/tmp/diff_new_pack.wOZqli/_new 2024-07-25 15:50:08.925552940 +0200
@@ -6,7 +6,7 @@
<param name="scm">git</param>
<param name="version">git-master</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">0.95.0</param>
+ <param name="revision">0.96.0</param>
<param name="changesgenerate">disable</param>
<param name="changesauthor">dead_mozay(a)opensuse.org</param>
</service>
++++++ nushell-0.95.0.obscpio -> nushell-0.96.0.obscpio ++++++
/work/SRC/openSUSE:Factory/nushell/nushell-0.95.0.obscpio /work/SRC/openSUSE:Factory/.nushell.new.1882/nushell-0.96.0.obscpio differ: char 49, line 1
++++++ nushell.obsinfo ++++++
--- /var/tmp/diff_new_pack.wOZqli/_old 2024-07-25 15:50:08.981555207 +0200
+++ /var/tmp/diff_new_pack.wOZqli/_new 2024-07-25 15:50:08.985555369 +0200
@@ -1,5 +1,5 @@
name: nushell
-version: 0.95.0
-mtime: 1719340187
-commit: f93c6680bd5ae158190556eb1afc924b0290b52f
+version: 0.96.0
+mtime: 1721776235
+commit: a80dfe8e807035ad8d5bb751b385315982e7aad6
++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/nushell/vendor.tar.zst /work/SRC/openSUSE:Factory/.nushell.new.1882/vendor.tar.zst differ: char 514872, line 2129
1
0