openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
October 2024
- 1 participants
- 1410 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package oc for openSUSE:Factory checked in at 2024-10-02 21:33:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/oc (Old)
and /work/SRC/openSUSE:Factory/.oc.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "oc"
Wed Oct 2 21:33:59 2024 rev:3 rq:1205061 version:4.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/oc/oc.changes 2024-07-04 16:25:56.085340133 +0200
+++ /work/SRC/openSUSE:Factory/.oc.new.19354/oc.changes 2024-10-02 21:34:24.864950618 +0200
@@ -1,0 +2,124 @@
+Wed Oct 02 05:56:20 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 4.17.0:
+ * node-joiner: use proxy settings when required
+ * make the idle command's scale update unconditional
+ * Adding examples for add-cluster-role-to-* and
+ remove-cluster-role-from-* so they show in the CLI docs
+ * Make MacAddress mandatory until installer validations are
+ updated
+ * Make MacAddress flag optional, add test for
+ createConfigFileFromFlags
+ * upgrade-status: add test coverage for a compact cluster and a
+ single-node cluster
+ * WRKLDS-1429: Adds a guardrail for node-image commands which is
+ supported only for Openshift version 4.17 and later
+ * upgrade-status: fix HasOSImage function
+ * [OTA-1153]upgrade-status: communicate control plane completion
+ clearly
+ * WRKLDS-1316: Retry and do not fail when logs cannot be updated
+ * added flags to support simper single node interface
+ * WRKLDS-1316: Remove clusterversions from certificates api group
+ * node-joiner: add the required role to support platform type
+ validation
+ * Separate api group for secrets
+ * upgrade-status: fix a typo in README
+ * Update command description
+ * upgrade status: removes custom nodes from the worker pool (2)
+ * Revert "upgrade status: removes custom nodes from the worker
+ pool"
+ * Remove common.go and incorporate review feedback
+ * Create monitor run test and reuse common code
+ * Revert "OCPBUGS-35994: pkg/cli/admin/upgrade/rollback: Drop
+ this command"
+ * upgarde status: use a table to represent node pools (#1821)
+ * Minor wording tweaks for CLI help
+ * Shared code placed in common.go
+ * WRKLDS-1316: oc adm node-image monitor command
+ * renamed to node-image
+ * add-nodes: define empty commands structure
+ * WRKLDS-1314: create image command (#1819)
+ * upgrade status: removes custom nodes from the worker pool
+ * Extend the kube version check for images/tools/Dockerfile
+ * Remove invalid test cases: empty dockerfiles are no longer
+ allowed
+ * Lower case command value before comparision
+ * bump(k8s.io)=1.30.2
+ * pkg/cli/admin/mustgather: GA since and since-time flags
+ * pkg/cli/admin/prune/renderedmachineconfigs: 'Error dry-run
+ deleting'
+ * pkg/cli/admin/upgrade/rollback: Drop this command
+ * Inject ReleaseArch into openshift-install
+ * `upgrade status`: revert to overestimating remaining time
+ * `upgrade status`: lower estimated node actions to avoid
+ inconsistency with estimation
+ * `upgrade status`: overestimate total duration, not remaining
+ time
+ * `upgrade status`: change how last observed progress is computed
+ * `upgrade status`: get baseline from history when possible
+ * `upgrade status`: stalled or progressing-slow when over
+ estimate
+ * `upgrade status`: show <10m when estimate is lower than 10m
+ * `upgrade status`: overestimate remaining time by 20%
+ * `update status`: Avoid projecting from small values
+ * `upgrade status`: do not show estimate TTC when completed
+ * `upgrade status`: estimate better via last observed progress
+ * `update status`: use timewise completion estimate
+ * `update status`: project estimate duration from elapsed
+ * `update status`: add baseline control plane estimate duration
+ * `update status`: truncate subsecond durations
+ * `update status`: inject ns skew to eliminate input data
+ rounding
+ * Ignore pruning when deployment points to replicationcontroller
+ * Update comment about using OpenFileSequential
+ * `upgrade status`: polish alert insights
+ * pkg/cli/admin/mustgather: don't manually delete cluster role
+ binding
+ * pkg/helpers: remove legacy pkg
+ * pkg/cli/expose: override print flags for cmd
+ * pkg/cli/create,pkg/cli/expose: use custom scheme
+ * pkg/helpers/scheme: stop loading legacy schemes on global
+ scheme
+ * pkg/cli/admin/mustgather: gofumpt file
+ * go 1.22 lint fix
+ * Run make update
+ * Update tools images kube version to 1.30.1
+ * Manually bump indirect dependency runc to v1.1.12 to pull some
+ fixes
+ * Bump aws-sdk-go version to v1.53.12
+ * React to type changes in containers/image/v5 v5.30.1 version
+ * Bump containers/image/v5 to v5.30.1
+ * Go 1.22 changes the escape output of some special characters
+ * Bump go based imports
+ * Bump k8s dependencies to 1.30
+ * Remove already deprecated versions
+ * Bump go version to 1.22
+ * inspectalerts: refactor `getWithBearer` to try all urls in
+ route
+ * inspectalerts: use client-go wrappers for thanos call debugging
+ * OCPBUGS-33896: `status/inspect-alerts`: handle non-200 by
+ Thanos
+ * Updating openshift-enterprise-deployer-container image to be
+ consistent with ART for 4.17 Reconciling with
+ https://github.com/openshift/ocp-build-data/tree/4c1326094222f9209876f06833…
+ * `upgrade status`: upgrade -> update
+ * OCPBUGS-33903: Simplify output when not updating
+ * Updating ose-tools-container image to be consistent with ART
+ for 4.17 Reconciling with
+ https://github.com/openshift/ocp-build-data/tree/0a1310d4df1f00e3e218da6e35…
+ * Updating openshift-enterprise-cli-container image to be
+ consistent with ART for 4.17 Reconciling with
+ https://github.com/openshift/ocp-build-data/tree/0a1310d4df1f00e3e218da6e35…
+ * OCPBUGS-33762: Hardcode resource groups/kinds for now
+ * update status: minor code cleanups
+ * OCPBUGS-33898: `adm update status`: Show information about the
+ upgrade target version (#1767)
+ * add mock tests for alerts in oc adm upgrade status
+ * Add s390x based oc into extraction target
+ * pkg/cli/admin/upgrade/rollback: Gate on
+ OC_ENABLE_CMD_UPGRADE_ROLLBACK
+ * debug: set required-scc annotation to privileged for node debug
+ pods
+ * add alerts to update health in oc adm upgrade status
+
+-------------------------------------------------------------------
Old:
----
oc-4.16.0.obscpio
New:
----
oc-4.17.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ oc.spec ++++++
--- /var/tmp/diff_new_pack.CdY1NC/_old 2024-10-02 21:34:27.185047073 +0200
+++ /var/tmp/diff_new_pack.CdY1NC/_new 2024-10-02 21:34:27.185047073 +0200
@@ -25,7 +25,7 @@
%define OC_COMMIT 0c63f9da
Name: oc
-Version: 4.16.0
+Version: 4.17.0
Release: 0
Summary: Openshift / OKD Client CLI
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.CdY1NC/_old 2024-10-02 21:34:27.229048902 +0200
+++ /var/tmp/diff_new_pack.CdY1NC/_new 2024-10-02 21:34:27.233049068 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/openshift/oc</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">openshift-clients-4.16.0-202406131906</param>
+ <param name="revision">openshift-clients-4.17.0-202409111134</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">openshift-clients-(.*)-20..........</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.CdY1NC/_old 2024-10-02 21:34:27.257050067 +0200
+++ /var/tmp/diff_new_pack.CdY1NC/_new 2024-10-02 21:34:27.261050232 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openshift/oc</param>
- <param name="changesrevision">a2450418f7b12a71e8f3562a4e9aa8a976bbf85b</param></service></servicedata>
+ <param name="changesrevision">bc58b3a9c70cee7b03d1943e95b48ced9357711b</param></service></servicedata>
(No newline at EOF)
++++++ oc-4.16.0.obscpio -> oc-4.17.0.obscpio ++++++
/work/SRC/openSUSE:Factory/oc/oc-4.16.0.obscpio /work/SRC/openSUSE:Factory/.oc.new.19354/oc-4.17.0.obscpio differ: char 49, line 1
++++++ oc.obsinfo ++++++
--- /var/tmp/diff_new_pack.CdY1NC/_old 2024-10-02 21:34:27.313052394 +0200
+++ /var/tmp/diff_new_pack.CdY1NC/_new 2024-10-02 21:34:27.317052561 +0200
@@ -1,5 +1,5 @@
name: oc
-version: 4.16.0
-mtime: 1717587587
-commit: a2450418f7b12a71e8f3562a4e9aa8a976bbf85b
+version: 4.17.0
+mtime: 1726046203
+commit: bc58b3a9c70cee7b03d1943e95b48ced9357711b
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/oc/vendor.tar.gz /work/SRC/openSUSE:Factory/.oc.new.19354/vendor.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 ansible-variables for openSUSE:Factory checked in at 2024-10-02 21:33:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible-variables (Old)
and /work/SRC/openSUSE:Factory/.ansible-variables.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansible-variables"
Wed Oct 2 21:33:57 2024 rev:7 rq:1205044 version:0.8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ansible-variables/ansible-variables.changes 2024-09-23 15:22:09.237272683 +0200
+++ /work/SRC/openSUSE:Factory/.ansible-variables.new.19354/ansible-variables.changes 2024-10-02 21:34:20.980789141 +0200
@@ -1,0 +2,6 @@
+Wed Oct 2 05:50:05 UTC 2024 - Johannes Kastl <opensuse_buildservice(a)ojkastl.de>
+
+- update to 0.8.0:
+ * ansible-core 2.18 (#97) (1ab8f5e)
+
+-------------------------------------------------------------------
Old:
----
ansible-variables-0.7.3.tar.gz
New:
----
ansible-variables-0.8.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ansible-variables.spec ++++++
--- /var/tmp/diff_new_pack.qMaUDg/_old 2024-10-02 21:34:22.532853665 +0200
+++ /var/tmp/diff_new_pack.qMaUDg/_new 2024-10-02 21:34:22.552854497 +0200
@@ -38,7 +38,7 @@
%endif
Name: ansible-variables
-Version: 0.7.3
+Version: 0.8.0
Release: 0
Summary: Tool to show origin of Ansible host context variables
License: GPL-3.0-or-later
++++++ ansible-variables-0.7.3.tar.gz -> ansible-variables-0.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/.github/dependabot.yml new/ansible-variables-0.8.0/.github/dependabot.yml
--- old/ansible-variables-0.7.3/.github/dependabot.yml 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/.github/dependabot.yml 2024-09-30 21:49:35.000000000 +0200
@@ -5,13 +5,13 @@
directory: /
schedule:
day: saturday
- interval: weekly
+ interval: monthly
labels:
- "dependencies"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
day: saturday
- interval: weekly
+ interval: monthly
labels:
- "dependencies"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/.github/workflows/publish.yml new/ansible-variables-0.8.0/.github/workflows/publish.yml
--- old/ansible-variables-0.7.3/.github/workflows/publish.yml 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/.github/workflows/publish.yml 2024-09-30 21:49:35.000000000 +0200
@@ -24,7 +24,7 @@
- uses: actions/checkout@v4
- name: Install uv
- uses: astral-sh/setup-uv@v2
+ uses: astral-sh/setup-uv@v3
with:
version: "0.4.10"
@@ -37,7 +37,7 @@
run: uv build
- name: Publish package
- uses: pypa/gh-action-pypi-publish@0ab0b79471669eb3a4d647e625009c62f9f3b241
+ uses: pypa/gh-action-pypi-publish@897895f1e160c830e369f9779632ebc134688e1b
with:
user: __token__
password: ${{ secrets.PYPI_PASSWORD }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/.github/workflows/tox.yml new/ansible-variables-0.8.0/.github/workflows/tox.yml
--- old/ansible-variables-0.7.3/.github/workflows/tox.yml 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/.github/workflows/tox.yml 2024-09-30 21:49:35.000000000 +0200
@@ -46,9 +46,11 @@
py311-2.15
py311-2.16
py311-2.17
+ py311-2.18
py311-devel
py312-2.16
py312-2.17
+ py312-2.18
py312-devel
build:
@@ -64,7 +66,7 @@
fetch-depth: 0
- name: Install uv
- uses: astral-sh/setup-uv@v2
+ uses: astral-sh/setup-uv@v3
with:
version: "0.4.10"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/.pre-commit-config.yaml new/ansible-variables-0.8.0/.pre-commit-config.yaml
--- old/ansible-variables-0.7.3/.pre-commit-config.yaml 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/.pre-commit-config.yaml 2024-09-30 21:49:35.000000000 +0200
@@ -69,7 +69,3 @@
rev: 0.4.10
hooks:
- id: uv-lock
-
- # as soon as https://github.com/astral-sh/uv-pre-commit/pull/18 gets merged, we can use the following hook
- # - id: uv-export
- # args: ["--frozen", "--no-hashes", "-o=requirements-dev.txt"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/CHANGELOG.md new/ansible-variables-0.8.0/CHANGELOG.md
--- old/ansible-variables-0.7.3/CHANGELOG.md 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/CHANGELOG.md 2024-09-30 21:49:35.000000000 +0200
@@ -1,5 +1,12 @@
# Changelog
+## [0.8.0](https://github.com/hille721/ansible-variables/compare/v0.7.3...v0.8.… (2024-09-30)
+
+
+### Features
+
+* ansible-core 2.18 ([#97](https://github.com/hille721/ansible-variables/issues/97)) ([1ab8f5e](https://github.com/hille721/ansible-variables/commit/1ab8f5e89bf70…)
+
## [0.7.3](https://github.com/hille721/ansible-variables/compare/v0.7.2...v0.7.… (2024-09-17)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/README.md new/ansible-variables-0.8.0/README.md
--- old/ansible-variables-0.7.3/README.md 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/README.md 2024-09-30 21:49:35.000000000 +0200
@@ -20,7 +20,7 @@
Based on one host it will return a list with all variables, values and variable type.
-Tested with `ansible-core` 2.11 - 2.17.
+Tested with `ansible-core` 2.11 - 2.18.
## Installation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/pyproject.toml new/ansible-variables-0.8.0/pyproject.toml
--- old/ansible-variables-0.7.3/pyproject.toml 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/pyproject.toml 2024-09-30 21:49:35.000000000 +0200
@@ -4,7 +4,7 @@
[project]
name = "ansible-variables"
-version = "0.7.3"
+version = "0.8.0"
dependencies = [
"ansible-core >=2.11.0; python_version <= '3.9'",
"ansible-core >=2.12.0,<8; python_version == '3.10'",
@@ -88,7 +88,6 @@
[tool.uv]
dev-dependencies = [
"mdformat>=0.7.17",
- "pre-commit>=3.5.0",
"pylint>=3.2.7",
"pytest >=8.1.1,<9",
"ruff>=0.6.5",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/requirements-dev.txt new/ansible-variables-0.8.0/requirements-dev.txt
--- old/ansible-variables-0.7.3/requirements-dev.txt 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/requirements-dev.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,48 +0,0 @@
-# This file was autogenerated via `uv export`.
--e .
-ansible-core==2.13.13 ; python_full_version < '3.11'
-ansible-core==2.17.4 ; python_full_version >= '3.11'
-astroid==3.2.4
-cachetools==5.5.0
-cffi==1.17.1 ; platform_python_implementation != 'PyPy'
-cfgv==3.4.0
-chardet==5.2.0
-colorama==0.4.6
-cryptography==43.0.1
-dill==0.3.8
-distlib==0.3.8
-exceptiongroup==1.2.2 ; python_full_version < '3.11'
-filelock==3.16.0
-identify==2.6.1
-importlib-metadata==8.5.0 ; python_full_version < '3.10'
-importlib-resources==6.4.5 ; python_full_version < '3.9'
-iniconfig==2.0.0
-isort==5.13.2
-jinja2==3.1.4
-markdown-it-py==3.0.0
-markupsafe==2.1.5
-mccabe==0.7.0
-mdformat==0.7.17
-mdurl==0.1.2
-nodeenv==1.9.1
-packaging==24.1
-platformdirs==4.3.3
-pluggy==1.5.0
-pre-commit==3.5.0
-pycparser==2.22 ; platform_python_implementation != 'PyPy'
-pygments==2.18.0
-pylint==3.2.7
-pyproject-api==1.7.1
-pytest==8.3.3
-pyyaml==6.0.2
-resolvelib==0.8.1
-rich==13.8.1
-ruff==0.6.5
-tomli==2.0.1 ; python_full_version < '3.11'
-tomlkit==0.13.2
-tox==4.18.1
-tox-uv==1.11.3
-typing-extensions==4.12.2 ; python_full_version < '3.11'
-uv==0.4.10
-virtualenv==20.26.4
-zipp==3.20.2 ; python_full_version < '3.10'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/tox.ini new/ansible-variables-0.8.0/tox.ini
--- old/ansible-variables-0.7.3/tox.ini 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/tox.ini 2024-09-30 21:49:35.000000000 +0200
@@ -4,8 +4,8 @@
py38-{2.11,2.12,2.13}
py39-{2.11,2.12,2.13,2.14,2.15}
py310-{2.12,2.13,2.14,2.15,2.16,2.17}
- py311-{2.14,2.15,2.16,2.17,devel}
- py312-{2.16,2.17,devel}
+ py311-{2.14,2.15,2.16,2.17,2.18,devel}
+ py312-{2.16,2.17,2.18,devel}
minversion = 4.4.11
[testenv]
@@ -21,6 +21,7 @@
2.15: https://github.com/ansible/ansible/archive/stable-2.15.tar.gz
2.16: https://github.com/ansible/ansible/archive/stable-2.16.tar.gz
2.17: https://github.com/ansible/ansible/archive/stable-2.17.tar.gz
+ 2.18: https://github.com/ansible/ansible/archive/stable-2.18.tar.gz
devel: https://github.com/ansible/ansible/archive/devel.tar.gz
commands =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ansible-variables-0.7.3/uv.lock new/ansible-variables-0.8.0/uv.lock
--- old/ansible-variables-0.7.3/uv.lock 2024-09-17 12:12:50.000000000 +0200
+++ new/ansible-variables-0.8.0/uv.lock 2024-09-30 21:49:35.000000000 +0200
@@ -49,7 +49,7 @@
[[package]]
name = "ansible-variables"
-version = "0.7.2"
+version = "0.7.3"
source = { editable = "." }
dependencies = [
{ name = "ansible-core", version = "2.13.13", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
@@ -60,7 +60,6 @@
[package.dev-dependencies]
dev = [
{ name = "mdformat" },
- { name = "pre-commit" },
{ name = "pylint" },
{ name = "pytest" },
{ name = "ruff" },
@@ -80,7 +79,6 @@
[package.metadata.requires-dev]
dev = [
{ name = "mdformat", specifier = ">=0.7.17" },
- { name = "pre-commit", specifier = ">=3.5.0" },
{ name = "pylint", specifier = ">=3.2.7" },
{ name = "pytest", specifier = ">=8.1.1,<9" },
{ name = "ruff", specifier = ">=0.6.5" },
@@ -187,15 +185,6 @@
]
[[package]]
-name = "cfgv"
-version = "3.4.0"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cb…", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114 }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2…", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249 },
-]
-
-[[package]]
name = "chardet"
version = "5.2.0"
source = { registry = "https://pypi.org/simple" }
@@ -252,11 +241,11 @@
[[package]]
name = "dill"
-version = "0.3.8"
+version = "0.3.9"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/17/4d/ac7ffa80c69ea1df30a8aa11b3578…", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca", size = 184847 }
+sdist = { url = "https://files.pythonhosted.org/packages/70/43/86fe3f9e130c4137b0f1b50784dd7…", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c", size = 187000 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa8528…", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", size = 116252 },
+ { url = "https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95db…", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a", size = 119418 },
]
[[package]]
@@ -279,20 +268,11 @@
[[package]]
name = "filelock"
-version = "3.16.0"
+version = "3.16.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/e6/76/3981447fd369539aba35797db99a8…", hash = "sha256:81de9eb8453c769b63369f87f11131a7ab04e367f8d97ad39dc230daa07e3bec", size = 18008 }
+sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d…", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/2f/95/f9310f35376024e1086c59cbb438d…", hash = "sha256:f6ed4c963184f4c84dd5557ce8fece759a3724b37b80c6c4f20a2f63a4dc6609", size = 16170 },
-]
-
-[[package]]
-name = "identify"
-version = "2.6.1"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/29/bb/25024dbcc93516c492b75919e76f3…", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98", size = 99097 }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/7d/0c/4ef72754c050979fdcc06c744715a…", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0", size = 98972 },
+ { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d99…", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163 },
]
[[package]]
@@ -452,15 +432,6 @@
]
[[package]]
-name = "nodeenv"
-version = "1.9.1"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae…", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc02…", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 },
-]
-
-[[package]]
name = "packaging"
version = "24.1"
source = { registry = "https://pypi.org/simple" }
@@ -471,11 +442,11 @@
[[package]]
name = "platformdirs"
-version = "4.3.3"
+version = "4.3.6"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/f5/19/f7bee3a71decedd8d7bc4d3edb797…", hash = "sha256:d4e0b7d8ec176b341fb03cb11ca12d0276faa8c485f9cd218f613840463fc2c0", size = 21304 }
+sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e…", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/69/e6/7c8e8c326903bd97c6c0c47e0a3c5…", hash = "sha256:50a5450e2e84f44539718293cbb1da0a0885c9d14adf21b77bae4e66fc99d9b5", size = 18437 },
+ { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6…", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 },
]
[[package]]
@@ -488,22 +459,6 @@
]
[[package]]
-name = "pre-commit"
-version = "3.5.0"
-source = { registry = "https://pypi.org/simple" }
-dependencies = [
- { name = "cfgv" },
- { name = "identify" },
- { name = "nodeenv" },
- { name = "pyyaml" },
- { name = "virtualenv" },
-]
-sdist = { url = "https://files.pythonhosted.org/packages/04/b3/4ae08d21eb097162f5aad37f4585f…", hash = "sha256:5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32", size = 177079 }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/6c/75/526915fedf462e05eeb1c75ceaf7e…", hash = "sha256:841dc9aef25daba9a0238cd27984041fa0467b4199fc4852e27950664919f660", size = 203698 },
-]
-
-[[package]]
name = "pycparser"
version = "2.22"
source = { registry = "https://pypi.org/simple" }
@@ -543,15 +498,15 @@
[[package]]
name = "pyproject-api"
-version = "1.7.1"
+version = "1.8.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "packaging" },
{ name = "tomli", marker = "python_full_version < '3.11'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/41/43/5581b42a96c5ee7bf2b22d3b08b34…", hash = "sha256:7ebc6cd10710f89f4cf2a2731710a98abce37ebff19427116ff2174c9236a827", size = 22271 }
+sdist = { url = "https://files.pythonhosted.org/packages/bb/19/441e0624a8afedd15bbcce96df1b8…", hash = "sha256:77b8049f2feb5d33eefcc21b57f1e279636277a8ac8ad6b5871037b243778496", size = 22340 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/de/88/c1451b66664ae596bae93928ff372…", hash = "sha256:2dc1654062c2b27733d8fd4cdda672b22fe8741ef1dde8e3a998a9547b071eeb", size = 13172 },
+ { url = "https://files.pythonhosted.org/packages/ba/f4/3c4ddfcc0c19c217c6de513842d28…", hash = "sha256:3d7d347a047afe796fd5d1885b1e391ba29be7169bd2f102fcd378f04273d228", size = 13100 },
]
[[package]]
@@ -656,27 +611,27 @@
[[package]]
name = "ruff"
-version = "0.6.5"
+version = "0.6.8"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/96/3f/29b2d3d90f811f6fb5b90242309f4…", hash = "sha256:4d32d87fab433c0cf285c3683dd4dae63be05fd7a1d65b3f5bf7cdd05a6b96fb", size = 2476127 }
+sdist = { url = "https://files.pythonhosted.org/packages/74/f9/4ce3e765a72ab8fe0f80f48508ea3…", hash = "sha256:a5bf44b1aa0adaf6d9d20f86162b34f7c593bfedabc51239953e446aefc8ce18", size = 3084543 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/64/05/cc62df44b5a0271b29f11d687aa89…", hash = "sha256:7e4e308f16e07c95fc7753fc1aaac690a323b2bb9f4ec5e844a97bb7fbebd748", size = 9770988 },
- { url = "https://files.pythonhosted.org/packages/09/3d/89dac56ab7053d5b7cba723c9cae1…", hash = "sha256:932cd69eefe4daf8c7d92bd6689f7e8182571cb934ea720af218929da7bd7d69", size = 9423303 },
- { url = "https://files.pythonhosted.org/packages/70/76/dc04654d26beace866a3c9e0c8711…", hash = "sha256:3a8d42d11fff8d3143ff4da41742a98f8f233bf8890e9fe23077826818f8d680", size = 9134078 },
- { url = "https://files.pythonhosted.org/packages/da/52/6a492cffcd2c6e243043937ab5281…", hash = "sha256:a50af6e828ee692fb10ff2dfe53f05caecf077f4210fae9677e06a808275754f", size = 10105094 },
- { url = "https://files.pythonhosted.org/packages/59/7c/fd76a583ae59a276537d71921d616…", hash = "sha256:794ada3400a0d0b89e3015f1a7e01f4c97320ac665b7bc3ade24b50b54cb2972", size = 9542751 },
- { url = "https://files.pythonhosted.org/packages/56/5b/4e8928fa11412b16ecf7d7755fe45…", hash = "sha256:381413ec47f71ce1d1c614f7779d88886f406f1fd53d289c77e4e533dc6ea200", size = 10358844 },
- { url = "https://files.pythonhosted.org/packages/bd/a8/315ea8f71b111c8fb2b681c88a3e7…", hash = "sha256:52e75a82bbc9b42e63c08d22ad0ac525117e72aee9729a069d7c4f235fc4d276", size = 11075199 },
- { url = "https://files.pythonhosted.org/packages/d9/1c/3a3728d42db52bfe418d8c913b453…", hash = "sha256:09c72a833fd3551135ceddcba5ebdb68ff89225d30758027280968c9acdc7810", size = 10661186 },
- { url = "https://files.pythonhosted.org/packages/d4/0c/ae25e213461aab274822081923d74…", hash = "sha256:800c50371bdcb99b3c1551d5691e14d16d6f07063a518770254227f7f6e8c178", size = 11747444 },
- { url = "https://files.pythonhosted.org/packages/c4/e3/9d0ff218c7663ab9d53abe02911be…", hash = "sha256:8e25ddd9cd63ba1f3bd51c1f09903904a6adf8429df34f17d728a8fa11174253", size = 10266302 },
- { url = "https://files.pythonhosted.org/packages/ac/03/f158cc24120bf277b0cd7906ba509…", hash = "sha256:7291e64d7129f24d1b0c947ec3ec4c0076e958d1475c61202497c6aced35dd19", size = 10104976 },
- { url = "https://files.pythonhosted.org/packages/91/d0/0bacdffc234e588ec05834186ad11…", hash = "sha256:9ad7dfbd138d09d9a7e6931e6a7e797651ce29becd688be8a0d4d5f8177b4b0c", size = 9625374 },
- { url = "https://files.pythonhosted.org/packages/1a/ad/721003cde8abd9f50bff74acbcb21…", hash = "sha256:005256d977021790cc52aa23d78f06bb5090dc0bfbd42de46d49c201533982ae", size = 9959661 },
- { url = "https://files.pythonhosted.org/packages/37/84/8d70a3eacaacb65b4bb1461fc1a59…", hash = "sha256:482c1e6bfeb615eafc5899127b805d28e387bd87db38b2c0c41d271f5e58d8cc", size = 10327408 },
- { url = "https://files.pythonhosted.org/packages/54/7e/6b0a9ab30428a9e3d9607f6dd2e4f…", hash = "sha256:cf4d3fa53644137f6a4a27a2b397381d16454a1566ae5335855c187fbf67e4f5", size = 8012512 },
- { url = "https://files.pythonhosted.org/packages/d8/88/176f50162a219e3039f21e9e43238…", hash = "sha256:3e42a57b58e3612051a636bc1ac4e6b838679530235520e8f095f7c44f706ff9", size = 8804438 },
- { url = "https://files.pythonhosted.org/packages/67/a0/1b488bbe35a7ff8296fdea1ec1a9c…", hash = "sha256:51935067740773afdf97493ba9b8231279e9beef0f2a8079188c4776c25688e0", size = 8179780 },
+ { url = "https://files.pythonhosted.org/packages/db/07/42ee57e8b76ca585297a663a552b4…", hash = "sha256:77944bca110ff0a43b768f05a529fecd0706aac7bcce36d7f1eeb4cbfca5f0f2", size = 10404327 },
+ { url = "https://files.pythonhosted.org/packages/eb/51/d42571ff8156d65086acb72d39aa6…", hash = "sha256:27b87e1801e786cd6ede4ada3faa5e254ce774de835e6723fd94551464c56b8c", size = 10018797 },
+ { url = "https://files.pythonhosted.org/packages/c1/d7/fa5514a60b03976af972b67fe345d…", hash = "sha256:cd48f945da2a6334f1793d7f701725a76ba93bf3d73c36f6b21fb04d5338dcf5", size = 9691303 },
+ { url = "https://files.pythonhosted.org/packages/d6/c4/d812a74976927e51d0782a4753906…", hash = "sha256:677e03c00f37c66cea033274295a983c7c546edea5043d0c798833adf4cf4c6f", size = 10719452 },
+ { url = "https://files.pythonhosted.org/packages/ec/b6/aa700c4ae6db9b3ee660e23f3c7db…", hash = "sha256:9f1476236b3eacfacfc0f66aa9e6cd39f2a624cb73ea99189556015f27c0bdeb", size = 10161353 },
+ { url = "https://files.pythonhosted.org/packages/ea/39/0b10075ffcd52ff3a581b9b69eac5…", hash = "sha256:6f5a2f17c7d32991169195d52a04c95b256378bbf0de8cb98478351eb70d526f", size = 10980630 },
+ { url = "https://files.pythonhosted.org/packages/c1/af/9eb9efc98334f62652e2f9318f137…", hash = "sha256:5fd0d4b7b1457c49e435ee1e437900ced9b35cb8dc5178921dfb7d98d65a08d0", size = 11768996 },
+ { url = "https://files.pythonhosted.org/packages/e0/59/8b1369cf7878358952b1c0a1559b4…", hash = "sha256:f8034b19b993e9601f2ddf2c517451e17a6ab5cdb1c13fdff50c1442a7171d87", size = 11317469 },
+ { url = "https://files.pythonhosted.org/packages/b9/6d/e252e9b11bbca4114c386ee41ad55…", hash = "sha256:6cfb227b932ba8ef6e56c9f875d987973cd5e35bc5d05f5abf045af78ad8e098", size = 12467185 },
+ { url = "https://files.pythonhosted.org/packages/48/44/7caa223af7d4ea0f0b2bd34acca65…", hash = "sha256:6ef0411eccfc3909269fed47c61ffebdcb84a04504bafa6b6df9b85c27e813b0", size = 10887766 },
+ { url = "https://files.pythonhosted.org/packages/81/ed/394aff3a785f171869158b9d5be61…", hash = "sha256:007dee844738c3d2e6c24ab5bc7d43c99ba3e1943bd2d95d598582e9c1b27750", size = 10711609 },
+ { url = "https://files.pythonhosted.org/packages/47/31/f31d04c842e54699eab7e3b864538…", hash = "sha256:ce60058d3cdd8490e5e5471ef086b3f1e90ab872b548814e35930e21d848c9ce", size = 10237621 },
+ { url = "https://files.pythonhosted.org/packages/20/95/a764e84acf11d425f2f23b8b78b4f…", hash = "sha256:1085c455d1b3fdb8021ad534379c60353b81ba079712bce7a900e834859182fa", size = 10558329 },
+ { url = "https://files.pythonhosted.org/packages/2a/76/d4e38846ac9f6dd62dce858a54583…", hash = "sha256:70edf6a93b19481affd287d696d9e311388d808671bc209fb8907b46a8c3af44", size = 10954102 },
+ { url = "https://files.pythonhosted.org/packages/e7/36/f18c678da6c69f8d022480f3e8ddc…", hash = "sha256:792213f7be25316f9b46b854df80a77e0da87ec66691e8f012f887b4a671ab5a", size = 8511090 },
+ { url = "https://files.pythonhosted.org/packages/4c/c4/0ca7d8ffa358b109db7d7d045a1a0…", hash = "sha256:ec0517dc0f37cad14a5319ba7bba6e7e339d03fbf967a6d69b0907d61be7a263", size = 9350079 },
+ { url = "https://files.pythonhosted.org/packages/d9/bd/a8b0c64945a92eaeeb8d0283f27a7…", hash = "sha256:8d3bb2e3fbb9875172119021a13eed38849e762499e3cfde9588e4b4d70968dc", size = 8669595 },
]
[[package]]
@@ -699,7 +654,7 @@
[[package]]
name = "tox"
-version = "4.18.1"
+version = "4.20.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "cachetools" },
@@ -713,14 +668,14 @@
{ name = "tomli", marker = "python_full_version < '3.11'" },
{ name = "virtualenv" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/e1/cc/272e73f90be0f6df89efaf82e5d80…", hash = "sha256:3c0c96bc3a568a5c7e66387a4cfcf8c875b52e09f4d47c9f7a277ec82f1a0b11", size = 181159 }
+sdist = { url = "https://files.pythonhosted.org/packages/04/4a/55f9dba99aad874ae54a7fb2310c9…", hash = "sha256:5b78a49b6eaaeab3ae4186415e7c97d524f762ae967c63562687c3e5f0ec23d5", size = 181364 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/fb/59/a2ae6f32771cd3de2000618d77b8f…", hash = "sha256:35d472032ee1f73fe20c3e0e73d7073a4e85075c86ff02c576f9fc7c6a15a578", size = 156796 },
+ { url = "https://files.pythonhosted.org/packages/cf/ee/6f9bf37f197578f98fb450f1aeebf…", hash = "sha256:21a8005e3d3fe5658a8e36b8ca3ed13a4230429063c5cc2a2fdac6ee5aa0de34", size = 157087 },
]
[[package]]
name = "tox-uv"
-version = "1.11.3"
+version = "1.13.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "importlib-resources", marker = "python_full_version < '3.9'" },
@@ -729,9 +684,9 @@
{ name = "typing-extensions", marker = "python_full_version < '3.10'" },
{ name = "uv" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b8/b2/d441179ca3f5f3180844a647ebf9d…", hash = "sha256:316f559ae5525edec12791d9e1f393e405ded5b7e7d50fbaee4726676951f49a", size = 13666 }
+sdist = { url = "https://files.pythonhosted.org/packages/31/23/752b7bc25013d2958df6adac2bce9…", hash = "sha256:fb087b8b4ff779c72b48fc72ea1995387bb1c0dfb37910c20e46cef8b5f98c15", size = 15643 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/85/88/a6d7ccddb0da225ac636ba24822ea…", hash = "sha256:d434787406ff2854600c1ceaa555519080026208cf7f65bb5d4b2d7c9c4776de", size = 11276 },
+ { url = "https://files.pythonhosted.org/packages/40/93/1b0b0c27177f4816594683cd4e008…", hash = "sha256:1037e4abad15a3b708b5970ed7a17a0765d7249b641a92b155bc3343b8b0145b", size = 13383 },
]
[[package]]
@@ -745,41 +700,41 @@
[[package]]
name = "uv"
-version = "0.4.10"
+version = "0.4.17"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/3b/bf/5b426cfd6c3d0b327d06afc16599e…", hash = "sha256:2ff29a2f55a697e78d787a41ab41d4b26421d200728289b88b6241d3b486c436", size = 1891876 }
+sdist = { url = "https://files.pythonhosted.org/packages/13/2d/0571a664ca452f9c9ee0301909462…", hash = "sha256:01564bd760eff885ad61f44173647a569732934d1a4a558839c8088fbf75e53f", size = 2004305 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/eb/dc/789692a8fda886c6b3fffc354d2af…", hash = "sha256:99954a94dd6c4bff8a9a963c05bc3988214ea39e7511a52fda35112e1a478447", size = 11479241 },
- { url = "https://files.pythonhosted.org/packages/60/5a/6bff6e5ec5831c9470adfa5d4e3de…", hash = "sha256:bc87d6c581cfed0979e0f5ee93383d46006c6d4a5e4eb9f43ef13bce61b50cc2", size = 11709579 },
- { url = "https://files.pythonhosted.org/packages/83/07/95096f172a43151c7a27e9d1a7d94…", hash = "sha256:0f8b9ba4ecfbea343a00e46d509669606e55fe233d800752c4c25650473df358", size = 10862040 },
- { url = "https://files.pythonhosted.org/packages/55/2a/d1b9b1506158ba4dd711cd48d1d6c…", hash = "sha256:a9dc1f8fca5c4a2f73054d9f56c7397e9fc6ba43baefc503d6f0128d72ea662f", size = 11199902 },
- { url = "https://files.pythonhosted.org/packages/49/a0/1210957c6aeeb13b0d4bbc8515969…", hash = "sha256:30d1f8348a2b18e21a35c97ce42528781f242d0303881fc92fbacdcb653c8bca", size = 11269050 },
- { url = "https://files.pythonhosted.org/packages/94/ec/b0a3cb548fd5200ddfc84a46deb28…", hash = "sha256:b89dfd213359a23797155ff8175e5202ed6b84aadeb20df92132127608d46acf", size = 11877390 },
- { url = "https://files.pythonhosted.org/packages/b0/ff/2a72772622f0f24321b137444cb08…", hash = "sha256:e99e3f761875962942e0743b868bd666021d5e14c3df494e820ef8f45fb88578", size = 12664737 },
- { url = "https://files.pythonhosted.org/packages/90/f7/4e771e65250cef43864eb5869fa28…", hash = "sha256:3be73788db9ceacb94a521cf67ca5cc08bac512aef71145b904ab62a3acabdae", size = 12410948 },
- { url = "https://files.pythonhosted.org/packages/42/c2/143e811303447a4452c9897a2013e…", hash = "sha256:6ba1cc3070e5c63ce0a1421fbed28bd1b3ff520671d7badda11a501504c78394", size = 15892011 },
- { url = "https://files.pythonhosted.org/packages/ff/ac/957c277762c47f375c2a1731e5910…", hash = "sha256:1b6b6c6b8cc0c4e54ab25e3b46e49d1e583e26c194572eb42bfeebf71b39cca2", size = 12186373 },
- { url = "https://files.pythonhosted.org/packages/ba/f7/002b5a17e9ab27f2c5f57ef044dbf…", hash = "sha256:bc99e6b45303f0881a8dc199f0b7ea8261dd1779e576e8477a7721ceeeaafcc7", size = 11341756 },
- { url = "https://files.pythonhosted.org/packages/de/d7/8d00dc10f7fe4912b496c054d9102…", hash = "sha256:1ff5130b6f3af79c4e47f63db03215aed15e78cb4f1f51682af6f9949c2bcf00", size = 11129951 },
- { url = "https://files.pythonhosted.org/packages/0b/da/564711d76819bae3cea042ff75c63…", hash = "sha256:8fa510dfbbde4f8ad5cd2769568c7b0c3e867b74deaf4beabcca79e74e7550cc", size = 11686193 },
- { url = "https://files.pythonhosted.org/packages/2d/2c/b3998dd4e4413d44c09dc7acba44b…", hash = "sha256:444e1cdb36d7ef103e52185f918800527c255dc369c9f90eb1f198dfa3f4d5bc", size = 13453677 },
- { url = "https://files.pythonhosted.org/packages/04/8a/3313ce320024da059d7624b7ab392…", hash = "sha256:97a1187e11a9df70d55bc577721ad4a19441cda56e4d69fb2f38d88c7650d2a0", size = 12300196 },
- { url = "https://files.pythonhosted.org/packages/a4/24/8b45f4129fdc3b8072db213418692…", hash = "sha256:0784f75093a75390d8d480cc8a444516e78f08849db9a13c21791a5f651df4a1", size = 11594212 },
- { url = "https://files.pythonhosted.org/packages/1b/93/44be9610ff870127f0500d5b36e98…", hash = "sha256:ff9046a8c5e836e892ac7741e672ee016e92e55c659fa8195595df65a1f3accf", size = 12842773 },
+ { url = "https://files.pythonhosted.org/packages/7d/82/8de3109d9815dacc32aba998e6ed8…", hash = "sha256:0da45ca164ef9701dcc5cac3256f1f3a4e6fabe026860101c3b14208bfbde831", size = 11913399 },
+ { url = "https://files.pythonhosted.org/packages/4e/65/4114106f24c2c64fcc63db5e4ec93…", hash = "sha256:df5dabafa07d9beae719bf4df649cb6d825620f0bb3abf985df99fd0394dbbb6", size = 12133160 },
+ { url = "https://files.pythonhosted.org/packages/61/9b/3a126a8431320c86a41854ba7c52f…", hash = "sha256:e88911392d0eef4019a1db64951eefd1081a6dda72e33ee4b5b77b32f1112a33", size = 11212930 },
+ { url = "https://files.pythonhosted.org/packages/6e/dc/b97c735da94563d9d432f820fa5c9…", hash = "sha256:8844740de53f3997175961c90ff4441e0ea7cb1d11e27b662258f8728f7623b2", size = 11481660 },
+ { url = "https://files.pythonhosted.org/packages/d8/3d/54b0180916f23a812e3329c2b2de7…", hash = "sha256:b3cad9f33c38a891c3adc3cedfa8171e5d1d696d03c850ecd454e16551b1308b", size = 11704743 },
+ { url = "https://files.pythonhosted.org/packages/06/9b/9b5c96d4ba535ac2cae0c0202a237…", hash = "sha256:f727a356e772c3cdc7752d8d9971e614670658f5219eda2449290c5c4a5c91cf", size = 12376328 },
+ { url = "https://files.pythonhosted.org/packages/51/54/f1aaa74e93a933f9e52159bf32ae0…", hash = "sha256:15cfd020ad4a72f17e669d070a1a8ab50f93ce899486a80029cabf87fac3a8ae", size = 12933204 },
+ { url = "https://files.pythonhosted.org/packages/b5/e1/498ef5d9e9626f4b29f10a1baa830…", hash = "sha256:897c5d7d50341023f28b96afd0bf2553d67f3f46c12986d5ee02e517cf7d5c5a", size = 12676231 },
+ { url = "https://files.pythonhosted.org/packages/0a/2f/38c153bec459c2413549b3a22735e…", hash = "sha256:87e4c3b6415e0ce6880023960d7bb7fc08acafc97a4e03c7ce8b6a49ad0c698e", size = 16391712 },
+ { url = "https://files.pythonhosted.org/packages/21/30/c126268c4586166c2695cb343ee85…", hash = "sha256:39c862a5fae944ea89dca5bf77bf636ac26398f96179bca19e4db26121707cd0", size = 12454567 },
+ { url = "https://files.pythonhosted.org/packages/3b/92/01c734e5a742ac9464d42f1977f82…", hash = "sha256:dfe717c980d3206d4810b5121566a1e07114b9dd470b6f9f6ebed3706c21517d", size = 11608090 },
+ { url = "https://files.pythonhosted.org/packages/81/1b/dceab3572d66ad94a04a1dc0e0c46…", hash = "sha256:44360f88b8e67e36fed00976b94d3f1144faa1c5291e8f6f5306c3ded650e9bf", size = 11701498 },
+ { url = "https://files.pythonhosted.org/packages/3c/8a/da60f4aa41aad8ddc2b7ea3416896…", hash = "sha256:489f68441092827fcd590a99f91269d5fb3b5f9cca1da469f7fc3d5ef3bf3e37", size = 12134824 },
+ { url = "https://files.pythonhosted.org/packages/aa/99/e8312976cbd444d6ea8d8d8a71ac1…", hash = "sha256:1a4098128ee54f8b4ca1b083d05f818548cf7182b5b6cbb74fd71235bd105b1d", size = 13789473 },
+ { url = "https://files.pythonhosted.org/packages/2d/f4/511141abcc794a5fecaeb7c62138a…", hash = "sha256:8acb510475dd8dbce71533384b95a8b2ad204f10081c92d9d012d193bd4df884", size = 12620663 },
+ { url = "https://files.pythonhosted.org/packages/18/f5/cb3eed07b1db5fcfbe638132fbde5…", hash = "sha256:7b27e69454d8f65d800bc61a3d05288cacf8e56b9b716b629b2b6977e85ceabe", size = 11956476 },
+ { url = "https://files.pythonhosted.org/packages/a5/25/3f80d90fb147923bbae53973a63e6…", hash = "sha256:6141f08aad242372dff4b529b9d26c814e151e95d1a8c85d645a7eb11b0cb34a", size = 13440345 },
]
[[package]]
name = "virtualenv"
-version = "20.26.4"
+version = "20.26.6"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "distlib" },
{ name = "filelock" },
{ name = "platformdirs" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/84/8a/134f65c3d6066153b84fc176c5887…", hash = "sha256:c17f4e0f3e6036e9f26700446f85c76ab11df65ff6d8a9cbfad9f71aabfcf23c", size = 9385017 }
+sdist = { url = "https://files.pythonhosted.org/packages/3f/40/abc5a766da6b0b2457f819feab8e9…", hash = "sha256:280aede09a2a5c317e409a00102e7077c6432c5a38f0ef938e643805a7ad2c48", size = 9372482 }
wheels = [
- { url = "https://files.pythonhosted.org/packages/5d/ea/12f774a18b55754c730c8383dad8f…", hash = "sha256:48f2695d9809277003f30776d155615ffc11328e6a0a8c1f0ec80188d7874a55", size = 6013327 },
+ { url = "https://files.pythonhosted.org/packages/59/90/57b8ac0c8a231545adc7698c64c5a…", hash = "sha256:7345cc5b25405607a624d8418154577459c3e0277f5466dd79c49d5e492995f2", size = 5999862 },
]
[[package]]
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nova for openSUSE:Factory checked in at 2024-10-02 21:33:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nova (Old)
and /work/SRC/openSUSE:Factory/.nova.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nova"
Wed Oct 2 21:33:55 2024 rev:26 rq:1205043 version:3.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/nova/nova.changes 2024-09-29 18:10:56.430380858 +0200
+++ /work/SRC/openSUSE:Factory/.nova.new.19354/nova.changes 2024-10-02 21:34:16.884618849 +0200
@@ -1,0 +2,6 @@
+Wed Oct 02 05:50:20 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 3.11:
+ * feat: kubeconfig path flag (#329)
+
+-------------------------------------------------------------------
Old:
----
nova-3.10.2.obscpio
New:
----
nova-3.11.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nova.spec ++++++
--- /var/tmp/diff_new_pack.Qjv48H/_old 2024-10-02 21:34:19.652733929 +0200
+++ /var/tmp/diff_new_pack.Qjv48H/_new 2024-10-02 21:34:19.664734428 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: nova
-Version: 3.10.2
+Version: 3.11
Release: 0
Summary: Find outdated or deprecated Helm charts running in your cluster
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Qjv48H/_old 2024-10-02 21:34:19.936745736 +0200
+++ /var/tmp/diff_new_pack.Qjv48H/_new 2024-10-02 21:34:19.964746900 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/FairwindsOps/nova</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v3.10.2</param>
+ <param name="revision">v3.11</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Qjv48H/_old 2024-10-02 21:34:20.136754051 +0200
+++ /var/tmp/diff_new_pack.Qjv48H/_new 2024-10-02 21:34:20.172755549 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/FairwindsOps/nova</param>
- <param name="changesrevision">ac6e83385b7409203a19e8e3747f27fd83108b16</param></service></servicedata>
+ <param name="changesrevision">f4ac782e950599540c7af161ef98b1687050ba2e</param></service></servicedata>
(No newline at EOF)
++++++ nova-3.10.2.obscpio -> nova-3.11.obscpio ++++++
/work/SRC/openSUSE:Factory/nova/nova-3.10.2.obscpio /work/SRC/openSUSE:Factory/.nova.new.19354/nova-3.11.obscpio differ: char 50, line 1
++++++ nova.obsinfo ++++++
--- /var/tmp/diff_new_pack.Qjv48H/_old 2024-10-02 21:34:20.476768187 +0200
+++ /var/tmp/diff_new_pack.Qjv48H/_new 2024-10-02 21:34:20.508769517 +0200
@@ -1,5 +1,5 @@
name: nova
-version: 3.10.2
-mtime: 1727265399
-commit: ac6e83385b7409203a19e8e3747f27fd83108b16
+version: 3.11
+mtime: 1727795938
+commit: f4ac782e950599540c7af161ef98b1687050ba2e
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/nova/vendor.tar.gz /work/SRC/openSUSE:Factory/.nova.new.19354/vendor.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 glasskube-cli for openSUSE:Factory checked in at 2024-10-02 21:33:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glasskube-cli (Old)
and /work/SRC/openSUSE:Factory/.glasskube-cli.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glasskube-cli"
Wed Oct 2 21:33:53 2024 rev:2 rq:1205038 version:0.23.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/glasskube-cli/glasskube-cli.changes 2024-09-30 15:38:07.263322346 +0200
+++ /work/SRC/openSUSE:Factory/.glasskube-cli.new.19354/glasskube-cli.changes 2024-10-02 21:34:14.224508260 +0200
@@ -1,0 +2,88 @@
+Wed Oct 02 05:37:49 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 0.23.0:
+ * chore(main): release 0.23.0 (#1285)
+ * fix(package-operator): add auth support for relative manifest
+ urls in package.yaml (#1295)
+ * fix(deps): update module
+ github.com/fluxcd/source-controller/api to v1.4.1 (#1281)
+ * feat: make auto update changeable on UI and show hint (#1291)
+ * fix(deps): update module github.com/fluxcd/helm-controller/api
+ to v1.1.0 (#1287)
+ * chore(deps): update dependency typescript-eslint to v8.8.0
+ (#1293)
+ * docs(website): fix typo in website (#1290)
+ * feat: show conflicts at package update (#1282)
+ * chore(docs): fix architecture diagram in readme (#1289)
+ * chore(deps): update dependency eslint-plugin-react to v7.37.0
+ (#1288)
+ * fix: avoid dependency errors during uninstallation (#1284)
+ * feat: show package components (#1283)
+
+-------------------------------------------------------------------
+Wed Oct 02 05:34:10 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 0.22.0:
+ * chore(main): release 0.22.0 (#1230)
+ * feat(ui): improve package detail page (#1253)
+ * chore(website): fix broken links (#1280)
+ * docs: use a mermaid diagram for the dependency management
+ algorithm (#1270)
+ * docs(website): fix link to package configuration design
+ documentation in guides (#1279)
+ * fix: consider metadata when calculating max version (#1276)
+ * fix(ui): add text-break inside toast-body (#1278)
+ * fix(deps): update dependency
+ @getcanary/docusaurus-theme-search-pagefind to ^0.0.15 (#1271)
+ * fix(deps): update module github.com/schollz/progressbar/v3 to
+ v3.16.0 (#1272)
+ * chore(deps): update dependency typescript-eslint to v8.7.0
+ (#1275)
+ * chore(deps): update dependency @eslint/js to v9.11.1 (#1274)
+ * docs(website): fix cert-manager typo (#1273)
+ * chore: add docusaurus config to release please for automatic
+ banner updates (#1268)
+ * chore(deps): update actions/setup-node digest to 0a44ba7
+ (#1255)
+ * fix: dependency manager uses given repository if known (#1259)
+ * chore(deps): update dependency esbuild to v0.24.0 (#1269)
+ * docs(website): improve wording (#1267)
+ * docs(website): rename cta (#1266)
+ * docs(website): improve website wording (#1265)
+ * chore(deps): update dependency @eslint/js to v9.11.0 (#1263)
+ * fix(deps): update dependency @glasskube/theme to v0.1.2 (#1254)
+ * chore(deps): update actions/setup-node action to v4.0.4 (#1256)
+ * fix(ui): reopen strategy for portforwardings (#1248)
+ * fix(ui): use hardcoded giscus backlink (#1252)
+ * fix(ui): error installing clusterpackage (#1247)
+ * fix: increase resilience in case of broken repositories (#1237)
+ * fix(deps): update module github.com/posthog/posthog-go to
+ v1.2.24 (#1244)
+ * feat(ui): create namespace at installation (#1246)
+ * chore(deps): update dependency typescript-eslint to v8.6.0
+ (#1245)
+ * chore(deps): update dependency eslint to v8.57.1 (#1243)
+ * feat(cli): create namespace if necessary when installing a
+ package (#1131)
+ * fix(deps): update module github.com/posthog/posthog-go to
+ v1.2.22 (#1241)
+ * fix(deps): update dependency @getcanary/web to ^0.0.106 (#1239)
+ * fix(deps): update module github.com/schollz/progressbar/v3 to
+ v3.15.0 (#1240)
+ * fix(deps): update dependency
+ @getcanary/docusaurus-theme-search-pagefind to ^0.0.14 (#1238)
+ * docs: fix spelling errors on website and README (#1236)
+ * fix(deps): update fontsource monorepo to v5.1.0 (#1231)
+ * feat(cli): unify value config flags and add support for
+ `--value` with `--use-default` (#1232)
+ * docs(website): added link to package scope section of the
+ launch blog (#1234)
+ * chore(deps): update dependency eslint-plugin-react to v7.36.1
+ (#1233)
+ * docs(website): added package scopes page to docs (#1226)
+ * chore(deps): update dependency eslint-plugin-react to v7.36.0
+ (#1229)
+ * fix(deps): update kubernetes packages to v0.31.1 (#1228)
+ * fix(deps): update dependency @getcanary/web to ^0.0.105 (#1227)
+
+-------------------------------------------------------------------
Old:
----
glasskube-cli-0.21.0.obscpio
New:
----
glasskube-cli-0.23.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glasskube-cli.spec ++++++
--- /var/tmp/diff_new_pack.hes49o/_old 2024-10-02 21:34:15.280552163 +0200
+++ /var/tmp/diff_new_pack.hes49o/_new 2024-10-02 21:34:15.280552163 +0200
@@ -21,7 +21,7 @@
%define executable_name glasskube
Name: glasskube-cli
-Version: 0.21.0
+Version: 0.23.0
Release: 0
Summary: The next generation Package Manager for Kubernetes
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.hes49o/_old 2024-10-02 21:34:15.308553327 +0200
+++ /var/tmp/diff_new_pack.hes49o/_new 2024-10-02 21:34:15.312553494 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/glasskube/glasskube</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.21.0</param>
+ <param name="revision">v0.23.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.hes49o/_old 2024-10-02 21:34:15.332554324 +0200
+++ /var/tmp/diff_new_pack.hes49o/_new 2024-10-02 21:34:15.336554491 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/glasskube/glasskube</param>
- <param name="changesrevision">8db61a6caa4770ee8065b3f2b9e46044b5d95a6a</param></service></servicedata>
+ <param name="changesrevision">25df8469aedafdd58f66e649f4e8700acb2b0f55</param></service></servicedata>
(No newline at EOF)
++++++ glasskube-cli-0.21.0.obscpio -> glasskube-cli-0.23.0.obscpio ++++++
++++ 8434 lines of diff (skipped)
++++++ glasskube-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.hes49o/_old 2024-10-02 21:34:15.656567795 +0200
+++ /var/tmp/diff_new_pack.hes49o/_new 2024-10-02 21:34:15.660567961 +0200
@@ -1,5 +1,5 @@
name: glasskube-cli
-version: 0.21.0
-mtime: 1726067792
-commit: 8db61a6caa4770ee8065b3f2b9e46044b5d95a6a
+version: 0.23.0
+mtime: 1727797107
+commit: 25df8469aedafdd58f66e649f4e8700acb2b0f55
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/glasskube-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.glasskube-cli.new.19354/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-google-api-core for openSUSE:Factory checked in at 2024-10-02 21:33:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-google-api-core (Old)
and /work/SRC/openSUSE:Factory/.python-google-api-core.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-google-api-core"
Wed Oct 2 21:33:40 2024 rev:35 rq:1205028 version:2.20.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-google-api-core/python-google-api-core.changes 2024-09-04 13:23:38.823313686 +0200
+++ /work/SRC/openSUSE:Factory/.python-google-api-core.new.19354/python-google-api-core.changes 2024-10-02 21:34:03.156048106 +0200
@@ -1,0 +2,15 @@
+Wed Oct 2 04:03:30 UTC 2024 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Remove unneeded BuildRequires.
+- Refreshed patches:
+ * python-google-api-core-no-mock.patch
+
+-------------------------------------------------------------------
+Thu Sep 26 13:32:08 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 2.20.0
+ * Add async unsupported paramater exception (#694)
+ * Add support for asynchronous rest streaming (#686)
+ * Add support for creating exceptions from an asynchronous response (#688)
+
+-------------------------------------------------------------------
Old:
----
google_api_core-2.19.2.tar.gz
New:
----
google_api_core-2.20.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-google-api-core.spec ++++++
--- /var/tmp/diff_new_pack.Ybg4ZR/_old 2024-10-02 21:34:03.796074714 +0200
+++ /var/tmp/diff_new_pack.Ybg4ZR/_new 2024-10-02 21:34:03.796074714 +0200
@@ -26,23 +26,17 @@
%endif
%{?sle15_python_module_pythons}
Name: python-google-api-core
-Version: 2.19.2
+Version: 2.20.0
Release: 0
Summary: Google API client core library
License: Apache-2.0
URL: https://github.com/googleapis/python-api-core
Source: https://files.pythonhosted.org/packages/source/g/google_api_core/google_api…
-# https://github.com/googleapis/python-api-core/issues/377
+# PATCH-FIX-UPSTREAM Based on gh#googleapis/python-api-core#713
Patch0: python-google-api-core-no-mock.patch
-BuildRequires: %{python_module google-auth >= 2.14.1}
+# Needed for python_sitelib/google
BuildRequires: %{python_module googleapis-common-protos >= 1.53.0}
-BuildRequires: %{python_module grpcio >= 1.33.2}
-BuildRequires: %{python_module grpcio-status >= 1.33.2}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module proto-plus >= 1.22.3 with %python-proto-plus < 2.0.0dev0}
-BuildRequires: %{python_module protobuf >= 3.19.5 with %python-protobuf < 5.0.0.dev0}
-BuildRequires: %{python_module pytz}
-BuildRequires: %{python_module requests >= 2.18.0}
BuildRequires: %{python_module setuptools >= 40.3.0}
BuildRequires: %{python_module wheel}
%if 0%{?sle_version} >= 150400
@@ -50,7 +44,7 @@
%endif
# START TESTING SECTION
%if %{with test}
-BuildRequires: %{python_module google-api-core >= %{version}}
+BuildRequires: %{python_module google-api-core = %{version}}
BuildRequires: %{python_module proto-plus}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest}
@@ -60,11 +54,9 @@
BuildRequires: python-rpm-macros
Requires: python-google-auth >= 2.14.1
Requires: python-googleapis-common-protos >= 1.53.0
-Requires: python-grpcio >= 1.33.2
-Requires: python-grpcio-status >= 1.33.2
-Requires: python-pytz
+Requires: python-grpcio >= 1.49.1
+Requires: python-grpcio-status >= 1.49.1
Requires: python-requests >= 2.18.0
-Requires: python-setuptools >= 40.3.0
Requires: (python-proto-plus >= 1.22.3 with python-proto-plus < 2.0.0dev0)
Requires: (python-protobuf >= 3.19.5 with python-protobuf < 5.0.0.dev0)
BuildArch: noarch
@@ -90,13 +82,11 @@
%pytest
%endif
-%clean
-
%if !%{with test}
%files %{python_files}
%license LICENSE
%doc README.rst
%{python_sitelib}/google/api_core
-%{python_sitelib}/google_api_core-%{version}*-info
+%{python_sitelib}/google_api_core-%{version}.dist-info
%endif
++++++ google_api_core-2.19.2.tar.gz -> google_api_core-2.20.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/PKG-INFO new/google_api_core-2.20.0/PKG-INFO
--- old/google_api_core-2.19.2/PKG-INFO 2024-08-27 22:59:16.198442000 +0200
+++ new/google_api_core-2.20.0/PKG-INFO 2024-09-19 20:22:39.577738800 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: google-api-core
-Version: 2.19.2
+Version: 2.20.0
Summary: Google API client core library
Home-page: https://github.com/googleapis/python-api-core
Author: Google LLC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google/api_core/_rest_streaming_base.py new/google_api_core-2.20.0/google/api_core/_rest_streaming_base.py
--- old/google_api_core-2.19.2/google/api_core/_rest_streaming_base.py 1970-01-01 01:00:00.000000000 +0100
+++ new/google_api_core-2.20.0/google/api_core/_rest_streaming_base.py 2024-09-19 20:20:48.000000000 +0200
@@ -0,0 +1,118 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Helpers for server-side streaming in REST."""
+
+from collections import deque
+import string
+from typing import Deque, Union
+import types
+
+import proto
+import google.protobuf.message
+from google.protobuf.json_format import Parse
+
+
+class BaseResponseIterator:
+ """Base Iterator over REST API responses. This class should not be used directly.
+
+ Args:
+ response_message_cls (Union[proto.Message, google.protobuf.message.Message]): A response
+ class expected to be returned from an API.
+
+ Raises:
+ ValueError: If `response_message_cls` is not a subclass of `proto.Message` or `google.protobuf.message.Message`.
+ """
+
+ def __init__(
+ self,
+ response_message_cls: Union[proto.Message, google.protobuf.message.Message],
+ ):
+ self._response_message_cls = response_message_cls
+ # Contains a list of JSON responses ready to be sent to user.
+ self._ready_objs: Deque[str] = deque()
+ # Current JSON response being built.
+ self._obj = ""
+ # Keeps track of the nesting level within a JSON object.
+ self._level = 0
+ # Keeps track whether HTTP response is currently sending values
+ # inside of a string value.
+ self._in_string = False
+ # Whether an escape symbol "\" was encountered.
+ self._escape_next = False
+
+ self._grab = types.MethodType(self._create_grab(), self)
+
+ def _process_chunk(self, chunk: str):
+ if self._level == 0:
+ if chunk[0] != "[":
+ raise ValueError(
+ "Can only parse array of JSON objects, instead got %s" % chunk
+ )
+ for char in chunk:
+ if char == "{":
+ if self._level == 1:
+ # Level 1 corresponds to the outermost JSON object
+ # (i.e. the one we care about).
+ self._obj = ""
+ if not self._in_string:
+ self._level += 1
+ self._obj += char
+ elif char == "}":
+ self._obj += char
+ if not self._in_string:
+ self._level -= 1
+ if not self._in_string and self._level == 1:
+ self._ready_objs.append(self._obj)
+ elif char == '"':
+ # Helps to deal with an escaped quotes inside of a string.
+ if not self._escape_next:
+ self._in_string = not self._in_string
+ self._obj += char
+ elif char in string.whitespace:
+ if self._in_string:
+ self._obj += char
+ elif char == "[":
+ if self._level == 0:
+ self._level += 1
+ else:
+ self._obj += char
+ elif char == "]":
+ if self._level == 1:
+ self._level -= 1
+ else:
+ self._obj += char
+ else:
+ self._obj += char
+ self._escape_next = not self._escape_next if char == "\\" else False
+
+ def _create_grab(self):
+ if issubclass(self._response_message_cls, proto.Message):
+
+ def grab(this):
+ return this._response_message_cls.from_json(
+ this._ready_objs.popleft(), ignore_unknown_fields=True
+ )
+
+ return grab
+ elif issubclass(self._response_message_cls, google.protobuf.message.Message):
+
+ def grab(this):
+ return Parse(this._ready_objs.popleft(), this._response_message_cls())
+
+ return grab
+ else:
+ raise ValueError(
+ "Response message class must be a subclass of proto.Message or google.protobuf.message.Message."
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google/api_core/exceptions.py new/google_api_core-2.20.0/google/api_core/exceptions.py
--- old/google_api_core-2.19.2/google/api_core/exceptions.py 2024-08-27 22:57:23.000000000 +0200
+++ new/google_api_core-2.20.0/google/api_core/exceptions.py 2024-09-19 20:20:48.000000000 +0200
@@ -22,7 +22,7 @@
from __future__ import unicode_literals
import http.client
-from typing import Dict
+from typing import Optional, Dict
from typing import Union
import warnings
@@ -442,6 +442,12 @@
grpc_status_code = grpc.StatusCode.DEADLINE_EXCEEDED if grpc is not None else None
+class AsyncRestUnsupportedParameterError(NotImplementedError):
+ """Raised when an unsupported parameter is configured against async rest transport."""
+
+ pass
+
+
def exception_class_for_http_status(status_code):
"""Return the exception class for a specific HTTP status code.
@@ -476,22 +482,37 @@
return error
-def from_http_response(response):
- """Create a :class:`GoogleAPICallError` from a :class:`requests.Response`.
+def _format_rest_error_message(error, method, url):
+ method = method.upper() if method else None
+ message = "{method} {url}: {error}".format(
+ method=method,
+ url=url,
+ error=error,
+ )
+ return message
+
+
+# NOTE: We're moving away from `from_http_status` because it expects an aiohttp response compared
+# to `format_http_response_error` which expects a more abstract response from google.auth and is
+# compatible with both sync and async response types.
+# TODO(https://github.com/googleapis/python-api-core/issues/691): Add type hint for response.
+def format_http_response_error(
+ response, method: str, url: str, payload: Optional[Dict] = None
+):
+ """Create a :class:`GoogleAPICallError` from a google auth rest response.
Args:
- response (requests.Response): The HTTP response.
+ response Union[google.auth.transport.Response, google.auth.aio.transport.Response]: The HTTP response.
+ method Optional(str): The HTTP request method.
+ url Optional(str): The HTTP request url.
+ payload Optional(dict): The HTTP response payload. If not passed in, it is read from response for a response type of google.auth.transport.Response.
Returns:
GoogleAPICallError: An instance of the appropriate subclass of
:class:`GoogleAPICallError`, with the message and errors populated
from the response.
"""
- try:
- payload = response.json()
- except ValueError:
- payload = {"error": {"message": response.text or "unknown error"}}
-
+ payload = {} if not payload else payload
error_message = payload.get("error", {}).get("message", "unknown error")
errors = payload.get("error", {}).get("errors", ())
# In JSON, details are already formatted in developer-friendly way.
@@ -504,12 +525,7 @@
)
)
error_info = error_info[0] if error_info else None
-
- message = "{method} {url}: {error}".format(
- method=response.request.method,
- url=response.request.url,
- error=error_message,
- )
+ message = _format_rest_error_message(error_message, method, url)
exception = from_http_status(
response.status_code,
@@ -522,6 +538,26 @@
return exception
+def from_http_response(response):
+ """Create a :class:`GoogleAPICallError` from a :class:`requests.Response`.
+
+ Args:
+ response (requests.Response): The HTTP response.
+
+ Returns:
+ GoogleAPICallError: An instance of the appropriate subclass of
+ :class:`GoogleAPICallError`, with the message and errors populated
+ from the response.
+ """
+ try:
+ payload = response.json()
+ except ValueError:
+ payload = {"error": {"message": response.text or "unknown error"}}
+ return format_http_response_error(
+ response, response.request.method, response.request.url, payload
+ )
+
+
def exception_class_for_grpc_status(status_code):
"""Return the exception class for a specific :class:`grpc.StatusCode`.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google/api_core/gapic_v1/method_async.py new/google_api_core-2.20.0/google/api_core/gapic_v1/method_async.py
--- old/google_api_core-2.19.2/google/api_core/gapic_v1/method_async.py 2024-08-27 22:57:23.000000000 +0200
+++ new/google_api_core-2.20.0/google/api_core/gapic_v1/method_async.py 2024-09-19 20:20:48.000000000 +0200
@@ -25,6 +25,8 @@
from google.api_core.gapic_v1.method import DEFAULT # noqa: F401
from google.api_core.gapic_v1.method import USE_DEFAULT_METADATA # noqa: F401
+_DEFAULT_ASYNC_TRANSPORT_KIND = "grpc_asyncio"
+
def wrap_method(
func,
@@ -32,6 +34,7 @@
default_timeout=None,
default_compression=None,
client_info=client_info.DEFAULT_CLIENT_INFO,
+ kind=_DEFAULT_ASYNC_TRANSPORT_KIND,
):
"""Wrap an async RPC method with common behavior.
@@ -40,7 +43,8 @@
and ``compression`` arguments and applies the common error mapping,
retry, timeout, metadata, and compression behavior to the low-level RPC method.
"""
- func = grpc_helpers_async.wrap_errors(func)
+ if kind == _DEFAULT_ASYNC_TRANSPORT_KIND:
+ func = grpc_helpers_async.wrap_errors(func)
metadata = [client_info.to_grpc_metadata()] if client_info is not None else None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google/api_core/rest_streaming.py new/google_api_core-2.20.0/google/api_core/rest_streaming.py
--- old/google_api_core-2.19.2/google/api_core/rest_streaming.py 2024-08-27 22:57:23.000000000 +0200
+++ new/google_api_core-2.20.0/google/api_core/rest_streaming.py 2024-09-19 20:20:48.000000000 +0200
@@ -14,17 +14,15 @@
"""Helpers for server-side streaming in REST."""
-from collections import deque
-import string
-from typing import Deque, Union
+from typing import Union
import proto
import requests
import google.protobuf.message
-from google.protobuf.json_format import Parse
+from google.api_core._rest_streaming_base import BaseResponseIterator
-class ResponseIterator:
+class ResponseIterator(BaseResponseIterator):
"""Iterator over REST API responses.
Args:
@@ -33,7 +31,8 @@
class expected to be returned from an API.
Raises:
- ValueError: If `response_message_cls` is not a subclass of `proto.Message` or `google.protobuf.message.Message`.
+ ValueError:
+ - If `response_message_cls` is not a subclass of `proto.Message` or `google.protobuf.message.Message`.
"""
def __init__(
@@ -42,68 +41,16 @@
response_message_cls: Union[proto.Message, google.protobuf.message.Message],
):
self._response = response
- self._response_message_cls = response_message_cls
# Inner iterator over HTTP response's content.
self._response_itr = self._response.iter_content(decode_unicode=True)
- # Contains a list of JSON responses ready to be sent to user.
- self._ready_objs: Deque[str] = deque()
- # Current JSON response being built.
- self._obj = ""
- # Keeps track of the nesting level within a JSON object.
- self._level = 0
- # Keeps track whether HTTP response is currently sending values
- # inside of a string value.
- self._in_string = False
- # Whether an escape symbol "\" was encountered.
- self._escape_next = False
+ super(ResponseIterator, self).__init__(
+ response_message_cls=response_message_cls
+ )
def cancel(self):
"""Cancel existing streaming operation."""
self._response.close()
- def _process_chunk(self, chunk: str):
- if self._level == 0:
- if chunk[0] != "[":
- raise ValueError(
- "Can only parse array of JSON objects, instead got %s" % chunk
- )
- for char in chunk:
- if char == "{":
- if self._level == 1:
- # Level 1 corresponds to the outermost JSON object
- # (i.e. the one we care about).
- self._obj = ""
- if not self._in_string:
- self._level += 1
- self._obj += char
- elif char == "}":
- self._obj += char
- if not self._in_string:
- self._level -= 1
- if not self._in_string and self._level == 1:
- self._ready_objs.append(self._obj)
- elif char == '"':
- # Helps to deal with an escaped quotes inside of a string.
- if not self._escape_next:
- self._in_string = not self._in_string
- self._obj += char
- elif char in string.whitespace:
- if self._in_string:
- self._obj += char
- elif char == "[":
- if self._level == 0:
- self._level += 1
- else:
- self._obj += char
- elif char == "]":
- if self._level == 1:
- self._level -= 1
- else:
- self._obj += char
- else:
- self._obj += char
- self._escape_next = not self._escape_next if char == "\\" else False
-
def __next__(self):
while not self._ready_objs:
try:
@@ -115,18 +62,5 @@
raise e
return self._grab()
- def _grab(self):
- # Add extra quotes to make json.loads happy.
- if issubclass(self._response_message_cls, proto.Message):
- return self._response_message_cls.from_json(
- self._ready_objs.popleft(), ignore_unknown_fields=True
- )
- elif issubclass(self._response_message_cls, google.protobuf.message.Message):
- return Parse(self._ready_objs.popleft(), self._response_message_cls())
- else:
- raise ValueError(
- "Response message class must be a subclass of proto.Message or google.protobuf.message.Message."
- )
-
def __iter__(self):
return self
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google/api_core/rest_streaming_async.py new/google_api_core-2.20.0/google/api_core/rest_streaming_async.py
--- old/google_api_core-2.19.2/google/api_core/rest_streaming_async.py 1970-01-01 01:00:00.000000000 +0100
+++ new/google_api_core-2.20.0/google/api_core/rest_streaming_async.py 2024-09-19 20:20:48.000000000 +0200
@@ -0,0 +1,83 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Helpers for asynchronous server-side streaming in REST."""
+
+from typing import Union
+
+import proto
+
+try:
+ import google.auth.aio.transport
+except ImportError as e: # pragma: NO COVER
+ raise ImportError(
+ "google-auth>=2.35.0 is required to use asynchronous rest streaming."
+ ) from e
+
+import google.protobuf.message
+from google.api_core._rest_streaming_base import BaseResponseIterator
+
+
+class AsyncResponseIterator(BaseResponseIterator):
+ """Asynchronous Iterator over REST API responses.
+
+ Args:
+ response (google.auth.aio.transport.Response): An API response object.
+ response_message_cls (Union[proto.Message, google.protobuf.message.Message]): A response
+ class expected to be returned from an API.
+
+ Raises:
+ ValueError:
+ - If `response_message_cls` is not a subclass of `proto.Message` or `google.protobuf.message.Message`.
+ """
+
+ def __init__(
+ self,
+ response: google.auth.aio.transport.Response,
+ response_message_cls: Union[proto.Message, google.protobuf.message.Message],
+ ):
+ self._response = response
+ self._chunk_size = 1024
+ self._response_itr = self._response.content().__aiter__()
+ super(AsyncResponseIterator, self).__init__(
+ response_message_cls=response_message_cls
+ )
+
+ async def __aenter__(self):
+ return self
+
+ async def cancel(self):
+ """Cancel existing streaming operation."""
+ await self._response.close()
+
+ async def __anext__(self):
+ while not self._ready_objs:
+ try:
+ chunk = await self._response_itr.__anext__()
+ chunk = chunk.decode("utf-8")
+ self._process_chunk(chunk)
+ except StopAsyncIteration as e:
+ if self._level > 0:
+ raise ValueError("i Unfinished stream: %s" % self._obj)
+ raise e
+ except ValueError as e:
+ raise e
+ return self._grab()
+
+ def __aiter__(self):
+ return self
+
+ async def __aexit__(self, exc_type, exc, tb):
+ """Cancel existing async streaming operation."""
+ await self._response.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google/api_core/version.py new/google_api_core-2.20.0/google/api_core/version.py
--- old/google_api_core-2.19.2/google/api_core/version.py 2024-08-27 22:57:23.000000000 +0200
+++ new/google_api_core-2.20.0/google/api_core/version.py 2024-09-19 20:20:48.000000000 +0200
@@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-__version__ = "2.19.2"
+__version__ = "2.20.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google_api_core.egg-info/PKG-INFO new/google_api_core-2.20.0/google_api_core.egg-info/PKG-INFO
--- old/google_api_core-2.19.2/google_api_core.egg-info/PKG-INFO 2024-08-27 22:59:16.000000000 +0200
+++ new/google_api_core-2.20.0/google_api_core.egg-info/PKG-INFO 2024-09-19 20:22:39.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: google-api-core
-Version: 2.19.2
+Version: 2.20.0
Summary: Google API client core library
Home-page: https://github.com/googleapis/python-api-core
Author: Google LLC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/google_api_core.egg-info/SOURCES.txt new/google_api_core-2.20.0/google_api_core.egg-info/SOURCES.txt
--- old/google_api_core-2.19.2/google_api_core.egg-info/SOURCES.txt 2024-08-27 22:59:16.000000000 +0200
+++ new/google_api_core-2.20.0/google_api_core.egg-info/SOURCES.txt 2024-09-19 20:22:39.000000000 +0200
@@ -4,6 +4,7 @@
setup.cfg
setup.py
google/api_core/__init__.py
+google/api_core/_rest_streaming_base.py
google/api_core/bidi.py
google/api_core/client_info.py
google/api_core/client_options.py
@@ -23,6 +24,7 @@
google/api_core/py.typed
google/api_core/rest_helpers.py
google/api_core/rest_streaming.py
+google/api_core/rest_streaming_async.py
google/api_core/retry_async.py
google/api_core/timeout.py
google/api_core/universe.py
@@ -62,10 +64,12 @@
google_api_core.egg-info/requires.txt
google_api_core.egg-info/top_level.txt
tests/__init__.py
+tests/helpers.py
tests/asyncio/__init__.py
tests/asyncio/test_grpc_helpers_async.py
tests/asyncio/test_operation_async.py
tests/asyncio/test_page_iterator_async.py
+tests/asyncio/test_rest_streaming_async.py
tests/asyncio/future/__init__.py
tests/asyncio/future/test_async_future.py
tests/asyncio/gapic/test_config_async.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/tests/asyncio/gapic/test_method_async.py new/google_api_core-2.20.0/tests/asyncio/gapic/test_method_async.py
--- old/google_api_core-2.19.2/tests/asyncio/gapic/test_method_async.py 2024-08-27 22:57:23.000000000 +0200
+++ new/google_api_core-2.20.0/tests/asyncio/gapic/test_method_async.py 2024-09-19 20:20:48.000000000 +0200
@@ -252,3 +252,14 @@
assert result == 42
method.assert_called_once_with(timeout=22, metadata=mock.ANY)
+
+
+(a)pytest.mark.asyncio
+async def test_wrap_method_without_wrap_errors():
+ fake_call = mock.AsyncMock()
+
+ wrapped_method = gapic_v1.method_async.wrap_method(fake_call, kind="rest")
+ with mock.patch("google.api_core.grpc_helpers_async.wrap_errors") as method:
+ await wrapped_method()
+
+ method.assert_not_called()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/tests/asyncio/test_rest_streaming_async.py new/google_api_core-2.20.0/tests/asyncio/test_rest_streaming_async.py
--- old/google_api_core-2.19.2/tests/asyncio/test_rest_streaming_async.py 1970-01-01 01:00:00.000000000 +0100
+++ new/google_api_core-2.20.0/tests/asyncio/test_rest_streaming_async.py 2024-09-19 20:20:48.000000000 +0200
@@ -0,0 +1,378 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# TODO: set random.seed explicitly in each test function.
+# See related issue: https://github.com/googleapis/python-api-core/issues/689.
+
+import pytest # noqa: I202
+import mock
+
+import datetime
+import logging
+import random
+import time
+from typing import List, AsyncIterator
+
+import proto
+
+try:
+ from google.auth.aio.transport import Response
+
+ AUTH_AIO_INSTALLED = True
+except ImportError:
+ AUTH_AIO_INSTALLED = False
+
+if not AUTH_AIO_INSTALLED: # pragma: NO COVER
+ pytest.skip(
+ "google-auth>=2.35.0 is required to use asynchronous rest streaming.",
+ allow_module_level=True,
+ )
+
+from google.api_core import rest_streaming_async
+from google.api import http_pb2
+from google.api import httpbody_pb2
+
+
+from ..helpers import Composer, Song, EchoResponse, parse_responses
+
+
+__protobuf__ = proto.module(package=__name__)
+SEED = int(time.time())
+logging.info(f"Starting async rest streaming tests with random seed: {SEED}")
+random.seed(SEED)
+
+
+async def mock_async_gen(data, chunk_size=1):
+ for i in range(0, len(data)): # pragma: NO COVER
+ chunk = data[i : i + chunk_size]
+ yield chunk.encode("utf-8")
+
+
+class ResponseMock(Response):
+ class _ResponseItr(AsyncIterator[bytes]):
+ def __init__(self, _response_bytes: bytes, random_split=False):
+ self._responses_bytes = _response_bytes
+ self._idx = 0
+ self._random_split = random_split
+
+ def __aiter__(self):
+ return self
+
+ async def __anext__(self):
+ if self._idx >= len(self._responses_bytes):
+ raise StopAsyncIteration
+ if self._random_split:
+ n = random.randint(1, len(self._responses_bytes[self._idx :]))
+ else:
+ n = 1
+ x = self._responses_bytes[self._idx : self._idx + n]
+ self._idx += n
+ return x
+
+ def __init__(
+ self,
+ responses: List[proto.Message],
+ response_cls,
+ random_split=False,
+ ):
+ self._responses = responses
+ self._random_split = random_split
+ self._response_message_cls = response_cls
+
+ def _parse_responses(self):
+ return parse_responses(self._response_message_cls, self._responses)
+
+ @property
+ async def headers(self):
+ raise NotImplementedError()
+
+ @property
+ async def status_code(self):
+ raise NotImplementedError()
+
+ async def close(self):
+ raise NotImplementedError()
+
+ async def content(self, chunk_size=None):
+ itr = self._ResponseItr(
+ self._parse_responses(), random_split=self._random_split
+ )
+ async for chunk in itr:
+ yield chunk
+
+ async def read(self):
+ raise NotImplementedError()
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize(
+ "random_split,resp_message_is_proto_plus",
+ [(False, True), (False, False)],
+)
+async def test_next_simple(random_split, resp_message_is_proto_plus):
+ if resp_message_is_proto_plus:
+ response_type = EchoResponse
+ responses = [EchoResponse(content="hello world"), EchoResponse(content="yes")]
+ else:
+ response_type = httpbody_pb2.HttpBody
+ responses = [
+ httpbody_pb2.HttpBody(content_type="hello world"),
+ httpbody_pb2.HttpBody(content_type="yes"),
+ ]
+
+ resp = ResponseMock(
+ responses=responses, random_split=random_split, response_cls=response_type
+ )
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ idx = 0
+ async for response in itr:
+ assert response == responses[idx]
+ idx += 1
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize(
+ "random_split,resp_message_is_proto_plus",
+ [
+ (True, True),
+ (False, True),
+ (True, False),
+ (False, False),
+ ],
+)
+async def test_next_nested(random_split, resp_message_is_proto_plus):
+ if resp_message_is_proto_plus:
+ response_type = Song
+ responses = [
+ Song(title="some song", composer=Composer(given_name="some name")),
+ Song(title="another song", date_added=datetime.datetime(2021, 12, 17)),
+ ]
+ else:
+ # Although `http_pb2.HttpRule`` is used in the response, any response message
+ # can be used which meets this criteria for the test of having a nested field.
+ response_type = http_pb2.HttpRule
+ responses = [
+ http_pb2.HttpRule(
+ selector="some selector",
+ custom=http_pb2.CustomHttpPattern(kind="some kind"),
+ ),
+ http_pb2.HttpRule(
+ selector="another selector",
+ custom=http_pb2.CustomHttpPattern(path="some path"),
+ ),
+ ]
+ resp = ResponseMock(
+ responses=responses, random_split=random_split, response_cls=response_type
+ )
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ idx = 0
+ async for response in itr:
+ assert response == responses[idx]
+ idx += 1
+ assert idx == len(responses)
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize(
+ "random_split,resp_message_is_proto_plus",
+ [
+ (True, True),
+ (False, True),
+ (True, False),
+ (False, False),
+ ],
+)
+async def test_next_stress(random_split, resp_message_is_proto_plus):
+ n = 50
+ if resp_message_is_proto_plus:
+ response_type = Song
+ responses = [
+ Song(title="title_%d" % i, composer=Composer(given_name="name_%d" % i))
+ for i in range(n)
+ ]
+ else:
+ response_type = http_pb2.HttpRule
+ responses = [
+ http_pb2.HttpRule(
+ selector="selector_%d" % i,
+ custom=http_pb2.CustomHttpPattern(path="path_%d" % i),
+ )
+ for i in range(n)
+ ]
+ resp = ResponseMock(
+ responses=responses, random_split=random_split, response_cls=response_type
+ )
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ idx = 0
+ async for response in itr:
+ assert response == responses[idx]
+ idx += 1
+ assert idx == n
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize(
+ "random_split,resp_message_is_proto_plus",
+ [
+ (True, True),
+ (False, True),
+ (True, False),
+ (False, False),
+ ],
+)
+async def test_next_escaped_characters_in_string(
+ random_split, resp_message_is_proto_plus
+):
+ if resp_message_is_proto_plus:
+ response_type = Song
+ composer_with_relateds = Composer()
+ relateds = ["Artist A", "Artist B"]
+ composer_with_relateds.relateds = relateds
+
+ responses = [
+ Song(
+ title='ti"tle\nfoo\tbar{}', composer=Composer(given_name="name\n\n\n")
+ ),
+ Song(
+ title='{"this is weird": "totally"}',
+ composer=Composer(given_name="\\{}\\"),
+ ),
+ Song(title='\\{"key": ["value",]}\\', composer=composer_with_relateds),
+ ]
+ else:
+ response_type = http_pb2.Http
+ responses = [
+ http_pb2.Http(
+ rules=[
+ http_pb2.HttpRule(
+ selector='ti"tle\nfoo\tbar{}',
+ custom=http_pb2.CustomHttpPattern(kind="name\n\n\n"),
+ )
+ ]
+ ),
+ http_pb2.Http(
+ rules=[
+ http_pb2.HttpRule(
+ selector='{"this is weird": "totally"}',
+ custom=http_pb2.CustomHttpPattern(kind="\\{}\\"),
+ )
+ ]
+ ),
+ http_pb2.Http(
+ rules=[
+ http_pb2.HttpRule(
+ selector='\\{"key": ["value",]}\\',
+ custom=http_pb2.CustomHttpPattern(kind="\\{}\\"),
+ )
+ ]
+ ),
+ ]
+ resp = ResponseMock(
+ responses=responses, random_split=random_split, response_cls=response_type
+ )
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ idx = 0
+ async for response in itr:
+ assert response == responses[idx]
+ idx += 1
+ assert idx == len(responses)
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize("response_type", [EchoResponse, httpbody_pb2.HttpBody])
+async def test_next_not_array(response_type):
+
+ data = '{"hello": 0}'
+ with mock.patch.object(
+ ResponseMock, "content", return_value=mock_async_gen(data)
+ ) as mock_method:
+ resp = ResponseMock(responses=[], response_cls=response_type)
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ with pytest.raises(ValueError):
+ await itr.__anext__()
+ mock_method.assert_called_once()
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize("response_type", [EchoResponse, httpbody_pb2.HttpBody])
+async def test_cancel(response_type):
+ with mock.patch.object(
+ ResponseMock, "close", new_callable=mock.AsyncMock
+ ) as mock_method:
+ resp = ResponseMock(responses=[], response_cls=response_type)
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ await itr.cancel()
+ mock_method.assert_called_once()
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize("response_type", [EchoResponse, httpbody_pb2.HttpBody])
+async def test_iterator_as_context_manager(response_type):
+ with mock.patch.object(
+ ResponseMock, "close", new_callable=mock.AsyncMock
+ ) as mock_method:
+ resp = ResponseMock(responses=[], response_cls=response_type)
+ async with rest_streaming_async.AsyncResponseIterator(resp, response_type):
+ pass
+ mock_method.assert_called_once()
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize(
+ "response_type,return_value",
+ [
+ (EchoResponse, bytes('[{"content": "hello"}, {', "utf-8")),
+ (httpbody_pb2.HttpBody, bytes('[{"content_type": "hello"}, {', "utf-8")),
+ ],
+)
+async def test_check_buffer(response_type, return_value):
+ with mock.patch.object(
+ ResponseMock,
+ "_parse_responses",
+ return_value=return_value,
+ ):
+ resp = ResponseMock(responses=[], response_cls=response_type)
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ with pytest.raises(ValueError):
+ await itr.__anext__()
+ await itr.__anext__()
+
+
+(a)pytest.mark.asyncio
+(a)pytest.mark.parametrize("response_type", [EchoResponse, httpbody_pb2.HttpBody])
+async def test_next_html(response_type):
+
+ data = "<!DOCTYPE html><html></html>"
+ with mock.patch.object(
+ ResponseMock, "content", return_value=mock_async_gen(data)
+ ) as mock_method:
+ resp = ResponseMock(responses=[], response_cls=response_type)
+
+ itr = rest_streaming_async.AsyncResponseIterator(resp, response_type)
+ with pytest.raises(ValueError):
+ await itr.__anext__()
+ mock_method.assert_called_once()
+
+
+(a)pytest.mark.asyncio
+async def test_invalid_response_class():
+ class SomeClass:
+ pass
+
+ resp = ResponseMock(responses=[], response_cls=SomeClass)
+ with pytest.raises(
+ ValueError,
+ match="Response message class must be a subclass of proto.Message or google.protobuf.message.Message",
+ ):
+ rest_streaming_async.AsyncResponseIterator(resp, SomeClass)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/tests/helpers.py new/google_api_core-2.20.0/tests/helpers.py
--- old/google_api_core-2.19.2/tests/helpers.py 1970-01-01 01:00:00.000000000 +0100
+++ new/google_api_core-2.20.0/tests/helpers.py 2024-09-19 20:20:48.000000000 +0200
@@ -0,0 +1,71 @@
+# Copyright 2024 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Helpers for tests"""
+
+import logging
+from typing import List
+
+import proto
+
+from google.protobuf import duration_pb2
+from google.protobuf import timestamp_pb2
+from google.protobuf.json_format import MessageToJson
+
+
+class Genre(proto.Enum):
+ GENRE_UNSPECIFIED = 0
+ CLASSICAL = 1
+ JAZZ = 2
+ ROCK = 3
+
+
+class Composer(proto.Message):
+ given_name = proto.Field(proto.STRING, number=1)
+ family_name = proto.Field(proto.STRING, number=2)
+ relateds = proto.RepeatedField(proto.STRING, number=3)
+ indices = proto.MapField(proto.STRING, proto.STRING, number=4)
+
+
+class Song(proto.Message):
+ composer = proto.Field(Composer, number=1)
+ title = proto.Field(proto.STRING, number=2)
+ lyrics = proto.Field(proto.STRING, number=3)
+ year = proto.Field(proto.INT32, number=4)
+ genre = proto.Field(Genre, number=5)
+ is_five_mins_longer = proto.Field(proto.BOOL, number=6)
+ score = proto.Field(proto.DOUBLE, number=7)
+ likes = proto.Field(proto.INT64, number=8)
+ duration = proto.Field(duration_pb2.Duration, number=9)
+ date_added = proto.Field(timestamp_pb2.Timestamp, number=10)
+
+
+class EchoResponse(proto.Message):
+ content = proto.Field(proto.STRING, number=1)
+
+
+def parse_responses(response_message_cls, all_responses: List[proto.Message]) -> bytes:
+ # json.dumps returns a string surrounded with quotes that need to be stripped
+ # in order to be an actual JSON.
+ json_responses = [
+ (
+ response_message_cls.to_json(response).strip('"')
+ if issubclass(response_message_cls, proto.Message)
+ else MessageToJson(response).strip('"')
+ )
+ for response in all_responses
+ ]
+ logging.info(f"Sending JSON stream: {json_responses}")
+ ret_val = "[{}]".format(",".join(json_responses))
+ return bytes(ret_val, "utf-8")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/google_api_core-2.19.2/tests/unit/test_rest_streaming.py new/google_api_core-2.20.0/tests/unit/test_rest_streaming.py
--- old/google_api_core-2.19.2/tests/unit/test_rest_streaming.py 2024-08-27 22:57:23.000000000 +0200
+++ new/google_api_core-2.20.0/tests/unit/test_rest_streaming.py 2024-09-19 20:20:48.000000000 +0200
@@ -26,48 +26,16 @@
from google.api_core import rest_streaming
from google.api import http_pb2
from google.api import httpbody_pb2
-from google.protobuf import duration_pb2
-from google.protobuf import timestamp_pb2
-from google.protobuf.json_format import MessageToJson
+
+from ..helpers import Composer, Song, EchoResponse, parse_responses
__protobuf__ = proto.module(package=__name__)
SEED = int(time.time())
-logging.info(f"Starting rest streaming tests with random seed: {SEED}")
+logging.info(f"Starting sync rest streaming tests with random seed: {SEED}")
random.seed(SEED)
-class Genre(proto.Enum):
- GENRE_UNSPECIFIED = 0
- CLASSICAL = 1
- JAZZ = 2
- ROCK = 3
-
-
-class Composer(proto.Message):
- given_name = proto.Field(proto.STRING, number=1)
- family_name = proto.Field(proto.STRING, number=2)
- relateds = proto.RepeatedField(proto.STRING, number=3)
- indices = proto.MapField(proto.STRING, proto.STRING, number=4)
-
-
-class Song(proto.Message):
- composer = proto.Field(Composer, number=1)
- title = proto.Field(proto.STRING, number=2)
- lyrics = proto.Field(proto.STRING, number=3)
- year = proto.Field(proto.INT32, number=4)
- genre = proto.Field(Genre, number=5)
- is_five_mins_longer = proto.Field(proto.BOOL, number=6)
- score = proto.Field(proto.DOUBLE, number=7)
- likes = proto.Field(proto.INT64, number=8)
- duration = proto.Field(duration_pb2.Duration, number=9)
- date_added = proto.Field(timestamp_pb2.Timestamp, number=10)
-
-
-class EchoResponse(proto.Message):
- content = proto.Field(proto.STRING, number=1)
-
-
class ResponseMock(requests.Response):
class _ResponseItr:
def __init__(self, _response_bytes: bytes, random_split=False):
@@ -97,27 +65,15 @@
self._random_split = random_split
self._response_message_cls = response_cls
- def _parse_responses(self, responses: List[proto.Message]) -> bytes:
- # json.dumps returns a string surrounded with quotes that need to be stripped
- # in order to be an actual JSON.
- json_responses = [
- (
- self._response_message_cls.to_json(r).strip('"')
- if issubclass(self._response_message_cls, proto.Message)
- else MessageToJson(r).strip('"')
- )
- for r in responses
- ]
- logging.info(f"Sending JSON stream: {json_responses}")
- ret_val = "[{}]".format(",".join(json_responses))
- return bytes(ret_val, "utf-8")
+ def _parse_responses(self):
+ return parse_responses(self._response_message_cls, self._responses)
def close(self):
raise NotImplementedError()
def iter_content(self, *args, **kwargs):
return self._ResponseItr(
- self._parse_responses(self._responses),
+ self._parse_responses(),
random_split=self._random_split,
)
@@ -333,9 +289,8 @@
pass
resp = ResponseMock(responses=[], response_cls=SomeClass)
- response_iterator = rest_streaming.ResponseIterator(resp, SomeClass)
with pytest.raises(
ValueError,
match="Response message class must be a subclass of proto.Message or google.protobuf.message.Message",
):
- response_iterator._grab()
+ rest_streaming.ResponseIterator(resp, SomeClass)
++++++ python-google-api-core-no-mock.patch ++++++
--- /var/tmp/diff_new_pack.Ybg4ZR/_old 2024-10-02 21:34:03.916079703 +0200
+++ /var/tmp/diff_new_pack.Ybg4ZR/_new 2024-10-02 21:34:03.920079869 +0200
@@ -1,102 +1,183 @@
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/future/test_async_future.py google-api-core-2.19.0/tests/asyncio/future/test_async_future.py
---- google-api-core-2.19.0.orig/tests/asyncio/future/test_async_future.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/future/test_async_future.py 2024-05-16 16:03:34.320181259 +0200
-@@ -14,7 +14,7 @@
+From 5f28e210306de47ff5a9fa3b4bf48ac6ceb13e85 Mon Sep 17 00:00:00 2001
+From: Steve Kowalik <steven(a)wedontsleep.org>
+Date: Wed, 2 Oct 2024 13:50:33 +1000
+Subject: [PATCH] test: Switch to unittest.mock from mock
+
+Now that the minimum supported version of Python is 3.7, we can stop
+using the external mock requirement, and import it from unittest. I have
+also attempted to keep imports ordered.
+
+Fixes #377
+---
+ noxfile.py | 2 --
+ tests/asyncio/future/test_async_future.py | 2 +-
+ tests/asyncio/gapic/test_method_async.py | 2 +-
+ tests/asyncio/operations_v1/test_operations_async_client.py | 3 ++-
+ tests/asyncio/retry/test_retry_streaming_async.py | 4 ++--
+ tests/asyncio/retry/test_retry_unary_async.py | 2 +-
+ tests/asyncio/test_grpc_helpers_async.py | 3 ++-
+ tests/asyncio/test_operation_async.py | 3 ++-
+ tests/asyncio/test_page_iterator_async.py | 2 +-
+ tests/asyncio/test_rest_streaming_async.py | 6 +++---
+ tests/unit/future/test__helpers.py | 2 +-
+ tests/unit/future/test_polling.py | 2 +-
+ tests/unit/gapic/test_method.py | 2 +-
+ tests/unit/operations_v1/test_operations_rest_client.py | 2 +-
+ tests/unit/retry/test_retry_base.py | 2 +-
+ tests/unit/retry/test_retry_streaming.py | 2 +-
+ tests/unit/retry/test_retry_unary.py | 2 +-
+ tests/unit/test_bidi.py | 2 +-
+ tests/unit/test_exceptions.py | 2 +-
+ tests/unit/test_extended_operation.py | 2 +-
+ tests/unit/test_grpc_helpers.py | 3 ++-
+ tests/unit/test_operation.py | 3 ++-
+ tests/unit/test_page_iterator.py | 2 +-
+ tests/unit/test_path_template.py | 2 +-
+ tests/unit/test_timeout.py | 3 +--
+ 25 files changed, 32 insertions(+), 30 deletions(-)
+
+diff --git a/tests/asyncio/future/test_async_future.py b/tests/asyncio/future/test_async_future.py
+index 0cfe6773..659f41cf 100644
+--- a/tests/asyncio/future/test_async_future.py
++++ b/tests/asyncio/future/test_async_future.py
+@@ -13,8 +13,8 @@
+ # limitations under the License.
import asyncio
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import exceptions
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/gapic/test_method_async.py google-api-core-2.19.0/tests/asyncio/gapic/test_method_async.py
---- google-api-core-2.19.0.orig/tests/asyncio/gapic/test_method_async.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/gapic/test_method_async.py 2024-05-16 16:03:34.310181235 +0200
-@@ -14,7 +14,7 @@
+diff --git a/tests/asyncio/gapic/test_method_async.py b/tests/asyncio/gapic/test_method_async.py
+index f64157b4..026993e2 100644
+--- a/tests/asyncio/gapic/test_method_async.py
++++ b/tests/asyncio/gapic/test_method_async.py
+@@ -13,8 +13,8 @@
+ # limitations under the License.
import datetime
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/operations_v1/test_operations_async_client.py google-api-core-2.19.0/tests/asyncio/operations_v1/test_operations_async_client.py
---- google-api-core-2.19.0.orig/tests/asyncio/operations_v1/test_operations_async_client.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/operations_v1/test_operations_async_client.py 2024-05-16 16:03:34.300181212 +0200
-@@ -12,7 +12,7 @@
+diff --git a/tests/asyncio/operations_v1/test_operations_async_client.py b/tests/asyncio/operations_v1/test_operations_async_client.py
+index 19ac9b56..e5b20dcd 100644
+--- a/tests/asyncio/operations_v1/test_operations_async_client.py
++++ b/tests/asyncio/operations_v1/test_operations_async_client.py
+@@ -12,7 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import mock
+from unittest import mock
++
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/retry/test_retry_streaming_async.py google-api-core-2.19.0/tests/asyncio/retry/test_retry_streaming_async.py
---- google-api-core-2.19.0.orig/tests/asyncio/retry/test_retry_streaming_async.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/retry/test_retry_streaming_async.py 2024-05-16 16:03:34.296847871 +0200
-@@ -16,7 +16,7 @@
+diff --git a/tests/asyncio/retry/test_retry_streaming_async.py b/tests/asyncio/retry/test_retry_streaming_async.py
+index 28ae6ff1..a54fc125 100644
+--- a/tests/asyncio/retry/test_retry_streaming_async.py
++++ b/tests/asyncio/retry/test_retry_streaming_async.py
+@@ -12,11 +12,11 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
++import asyncio
+ import datetime
import re
- import asyncio
+-import asyncio
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import exceptions
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/retry/test_retry_unary_async.py google-api-core-2.19.0/tests/asyncio/retry/test_retry_unary_async.py
---- google-api-core-2.19.0.orig/tests/asyncio/retry/test_retry_unary_async.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/retry/test_retry_unary_async.py 2024-05-16 16:03:34.293514530 +0200
-@@ -15,7 +15,7 @@
+diff --git a/tests/asyncio/retry/test_retry_unary_async.py b/tests/asyncio/retry/test_retry_unary_async.py
+index fc2f572b..032bab75 100644
+--- a/tests/asyncio/retry/test_retry_unary_async.py
++++ b/tests/asyncio/retry/test_retry_unary_async.py
+@@ -14,8 +14,8 @@
+
import datetime
import re
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import exceptions
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/test_grpc_helpers_async.py google-api-core-2.19.0/tests/asyncio/test_grpc_helpers_async.py
---- google-api-core-2.19.0.orig/tests/asyncio/test_grpc_helpers_async.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/test_grpc_helpers_async.py 2024-05-16 16:03:34.286847847 +0200
-@@ -12,7 +12,7 @@
+diff --git a/tests/asyncio/test_grpc_helpers_async.py b/tests/asyncio/test_grpc_helpers_async.py
+index 1a408ccd..a53de083 100644
+--- a/tests/asyncio/test_grpc_helpers_async.py
++++ b/tests/asyncio/test_grpc_helpers_async.py
+@@ -12,7 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import mock
+from unittest import mock
++
import pytest # noqa: I202
try:
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/test_operation_async.py google-api-core-2.19.0/tests/asyncio/test_operation_async.py
---- google-api-core-2.19.0.orig/tests/asyncio/test_operation_async.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/test_operation_async.py 2024-05-16 16:03:34.316847918 +0200
-@@ -13,7 +13,7 @@
+diff --git a/tests/asyncio/test_operation_async.py b/tests/asyncio/test_operation_async.py
+index 127ba634..f7ebad8a 100644
+--- a/tests/asyncio/test_operation_async.py
++++ b/tests/asyncio/test_operation_async.py
+@@ -13,7 +13,8 @@
# limitations under the License.
-import mock
+from unittest import mock
++
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/asyncio/test_page_iterator_async.py google-api-core-2.19.0/tests/asyncio/test_page_iterator_async.py
---- google-api-core-2.19.0.orig/tests/asyncio/test_page_iterator_async.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/asyncio/test_page_iterator_async.py 2024-05-16 16:03:34.283514506 +0200
-@@ -14,7 +14,7 @@
+diff --git a/tests/asyncio/test_page_iterator_async.py b/tests/asyncio/test_page_iterator_async.py
+index 75f9e1cf..e661bd26 100644
+--- a/tests/asyncio/test_page_iterator_async.py
++++ b/tests/asyncio/test_page_iterator_async.py
+@@ -13,8 +13,8 @@
+ # limitations under the License.
import inspect
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import page_iterator_async
-diff -Nru google-api-core-2.19.0.orig/tests/unit/future/test__helpers.py google-api-core-2.19.0/tests/unit/future/test__helpers.py
---- google-api-core-2.19.0.orig/tests/unit/future/test__helpers.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/future/test__helpers.py 2024-05-16 16:03:34.433514858 +0200
+diff --git a/tests/asyncio/test_rest_streaming_async.py b/tests/asyncio/test_rest_streaming_async.py
+index da5b1c8d..f726cbee 100644
+--- a/tests/asyncio/test_rest_streaming_async.py
++++ b/tests/asyncio/test_rest_streaming_async.py
+@@ -15,14 +15,14 @@
+ # TODO: set random.seed explicitly in each test function.
+ # See related issue: https://github.com/googleapis/python-api-core/issues/689.
+
+-import pytest # noqa: I202
+-import mock
+-
+ import datetime
+ import logging
+ import random
+ import time
+ from typing import List, AsyncIterator
++from unittest import mock
++
++import pytest # noqa: I202
+
+ import proto
+
+diff --git a/tests/unit/future/test__helpers.py b/tests/unit/future/test__helpers.py
+index 98afc599..a37efdd4 100644
+--- a/tests/unit/future/test__helpers.py
++++ b/tests/unit/future/test__helpers.py
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
@@ -106,169 +187,197 @@
from google.api_core.future import _helpers
-diff -Nru google-api-core-2.19.0.orig/tests/unit/future/test_polling.py google-api-core-2.19.0/tests/unit/future/test_polling.py
---- google-api-core-2.19.0.orig/tests/unit/future/test_polling.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/future/test_polling.py 2024-05-16 16:03:34.433514858 +0200
-@@ -16,7 +16,7 @@
+diff --git a/tests/unit/future/test_polling.py b/tests/unit/future/test_polling.py
+index f5d9b4f1..2f66f230 100644
+--- a/tests/unit/future/test_polling.py
++++ b/tests/unit/future/test_polling.py
+@@ -15,8 +15,8 @@
+ import concurrent.futures
import threading
import time
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import exceptions, retry
-diff -Nru google-api-core-2.19.0.orig/tests/unit/gapic/test_method.py google-api-core-2.19.0/tests/unit/gapic/test_method.py
---- google-api-core-2.19.0.orig/tests/unit/gapic/test_method.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/gapic/test_method.py 2024-05-16 16:03:34.413514811 +0200
-@@ -14,7 +14,7 @@
+diff --git a/tests/unit/gapic/test_method.py b/tests/unit/gapic/test_method.py
+index d966f478..87aa6390 100644
+--- a/tests/unit/gapic/test_method.py
++++ b/tests/unit/gapic/test_method.py
+@@ -13,8 +13,8 @@
+ # limitations under the License.
import datetime
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/unit/operations_v1/test_operations_rest_client.py google-api-core-2.19.0/tests/unit/operations_v1/test_operations_rest_client.py
---- google-api-core-2.19.0.orig/tests/unit/operations_v1/test_operations_rest_client.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/operations_v1/test_operations_rest_client.py 2024-05-16 16:03:34.393514764 +0200
-@@ -15,7 +15,7 @@
+diff --git a/tests/unit/operations_v1/test_operations_rest_client.py b/tests/unit/operations_v1/test_operations_rest_client.py
+index 4ab4f1f7..26f34c40 100644
+--- a/tests/unit/operations_v1/test_operations_rest_client.py
++++ b/tests/unit/operations_v1/test_operations_rest_client.py
+@@ -14,8 +14,8 @@
+ # limitations under the License.
#
import os
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/unit/retry/test_retry_base.py google-api-core-2.19.0/tests/unit/retry/test_retry_base.py
---- google-api-core-2.19.0.orig/tests/unit/retry/test_retry_base.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/retry/test_retry_base.py 2024-05-16 16:03:34.380181399 +0200
-@@ -15,7 +15,7 @@
+diff --git a/tests/unit/retry/test_retry_base.py b/tests/unit/retry/test_retry_base.py
+index a0c6776b..212c4293 100644
+--- a/tests/unit/retry/test_retry_base.py
++++ b/tests/unit/retry/test_retry_base.py
+@@ -14,8 +14,8 @@
+
import itertools
import re
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
import requests.exceptions
-diff -Nru google-api-core-2.19.0.orig/tests/unit/retry/test_retry_streaming.py google-api-core-2.19.0/tests/unit/retry/test_retry_streaming.py
---- google-api-core-2.19.0.orig/tests/unit/retry/test_retry_streaming.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/retry/test_retry_streaming.py 2024-05-16 16:03:34.376848059 +0200
-@@ -14,7 +14,7 @@
+diff --git a/tests/unit/retry/test_retry_streaming.py b/tests/unit/retry/test_retry_streaming.py
+index 01f35327..82b60b05 100644
+--- a/tests/unit/retry/test_retry_streaming.py
++++ b/tests/unit/retry/test_retry_streaming.py
+@@ -13,8 +13,8 @@
+ # limitations under the License.
import re
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import exceptions
-diff -Nru google-api-core-2.19.0.orig/tests/unit/retry/test_retry_unary.py google-api-core-2.19.0/tests/unit/retry/test_retry_unary.py
---- google-api-core-2.19.0.orig/tests/unit/retry/test_retry_unary.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/retry/test_retry_unary.py 2024-05-16 16:03:34.386848082 +0200
-@@ -15,7 +15,7 @@
+diff --git a/tests/unit/retry/test_retry_unary.py b/tests/unit/retry/test_retry_unary.py
+index 7dcd8dd6..b018fa96 100644
+--- a/tests/unit/retry/test_retry_unary.py
++++ b/tests/unit/retry/test_retry_unary.py
+@@ -14,8 +14,8 @@
+
import datetime
import re
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import exceptions
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_bidi.py google-api-core-2.19.0/tests/unit/test_bidi.py
---- google-api-core-2.19.0.orig/tests/unit/test_bidi.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_bidi.py 2024-05-16 16:03:34.326847941 +0200
-@@ -17,7 +17,7 @@
+diff --git a/tests/unit/test_bidi.py b/tests/unit/test_bidi.py
+index 84ac9dc5..08e80afd 100644
+--- a/tests/unit/test_bidi.py
++++ b/tests/unit/test_bidi.py
+@@ -16,8 +16,8 @@
+ import logging
import queue
import threading
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_exceptions.py google-api-core-2.19.0/tests/unit/test_exceptions.py
---- google-api-core-2.19.0.orig/tests/unit/test_exceptions.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_exceptions.py 2024-05-16 16:03:34.403514788 +0200
-@@ -15,7 +15,7 @@
+diff --git a/tests/unit/test_exceptions.py b/tests/unit/test_exceptions.py
+index 07a36817..e3f8f909 100644
+--- a/tests/unit/test_exceptions.py
++++ b/tests/unit/test_exceptions.py
+@@ -14,8 +14,8 @@
+
import http.client
import json
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
import requests
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_extended_operation.py google-api-core-2.19.0/tests/unit/test_extended_operation.py
---- google-api-core-2.19.0.orig/tests/unit/test_extended_operation.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_extended_operation.py 2024-05-16 16:03:34.353514670 +0200
-@@ -16,7 +16,7 @@
+diff --git a/tests/unit/test_extended_operation.py b/tests/unit/test_extended_operation.py
+index 53af5204..ab550662 100644
+--- a/tests/unit/test_extended_operation.py
++++ b/tests/unit/test_extended_operation.py
+@@ -15,8 +15,8 @@
+ import dataclasses
import enum
import typing
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import exceptions
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_grpc_helpers.py google-api-core-2.19.0/tests/unit/test_grpc_helpers.py
---- google-api-core-2.19.0.orig/tests/unit/test_grpc_helpers.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_grpc_helpers.py 2024-05-16 16:03:34.373514717 +0200
-@@ -12,7 +12,7 @@
+diff --git a/tests/unit/test_grpc_helpers.py b/tests/unit/test_grpc_helpers.py
+index 59442d43..8de9d8c0 100644
+--- a/tests/unit/test_grpc_helpers.py
++++ b/tests/unit/test_grpc_helpers.py
+@@ -12,7 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import mock
+from unittest import mock
++
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_operation.py google-api-core-2.19.0/tests/unit/test_operation.py
---- google-api-core-2.19.0.orig/tests/unit/test_operation.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_operation.py 2024-05-16 16:03:34.340181306 +0200
-@@ -13,7 +13,7 @@
+diff --git a/tests/unit/test_operation.py b/tests/unit/test_operation.py
+index f029866c..80680720 100644
+--- a/tests/unit/test_operation.py
++++ b/tests/unit/test_operation.py
+@@ -13,7 +13,8 @@
# limitations under the License.
-import mock
+from unittest import mock
++
import pytest
try:
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_page_iterator.py google-api-core-2.19.0/tests/unit/test_page_iterator.py
---- google-api-core-2.19.0.orig/tests/unit/test_page_iterator.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_page_iterator.py 2024-05-16 16:03:34.333514624 +0200
-@@ -15,7 +15,7 @@
+diff --git a/tests/unit/test_page_iterator.py b/tests/unit/test_page_iterator.py
+index cf43aedf..560722c5 100644
+--- a/tests/unit/test_page_iterator.py
++++ b/tests/unit/test_page_iterator.py
+@@ -14,8 +14,8 @@
+
import math
import types
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api_core import page_iterator
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_path_template.py google-api-core-2.19.0/tests/unit/test_path_template.py
---- google-api-core-2.19.0.orig/tests/unit/test_path_template.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_path_template.py 2024-05-16 16:03:34.333514624 +0200
-@@ -14,7 +14,7 @@
+diff --git a/tests/unit/test_path_template.py b/tests/unit/test_path_template.py
+index 808b36f3..c34dd0f3 100644
+--- a/tests/unit/test_path_template.py
++++ b/tests/unit/test_path_template.py
+@@ -13,8 +13,8 @@
+ # limitations under the License.
from __future__ import unicode_literals
++from unittest import mock
-import mock
-+from unittest import mock
import pytest
from google.api import auth_pb2
-diff -Nru google-api-core-2.19.0.orig/tests/unit/test_timeout.py google-api-core-2.19.0/tests/unit/test_timeout.py
---- google-api-core-2.19.0.orig/tests/unit/test_timeout.py 2024-04-30 19:00:19.000000000 +0200
-+++ google-api-core-2.19.0/tests/unit/test_timeout.py 2024-05-16 16:03:34.426848175 +0200
-@@ -15,7 +15,7 @@
+diff --git a/tests/unit/test_timeout.py b/tests/unit/test_timeout.py
+index 0bcf07f0..60a2e65d 100644
+--- a/tests/unit/test_timeout.py
++++ b/tests/unit/test_timeout.py
+@@ -14,8 +14,7 @@
+
import datetime
import itertools
-
+-
-import mock
+from unittest import mock
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package krita for openSUSE:Factory checked in at 2024-10-02 21:33:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/krita (Old)
and /work/SRC/openSUSE:Factory/.krita.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "krita"
Wed Oct 2 21:33:34 2024 rev:80 rq:1205003 version:5.2.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/krita/krita.changes 2024-09-30 15:40:02.260113404 +0200
+++ /work/SRC/openSUSE:Factory/.krita.new.19354/krita.changes 2024-10-02 21:34:00.755948326 +0200
@@ -1,0 +2,6 @@
+Tue Oct 1 21:38:05 UTC 2024 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 5.2.6:
+ * Fix a critical error with pass-through group layers (kde#493774)
+
+-------------------------------------------------------------------
Old:
----
krita-5.2.5.tar.xz
krita-5.2.5.tar.xz.sig
New:
----
krita-5.2.6.tar.xz
krita-5.2.6.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ krita.spec ++++++
--- /var/tmp/diff_new_pack.m7f1zq/_old 2024-10-02 21:34:02.636026487 +0200
+++ /var/tmp/diff_new_pack.m7f1zq/_new 2024-10-02 21:34:02.640026654 +0200
@@ -29,7 +29,7 @@
%define pyver python311
%endif
Name: krita
-Version: 5.2.5
+Version: 5.2.6
Release: 0
Summary: Digital Painting Application
License: BSD-2-Clause AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later AND CC0-1.0 AND LGPL-2.0-only
++++++ krita-5.2.5.tar.xz -> krita-5.2.6.tar.xz ++++++
/work/SRC/openSUSE:Factory/krita/krita-5.2.5.tar.xz /work/SRC/openSUSE:Factory/.krita.new.19354/krita-5.2.6.tar.xz differ: char 26, line 1
++++++ krita.keyring ++++++
Binary files /var/tmp/diff_new_pack.m7f1zq/_old and /var/tmp/diff_new_pack.m7f1zq/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gromox for openSUSE:Factory checked in at 2024-10-02 21:33:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gromox (Old)
and /work/SRC/openSUSE:Factory/.gromox.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gromox"
Wed Oct 2 21:33:27 2024 rev:35 rq:1204987 version:2.33
Changes:
--------
--- /work/SRC/openSUSE:Factory/gromox/gromox.changes 2024-09-05 16:04:12.326694787 +0200
+++ /work/SRC/openSUSE:Factory/.gromox.new.19354/gromox.changes 2024-10-02 21:33:51.143548704 +0200
@@ -1,0 +2,13 @@
+Tue Oct 1 14:13:21 UTC 2024 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 2.33
+ * oxcmail: Implement MIME fragment joining for the construction
+ of the contents of PR_HTML.
+ * dscli: add --ac option to test Mail Autoconfig (what
+ Thunderbird uses in leu of AutoDiscover)
+ * http: credential caching for HTTP Basic (config directive
+ ``http_basic_auth_cred_caching``, defaulting to 60s)
+ * oxcical: revert commit which evaluates different MAPI
+ timezone properties to generate DTSTART/DTEND's TZID value
+
+-------------------------------------------------------------------
Old:
----
gromox-2.32.tar.asc
gromox-2.32.tar.zst
New:
----
gromox-2.33.tar.asc
gromox-2.33.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gromox.spec ++++++
--- /var/tmp/diff_new_pack.tsWtqU/_old 2024-10-02 21:33:51.767574646 +0200
+++ /var/tmp/diff_new_pack.tsWtqU/_new 2024-10-02 21:33:51.767574646 +0200
@@ -19,7 +19,7 @@
%define _libexecdir %_prefix/libexec
Name: gromox
-Version: 2.32
+Version: 2.33
Release: 0
Summary: Groupware server backend with RPC, IMAP,POP3, PHP-MAPI support
License: AGPL-3.0-or-later AND GPL-2.0-only AND GPL-3.0-or-later
@@ -92,6 +92,7 @@
Requires(pre): group(gromox)
Provides: php-mapi-gromox = %version-%release
Conflicts: grommunio-admin-api < 1.10.7
+Recommends: mapitags
%{?systemd_ordering}
%if !0%{?_pamdir:1}
%define _pamdir /%_lib/security
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.tsWtqU/_old 2024-10-02 21:33:51.799575977 +0200
+++ /var/tmp/diff_new_pack.tsWtqU/_new 2024-10-02 21:33:51.799575977 +0200
@@ -1,5 +1,5 @@
-mtime: 1725477224
-commit: c94e92d8218929aa5790d2451b98defac6c3a6e889cd573dc62e11dbecfb4f6d
+mtime: 1727813761
+commit: 3493ed7aa4f92b3a927f3c0f660daf92e70be4732dc0da77f4b9bb8f05ef0a2f
url: https://src.opensuse.org/jengelh/gromox
revision: master
++++++ build.specials.obscpio ++++++
diff: old/*: No such file or directory
diff: new/*: No such file or directory
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.tsWtqU/_old 2024-10-02 21:33:51.891579802 +0200
+++ /var/tmp/diff_new_pack.tsWtqU/_new 2024-10-02 21:33:51.895579968 +0200
@@ -1,6 +1,9 @@
-gromox (2.32-0) unstable; urgency=low
+gromox (2.33-0) unstable; urgency=low
- * Update.
+ * The build process is supposed to replace the entries here
+ automatically from data present in gromox.changes.
+ But if you see this message in installed systems,
+ that would indicate a problem in debtransform(1).
- -- Gromox <null(a)gromox.com> Wed, 04 Sep 2024 09:49:00 +0200
+ -- Gromox <null(a)gromox.com> Tue, 01 Oct 2024 16:10:00 +0200
++++++ gromox-2.32.tar.zst -> gromox-2.33.tar.zst ++++++
++++ 10374 lines of diff (skipped)
++++++ gromox.dsc ++++++
--- /var/tmp/diff_new_pack.tsWtqU/_old 2024-10-02 21:33:52.651611401 +0200
+++ /var/tmp/diff_new_pack.tsWtqU/_new 2024-10-02 21:33:52.655611568 +0200
@@ -1,7 +1,7 @@
Format: 1.0
Source: gromox
Architecture: any
-Version: 2.30
+Version: 2.33
DEBTRANSFORM-RELEASE: 1
Maintainer: Gromox <null(a)gromox.com>
Homepage: https://gromox.com
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package frr for openSUSE:Factory checked in at 2024-10-02 21:33:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/frr (Old)
and /work/SRC/openSUSE:Factory/.frr.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "frr"
Wed Oct 2 21:33:24 2024 rev:37 rq:1204981 version:10.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/frr/frr.changes 2024-09-17 18:18:20.383344163 +0200
+++ /work/SRC/openSUSE:Factory/.frr.new.19354/frr.changes 2024-10-02 21:33:48.695446928 +0200
@@ -1,0 +2,8 @@
+Mon Sep 30 09:49:59 UTC 2024 - Marius Tomaschewski <mt(a)suse.com>
+
+- Update to frr 10.0.2 release providing fix for CVE-2024-44070
+ and other issues, see https://frrouting.org/release/10.0.2/
+- Removed patch included in the sources:
+ [- 0002-bgpd-Check-the-actual-remaining-stream-length-before.patch]
+
+-------------------------------------------------------------------
Old:
----
0002-bgpd-Check-the-actual-remaining-stream-length-before.patch
frr-10.0.1.tar.gz
New:
----
frr-10.0.2.tar.gz
BETA DEBUG BEGIN:
Old:- Removed patch included in the sources:
[- 0002-bgpd-Check-the-actual-remaining-stream-length-before.patch]
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ frr.spec ++++++
--- /var/tmp/diff_new_pack.HjONGA/_old 2024-10-02 21:33:49.395476030 +0200
+++ /var/tmp/diff_new_pack.HjONGA/_new 2024-10-02 21:33:49.395476030 +0200
@@ -30,7 +30,7 @@
%define frr_daemondir %{_prefix}/lib/frr
Name: frr
-Version: 10.0.1
+Version: 10.0.2
Release: 0
Summary: The FRRouting Protocol Suite
License: GPL-2.0-or-later AND LGPL-2.1-or-later
@@ -41,7 +41,6 @@
Source1: %{name}-tmpfiles.d
Patch0: harden_frr.service.patch
Patch1: 0001-disable-zmq-test.patch
-Patch2: 0002-bgpd-Check-the-actual-remaining-stream-length-before.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison >= 2.7
++++++ frr-10.0.1.tar.gz -> frr-10.0.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/frr/frr-10.0.1.tar.gz /work/SRC/openSUSE:Factory/.frr.new.19354/frr-10.0.2.tar.gz differ: char 13, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package trufflehog for openSUSE:Factory checked in at 2024-10-02 21:33:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trufflehog (Old)
and /work/SRC/openSUSE:Factory/.trufflehog.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trufflehog"
Wed Oct 2 21:33:21 2024 rev:49 rq:1204979 version:3.82.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/trufflehog/trufflehog.changes 2024-09-27 17:10:54.437190334 +0200
+++ /work/SRC/openSUSE:Factory/.trufflehog.new.19354/trufflehog.changes 2024-10-02 21:33:45.607318544 +0200
@@ -1,0 +2,16 @@
+Tue Oct 01 08:05:06 UTC 2024 - felix.niederwanger(a)suse.de
+
+- Update to version 3.82.6:
+ * [feat] - Add SizedLRU Cache (#3344)
+ * [bug] - Recover From Panic During Archive Handling (#3348)
+ * [fix] - Use Parent Context in Azure Detector (#3346)
+ * [chore] - update Go version to 1.23.0 (#3340)
+ * disable secret scans for community PRs (#3343)
+ * Enhanced the eraser detector to handle new status code from verification API (#3342)
+ * [feat] - Add Generic Hasher Interface with Blake2b Implementation (#3337)
+ * [fix] Move detector initialization to DefaultDetectors function (#3341)
+ * Improve process cleanup (#3339)
+ * fix(decoder): prevent race (#3031)
+ * Add named params to interface methods (#3335)
+
+-------------------------------------------------------------------
Old:
----
trufflehog-3.82.5.obscpio
New:
----
trufflehog-3.82.6.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trufflehog.spec ++++++
--- /var/tmp/diff_new_pack.uNnxoe/_old 2024-10-02 21:33:48.231427637 +0200
+++ /var/tmp/diff_new_pack.uNnxoe/_new 2024-10-02 21:33:48.231427637 +0200
@@ -17,7 +17,7 @@
Name: trufflehog
-Version: 3.82.5
+Version: 3.82.6
Release: 0
Summary: CLI tool to find exposed secrets in source and archives
License: AGPL-3.0-or-later
++++++ _service ++++++
--- /var/tmp/diff_new_pack.uNnxoe/_old 2024-10-02 21:33:48.267429134 +0200
+++ /var/tmp/diff_new_pack.uNnxoe/_new 2024-10-02 21:33:48.267429134 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/trufflesecurity/trufflehog.git</param>
<param name="scm">git</param>
<param name="revision">main</param>
- <param name="version">v3.82.5</param>
+ <param name="version">v3.82.6</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.uNnxoe/_old 2024-10-02 21:33:48.291430131 +0200
+++ /var/tmp/diff_new_pack.uNnxoe/_new 2024-10-02 21:33:48.295430298 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/trufflesecurity/trufflehog.git</param>
- <param name="changesrevision">c57b6b02f39379e3ff568a0ef7f6ee41d04bf8e2</param></service></servicedata>
+ <param name="changesrevision">a5b09951c1eaf6834730dd10db67cf5d8b71fffa</param></service></servicedata>
(No newline at EOF)
++++++ trufflehog-3.82.5.obscpio -> trufflehog-3.82.6.obscpio ++++++
/work/SRC/openSUSE:Factory/trufflehog/trufflehog-3.82.5.obscpio /work/SRC/openSUSE:Factory/.trufflehog.new.19354/trufflehog-3.82.6.obscpio differ: char 50, line 1
++++++ trufflehog.obsinfo ++++++
--- /var/tmp/diff_new_pack.uNnxoe/_old 2024-10-02 21:33:48.339432127 +0200
+++ /var/tmp/diff_new_pack.uNnxoe/_new 2024-10-02 21:33:48.339432127 +0200
@@ -1,5 +1,5 @@
name: trufflehog
-version: 3.82.5
-mtime: 1727318313
-commit: c57b6b02f39379e3ff568a0ef7f6ee41d04bf8e2
+version: 3.82.6
+mtime: 1727727495
+commit: a5b09951c1eaf6834730dd10db67cf5d8b71fffa
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/trufflehog/vendor.tar.gz /work/SRC/openSUSE:Factory/.trufflehog.new.19354/vendor.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 vhostmd for openSUSE:Factory checked in at 2024-10-02 21:33:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vhostmd (Old)
and /work/SRC/openSUSE:Factory/.vhostmd.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vhostmd"
Wed Oct 2 21:33:18 2024 rev:35 rq:1204975 version:1.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/vhostmd/vhostmd.changes 2024-09-23 15:19:33.314806485 +0200
+++ /work/SRC/openSUSE:Factory/.vhostmd.new.19354/vhostmd.changes 2024-10-02 21:33:41.831161556 +0200
@@ -1,0 +2,10 @@
+Tue Oct 1 17:55:04 UTC 2024 - James Fehlig <jfehlig(a)suse.com>
+
+- Fix virtio transport to work with libvirt >= 9.7.0
+ Added patches:
+ 5a04b594-Add-channel_path-setting.patch,
+ 176fcda4-Support-new-channel-path-naming.patch,
+ 9d282891-Fix-parsing-of-vmstat-output.patch
+ bsc#1230961
+
+-------------------------------------------------------------------
New:
----
176fcda4-Support-new-channel-path-naming.patch
5a04b594-Add-channel_path-setting.patch
9d282891-Fix-parsing-of-vmstat-output.patch
BETA DEBUG BEGIN:
New: 5a04b594-Add-channel_path-setting.patch,
176fcda4-Support-new-channel-path-naming.patch,
9d282891-Fix-parsing-of-vmstat-output.patch
New: Added patches:
5a04b594-Add-channel_path-setting.patch,
176fcda4-Support-new-channel-path-naming.patch,
New: 176fcda4-Support-new-channel-path-naming.patch,
9d282891-Fix-parsing-of-vmstat-output.patch
bsc#1230961
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vhostmd.spec ++++++
--- /var/tmp/diff_new_pack.IXuOUl/_old 2024-10-02 21:33:42.567192156 +0200
+++ /var/tmp/diff_new_pack.IXuOUl/_new 2024-10-02 21:33:42.567192156 +0200
@@ -37,6 +37,9 @@
Patch2: value-newline.patch
Patch3: libmetrics-link.patch
Patch4: harden_vhostmd.service.patch
+Patch5: 5a04b594-Add-channel_path-setting.patch
+Patch6: 176fcda4-Support-new-channel-path-naming.patch
+Patch7: 9d282891-Fix-parsing-of-vmstat-output.patch
BuildRequires: libtool
BuildRequires: libvirt-devel
BuildRequires: libxml2
++++++ 176fcda4-Support-new-channel-path-naming.patch ++++++
From 176fcda44caca807b4bec9fd613991afd9d5a70b Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig(a)suse.com>
Date: Fri, 27 Sep 2024 10:48:41 -0600
Subject: [PATCH 2/3] Support libvirt's new channel path naming scheme
libvirt commit 8abc979bb0 changed the channel path naming scheme from
domain-<id>-<name> to <id>-<name>. Change the logic searching for channels
to work with either scheme.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
vhostmd/virtio.c | 49 +++++++++++++++++++++++++-----------------------
1 file changed, 26 insertions(+), 23 deletions(-)
diff --git a/vhostmd/virtio.c b/vhostmd/virtio.c
index d2d07bf..4516b1f 100644
--- a/vhostmd/virtio.c
+++ b/vhostmd/virtio.c
@@ -277,34 +277,37 @@ static int vio_readdir(const char * path)
}
while ((ent = readdir(dir)) != NULL) {
- int rc, id;
+ char tmp[SUN_PATH_LEN + 8];
+ struct stat st;
+ char *name = NULL;
+ int id = -1;
+ int rc;
+ channel_t *c = NULL;
- if (sscanf(ent->d_name, "domain-%d-", &id) == 1) {
+ if (sscanf(ent->d_name, "domain-%d-", &id) == 1)
+ name = strchr(&(ent->d_name[strlen("domain-")]), '-');
+ else if (sscanf(ent->d_name, "%d-", &id) == 1)
+ name = strchr(ent->d_name, '-');
+ else
+ continue;
- char tmp[SUN_PATH_LEN + 8];
- struct stat st;
+ rc = snprintf(tmp, sizeof(tmp), "%s/%s/%s", path, ent->d_name, channel_name);
- rc = snprintf(tmp, sizeof(tmp), "%s/%s/%s", path, ent->d_name, channel_name);
+ if (rc > 0 && rc < (int) sizeof(tmp) &&
+ strlen(tmp) < SUN_PATH_LEN &&
+ stat(tmp, &st) == 0 &&
+ S_ISSOCK(st.st_mode)) {
- if (rc > 0 && rc < (int) sizeof(tmp) &&
- strlen(tmp) < SUN_PATH_LEN &&
- stat(tmp, &st) == 0 &&
- S_ISSOCK(st.st_mode)) {
+ pthread_mutex_lock(&channel_mtx);
+ c = vio_channel_find(id, name, 0);
+ pthread_mutex_unlock(&channel_mtx);
- channel_t *c = NULL;
- const char *name = strchr(&(ent->d_name[strlen("domain-")]), '-');
-
- pthread_mutex_lock(&channel_mtx);
- c = vio_channel_find(id, name, 0);
- pthread_mutex_unlock(&channel_mtx);
-
- if (c && c->fd == FREE) {
- c->uds_name = strdup(tmp);
- if (c->uds_name == NULL)
- goto error;
- if (vio_channel_open(c))
- goto error;
- }
+ if (c && c->fd == FREE) {
+ c->uds_name = strdup(tmp);
+ if (c->uds_name == NULL)
+ goto error;
+ if (vio_channel_open(c))
+ goto error;
}
}
}
--
2.35.3
++++++ 5a04b594-Add-channel_path-setting.patch ++++++
From 5a04b59495490bf921c661ff95754ea9955e7cd4 Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig(a)suse.com>
Date: Fri, 27 Sep 2024 09:20:52 -0600
Subject: [PATCH 1/3] Add channel_path setting to daemon config file
libvirt commit 8abc979b moved the target path for channel devices.
To accommodate libvirt deployments with and without that commit,
allow specifying the path in the daemon configuration file.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
README | 3 +++
include/virtio.h | 2 +-
vhostmd.dtd | 3 ++-
vhostmd.xml | 1 +
vhostmd/vhostmd.c | 12 ++++++++++--
vhostmd/virtio.c | 5 +++--
6 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/README b/README
index 579acd5..2ff7e8b 100644
--- a/README
+++ b/README
@@ -51,6 +51,7 @@ includes a few examples of user-defined metrics, which provide a
<size unit="k">256</size>
</disk>
<virtio>
+ <channel_path>/var/run/libvirt/qemu/channel</channel_path>
<max_channels>1024</max_channels>
<expiration_time>15</expiration_time>
</virtio>
@@ -300,6 +301,8 @@ between the host and VMs. Basically for a virtio serial device, QEMU creates
- 'connects' both to a 'communication channel'
It can be configured in the virtio section of the vhostmd configuration file.
+<channel_path> defines a path on the host where QEMU creates the unix domain
+sockets.
<max_channels> defines the maximum number of virtio channels/VMs supported
by the vhostmd instance with a default value of 1024.
<expiration_time> is the time after which the virtio serial channel of a VM
diff --git a/include/virtio.h b/include/virtio.h
index 1ff31a2..962adea 100644
--- a/include/virtio.h
+++ b/include/virtio.h
@@ -24,7 +24,7 @@
/*
* Initialize virtio layer
*/
-int virtio_init(int max_channel, int expiration_period);
+int virtio_init(char *channel_path, int max_channel, int expiration_period);
/*
* Main virtio function
diff --git a/vhostmd.dtd b/vhostmd.dtd
index 6c159dd..045860d 100644
--- a/vhostmd.dtd
+++ b/vhostmd.dtd
@@ -20,7 +20,8 @@ Virtual Host Metrics Daemon (vhostmd). Configuration file DTD
<!ELEMENT update_period (#PCDATA)>
<!ELEMENT transport (#PCDATA)>
-<!ELEMENT virtio (max_channels,expiration_time)>
+<!ELEMENT virtio (channel_path,max_channels,expiration_time)>
+<!ELEMENT channel_path (#PCDATA)>
<!ELEMENT max_channels (#PCDATA)>
<!ELEMENT expiration_time (#PCDATA)>
diff --git a/vhostmd.xml b/vhostmd.xml
index 5c88d8c..0dff85d 100644
--- a/vhostmd.xml
+++ b/vhostmd.xml
@@ -34,6 +34,7 @@ the logical && operator must be replaced with "&&".
<size unit="k">256</size>
</disk>
<virtio>
+ <channel_path>/var/run/libvirt/qemu/channel</channel_path>
<max_channels>1024</max_channels>
<expiration_time>15</expiration_time>
</virtio>
diff --git a/vhostmd/vhostmd.c b/vhostmd/vhostmd.c
index 4426faf..88e89ac 100644
--- a/vhostmd/vhostmd.c
+++ b/vhostmd/vhostmd.c
@@ -105,6 +105,7 @@ static mdisk_header md_header =
};
static char *search_path = NULL;
static int transports = 0;
+static char *virtio_channel_path = NULL;
static int virtio_max_channels = 1024;
static int virtio_expiration_time = 15;
@@ -623,7 +624,14 @@ static int parse_config_file(const char *filename)
}
if (transports & VIRTIO) {
- if (vu_xpath_long("string(./globals/virtio/max_channels[1])", ctxt, &l) == 0)
+ virtio_channel_path = vu_xpath_string("string(./globals/virtio/channel_path[1])", ctxt);
+ if (virtio_channel_path == NULL) {
+ virtio_channel_path = strdup("/var/lib/libvirt/qemu/channel/target");
+ if (virtio_channel_path == NULL)
+ goto out;
+ }
+
+ if (vu_xpath_long("string(./globals/virtio/max_channels[1])", ctxt, &l) == 0)
virtio_max_channels = (int)l;
if (vu_xpath_long("string(./globals/virtio/expiration_time[1])", ctxt, &l) == 0)
@@ -980,7 +988,7 @@ static int vhostmd_run(int diskfd)
if (virtio_expiration_time < (update_period * 3))
virtio_expiration_time = update_period * 3;
- if (virtio_init(virtio_max_channels, virtio_expiration_time)) {
+ if (virtio_init(virtio_channel_path, virtio_max_channels, virtio_expiration_time)) {
vu_buffer_delete(buf);
return -1;
}
diff --git a/vhostmd/virtio.c b/vhostmd/virtio.c
index 98340ce..d2d07bf 100644
--- a/vhostmd/virtio.c
+++ b/vhostmd/virtio.c
@@ -68,7 +68,7 @@ static channel_t *channel = NULL;
static id_map_t *id_map = NULL;
static time_t exp_period = 0;
-static const char *channel_path = "/var/lib/libvirt/qemu/channel/target";
+static const char *channel_path = NULL;
static const char *channel_name = "org.github.vhostmd.1";
static int channel_max = 0;
static volatile int channel_count = 0;
@@ -572,13 +572,14 @@ static void vio_handle_io(unsigned epoll_wait_ms)
* Once the channel is added to epoll the vu_buffer can be accessed
* by the epoll_event.data.ptr.
*/
-int virtio_init(int _max_channel, int _expiration_period)
+int virtio_init(char *_channel_path, int _max_channel, int _expiration_period)
{
int i;
if (virtio_status == VIRTIO_INIT) {
pthread_mutex_init(&channel_mtx, NULL);
+ channel_path = _channel_path;
channel_max = _max_channel;
exp_period = _expiration_period;
channel_count = 0;
--
2.35.3
++++++ 9d282891-Fix-parsing-of-vmstat-output.patch ++++++
From 9d282891eaaeebf1b94c67314d97e55a0b58d9c2 Mon Sep 17 00:00:00 2001
From: Jim Fehlig <jfehlig(a)suse.com>
Date: Fri, 27 Sep 2024 13:25:58 -0600
Subject: [PATCH 3/3] Fix parsing of vmstat output
The output of `vmstat -s`, which is used to calculate the Paged{In,Out}Memory
metrics, changed from "pages paged {in,out}" to "K paged {in,out}" in procps4.
Change the associated actions to match against the new output.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
vhostmd.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/vhostmd.xml b/vhostmd.xml
index 0dff85d..c957d1d 100644
--- a/vhostmd.xml
+++ b/vhostmd.xml
@@ -98,13 +98,13 @@ the logical && operator must be replaced with "&&".
<metric type="uint64" context="host">
<name>PagedInMemory</name>
<action>
- vmstat -s | awk '/pages paged in/ {printf "%d\n", $1 / 1024 * $(getconf PAGESIZE) / 1024;}'
+ vmstat -s | awk '/K paged in/ {printf "%d\n", $1;}'
</action>
</metric>
<metric type="uint64" context="host">
<name>PagedOutMemory</name>
<action>
- vmstat -s | awk '/pages paged out/ {printf "%d\n", $1 / 1024 * $(getconf PAGESIZE) / 1024;}'
+ vmstat -s | awk '/K paged out/ {printf "%d\n", $1;}'
</action>
</metric>
<metric type="group" context="host">
--
2.35.3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gajim for openSUSE:Factory checked in at 2024-10-02 21:33:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gajim (Old)
and /work/SRC/openSUSE:Factory/.gajim.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gajim"
Wed Oct 2 21:33:16 2024 rev:69 rq:1204974 version:1.9.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/gajim/gajim.changes 2024-09-20 17:13:27.887363094 +0200
+++ /work/SRC/openSUSE:Factory/.gajim.new.19354/gajim.changes 2024-10-02 21:33:39.471063439 +0200
@@ -1,0 +2,16 @@
+Tue Oct 1 08:56:39 UTC 2024 - Alexei Sorokin <sor.alexei(a)meowr.ru>
+
+- Update to version 1.9.5:
+ * DebugConsole: Show "Log" when opening the dialogue.
+ * DebugConsole: Improve search for XML logs.
+ * Datafroms: Display text-multi fields without scrolled window.
+ * Inform user when referenced message cannot be found.
+ * Move chat state indicator above message input.
+ * Preview: Update preview object while updating progress.
+ * Dataforms: Don’t try to calculate label size.
+ * Groupchat: Wrap long nicknames in subject row.
+ * StartChat: Fix global search results missing the name in some
+ cases.
+ * Build: Build translations for all distributions again.
+
+-------------------------------------------------------------------
Old:
----
gajim-1.9.4.tar.gz
New:
----
gajim-1.9.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gajim.spec ++++++
--- /var/tmp/diff_new_pack.qf7TQV/_old 2024-10-02 21:33:40.207094038 +0200
+++ /var/tmp/diff_new_pack.qf7TQV/_new 2024-10-02 21:33:40.211094205 +0200
@@ -25,7 +25,7 @@
%{?sle15_python_module_pythons}
%endif
Name: gajim
-Version: 1.9.4
+Version: 1.9.5
Release: 0
Summary: XMPP client written in Python and GTK
License: GPL-3.0-only
@@ -92,16 +92,12 @@
sed -i '/^Keywords/d' data/org.gajim.Gajim.desktop.in
%build
-%pyproject_wheel
python%{python_bin_suffix} ./make.py build --dist unix
-# FIXME: Build locales.
-python%{python_bin_suffix} ./make.py build --dist win
+%pyproject_wheel
%install
-%pyproject_install
python%{python_bin_suffix} ./make.py install --dist unix --prefix=%{buildroot}%{_prefix}
-# FIXME: Install locales.
-cp -a %{name}/data/locale %{buildroot}%{python_sitelib}/%{name}/data/
+%pyproject_install
mkdir -p %{buildroot}%{_datadir}/
mv %{buildroot}{%{python_sitelib}/%{name}/data,%{_datadir}/%{name}}/
++++++ gajim-1.9.4.tar.gz -> gajim-1.9.5.tar.gz ++++++
++++ 13380 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rcshist for openSUSE:Factory checked in at 2024-10-02 21:33:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rcshist (Old)
and /work/SRC/openSUSE:Factory/.rcshist.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rcshist"
Wed Oct 2 21:33:05 2024 rev:2 rq:1204941 version:t20240419
Changes:
--------
--- /work/SRC/openSUSE:Factory/rcshist/rcshist.changes 2024-02-12 18:55:37.449896478 +0100
+++ /work/SRC/openSUSE:Factory/.rcshist.new.19354/rcshist.changes 2024-10-02 21:33:32.810786549 +0200
@@ -1,0 +2,6 @@
+Wed Apr 24 14:08:01 UTC 2024 - Manfred Schwarb <manfred99(a)gmx.ch>
+
+- update to snapshot t20240419:
+ * configure updates
+
+-------------------------------------------------------------------
Old:
----
rcshist-snapshots-t20230130.tar.gz
New:
----
rcshist-snapshots-t20240419.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rcshist.spec ++++++
--- /var/tmp/diff_new_pack.6fPp5q/_old 2024-10-02 21:33:33.314807503 +0200
+++ /var/tmp/diff_new_pack.6fPp5q/_new 2024-10-02 21:33:33.314807503 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rcshist
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: rcshist
-Version: t20230130
+Version: t20240419
Release: 0
Summary: Display RCS change history
License: BSD-Source-Code
@@ -40,6 +40,8 @@
%install
%make_install
+%check
+
%files
%license COPYING
%doc CHANGES
++++++ rcshist-snapshots-t20230130.tar.gz -> rcshist-snapshots-t20240419.tar.gz ++++++
++++ 3175 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/CHANGES new/rcshist-snapshots-t20240419/CHANGES
--- old/rcshist-snapshots-t20230130/CHANGES 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/CHANGES 2024-04-19 23:32:21.000000000 +0200
@@ -1,3 +1,25 @@
+2024-04-19 Thomas E. Dickey <dickey(a)invisible-island.net>
+
+ * package/debian/changelog, package/rcshist.spec: bump
+
+ * namedobjlist.c, rcshist.c, strbuf.c, rcsfile.c, misc.c: standard-C
+
+ * package/debian/copyright, COPYING: bump
+
+ * configure: regen
+
+2023-12-27 Thomas E. Dickey <dickey(a)invisible-island.net>
+
+ * config.sub: 2023-12-27
+
+2023-12-02 Thomas E. Dickey <dickey(a)invisible-island.net>
+
+ * config.guess: 2023-12-02
+
+2023-11-23 Thomas E. Dickey <dickey(a)invisible-island.net>
+
+ * aclocal.m4: resync with my-autoconf
+
2023-01-30 Thomas E. Dickey <dickey(a)invisible-island.net>
* package/debian/copyright, package/debian/changelog,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/COPYING new/rcshist-snapshots-t20240419/COPYING
--- old/rcshist-snapshots-t20230130/COPYING 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/COPYING 2024-04-19 23:32:21.000000000 +0200
@@ -1,4 +1,4 @@
-Copyright 2015-2022,2023 Thomas E. Dickey
+Copyright 2015-2023,2024 Thomas E. Dickey
Copyright (c) 2001 Ian Dowse <iedowse(a)maths.tcd.ie>
All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/misc.c new/rcshist-snapshots-t20240419/misc.c
--- old/rcshist-snapshots-t20230130/misc.c 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/misc.c 2024-04-19 23:32:21.000000000 +0200
@@ -30,7 +30,7 @@
#include "misc.h"
struct textlist *
-textlist_create() {
+textlist_create(void) {
struct textlist *tlp;
tlp = malloc(sizeof(*tlp));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/namedobjlist.c new/rcshist-snapshots-t20240419/namedobjlist.c
--- old/rcshist-snapshots-t20230130/namedobjlist.c 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/namedobjlist.c 2024-04-19 23:32:21.000000000 +0200
@@ -22,7 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: namedobjlist.c,v 1.6 2015/03/01 17:04:37 tom Exp $
+ * $Id: namedobjlist.c,v 1.7 2024/04/19 20:39:31 tom Exp $
*/
#include <stdio.h>
#include <stdlib.h>
@@ -69,7 +69,7 @@
}
Namedobjlist *
-namedobjlist_create() {
+namedobjlist_create(void) {
Namedobjlist *nol = malloc(sizeof(*nol));
TAILQ_INIT(&nol->all);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/package/debian/changelog new/rcshist-snapshots-t20240419/package/debian/changelog
--- old/rcshist-snapshots-t20230130/package/debian/changelog 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/package/debian/changelog 2024-04-19 23:32:21.000000000 +0200
@@ -1,3 +1,9 @@
+rcshist (1.04+20240419) unstable; urgency=low
+
+ * maintenance updates
+
+ -- Thomas E. Dickey <dickey(a)invisible-island.net> Fri, 19 Apr 2024 16:03:58 -0400
+
rcshist (1.04+20230130) unstable; urgency=low
* maintenance updates
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/package/debian/copyright new/rcshist-snapshots-t20240419/package/debian/copyright
--- old/rcshist-snapshots-t20230130/package/debian/copyright 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/package/debian/copyright 2024-04-19 23:32:21.000000000 +0200
@@ -29,7 +29,7 @@
Files: aclocal.m4
Licence: other-BSD
-Copyright: 2015-2022,2023 by Thomas E. Dickey
+Copyright: 2015-2023,2024 by Thomas E. Dickey
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
@@ -86,7 +86,7 @@
shared with many OS's install programs.
Files: debian/*
-Copyright: 2015-2022,2023 Thomas E. Dickey
+Copyright: 2015-2023,2024 Thomas E. Dickey
Licence: other-BSD
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/package/rcshist.spec new/rcshist-snapshots-t20240419/package/rcshist.spec
--- old/rcshist-snapshots-t20230130/package/rcshist.spec 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/package/rcshist.spec 2024-04-19 23:32:21.000000000 +0200
@@ -1,8 +1,8 @@
Summary: display RCS change history
%define AppProgram rcshist
%define AppVersion 1.04
-%define AppRelease 20230130
-# $Id: rcshist.spec,v 1.7 2023/01/31 00:58:32 tom Exp $
+%define AppRelease 20240419
+# $Id: rcshist.spec,v 1.8 2024/04/19 20:51:53 tom Exp $
Name: %{AppProgram}
Version: %{AppVersion}
Release: %{AppRelease}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/rcsfile.c new/rcshist-snapshots-t20240419/rcsfile.c
--- old/rcshist-snapshots-t20230130/rcsfile.c 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/rcsfile.c 2024-04-19 23:32:21.000000000 +0200
@@ -22,7 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: rcsfile.c,v 1.19 2015/03/01 17:04:50 tom Exp $
+ * $Id: rcsfile.c,v 1.20 2024/04/19 20:37:36 tom Exp $
*/
#include <sys/stat.h>
#include <sys/types.h>
@@ -992,7 +992,7 @@
}
static struct rcspatch *
-patch_create() {
+patch_create(void) {
struct rcspatch *pp;
pp = malloc(sizeof(*pp));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/rcshist.c new/rcshist-snapshots-t20240419/rcshist.c
--- old/rcshist-snapshots-t20230130/rcshist.c 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/rcshist.c 2024-04-19 23:32:21.000000000 +0200
@@ -22,7 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: rcshist.c,v 1.13 2015/03/01 14:26:14 tom Exp $
+ * $Id: rcshist.c,v 1.14 2024/04/19 20:38:14 tom Exp $
*/
#include <sys/types.h>
#include <sys/stat.h>
@@ -49,7 +49,7 @@
int mflag;
void
-usage() {
+usage(void) {
fprintf(stderr,
"Usage: %s [-mR] [-r<branch|MAIN|ALL>] <filename> ...\n"
" %s -L<revision> <filename>\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/rcshist-snapshots-t20230130/strbuf.c new/rcshist-snapshots-t20240419/strbuf.c
--- old/rcshist-snapshots-t20230130/strbuf.c 2023-01-31 09:49:46.000000000 +0100
+++ new/rcshist-snapshots-t20240419/strbuf.c 2024-04-19 23:32:21.000000000 +0200
@@ -22,7 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: strbuf.c,v 1.5 2018/03/25 22:33:42 tom Exp $
+ * $Id: strbuf.c,v 1.6 2024/04/19 20:37:54 tom Exp $
*/
#include <stdio.h>
#include <stdlib.h>
@@ -36,7 +36,7 @@
#define STRBUF_MIN 10
static void sb_pullupto(struct strbuf *sb, int len);
-struct strbuf *sb_create() {
+struct strbuf *sb_create(void) {
struct strbuf *sb = malloc(sizeof(*sb));
sb->buf = NULL;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package wine for openSUSE:Factory checked in at 2024-10-02 21:33:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wine (Old)
and /work/SRC/openSUSE:Factory/.wine.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wine"
Wed Oct 2 21:33:02 2024 rev:450 rq:1204533 version:9.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/wine/wine.changes 2024-09-09 14:44:19.982430641 +0200
+++ /work/SRC/openSUSE:Factory/.wine.new.19354/wine.changes 2024-10-02 21:33:29.738658830 +0200
@@ -1,0 +2,11 @@
+Sun Sep 22 14:50:04 UTC 2024 - Marcus Meissner <meissner(a)suse.com>
+
+- Updated to 9.18 release
+ - New Media Foundation backend using FFMpeg.
+ - Initial support for network sessions in DirectPlay.
+ - New Desktop Control Panel applet.
+ - Various bug fixes.
+- update staging to 9.18 release
+- buildrequire ffmpeg
+
+-------------------------------------------------------------------
Old:
----
wine-9.17.tar.xz
wine-9.17.tar.xz.sign
wine-staging-9.17.tar.xz
New:
----
wine-9.18.tar.xz
wine-9.18.tar.xz.sign
wine-staging-9.18.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wine.spec ++++++
--- /var/tmp/diff_new_pack.WSB3If/_old 2024-10-02 21:33:30.538692091 +0200
+++ /var/tmp/diff_new_pack.WSB3If/_new 2024-10-02 21:33:30.538692091 +0200
@@ -41,8 +41,8 @@
%endif
# needs to be on top due to usage of %version macro below
-%define realver 9.17
-Version: 9.17
+%define realver 9.18
+Version: 9.18
Release: 0
%if "%{flavor}" != ""
@@ -133,6 +133,7 @@
Requires: mingw32-libz
%endif
%endif
+BuildRequires: ffmpeg-devel
BuildRequires: systemd-devel
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(gl)
@@ -196,7 +197,7 @@
ExclusiveArch: %{ix86} x86_64 ppc armv7l armv7hl aarch64
%if %{staging}
# upstream patch target version
-%define staging_version 9.17
+%define staging_version 9.18
Source100: wine-staging-%{staging_version}.tar.xz
BuildRequires: gtk3-devel
BuildRequires: libOSMesa-devel
++++++ _service ++++++
--- /var/tmp/diff_new_pack.WSB3If/_old 2024-10-02 21:33:30.606694918 +0200
+++ /var/tmp/diff_new_pack.WSB3If/_new 2024-10-02 21:33:30.606694918 +0200
@@ -3,7 +3,7 @@
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="url">https://github.com/wine-staging/wine-staging.git</param>
- <param name="revision">refs/tags/v9.17</param>
+ <param name="revision">refs/tags/v9.18</param>
<param name="match-tag">v*.*</param>
<param name="scm">git</param>
</service>
++++++ wine-9.17.tar.xz -> wine-9.18.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-9.17.tar.xz /work/SRC/openSUSE:Factory/.wine.new.19354/wine-9.18.tar.xz differ: char 15, line 1
++++++ wine-staging-9.17.tar.xz -> wine-staging-9.18.tar.xz ++++++
/work/SRC/openSUSE:Factory/wine/wine-staging-9.17.tar.xz /work/SRC/openSUSE:Factory/.wine.new.19354/wine-staging-9.18.tar.xz differ: char 15, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package patterns-microos for openSUSE:Factory checked in at 2024-10-02 21:32:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patterns-microos (Old)
and /work/SRC/openSUSE:Factory/.patterns-microos.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patterns-microos"
Wed Oct 2 21:32:59 2024 rev:92 rq:1205198 version:5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/patterns-microos/patterns-microos.changes 2024-09-10 21:12:21.663856972 +0200
+++ /work/SRC/openSUSE:Factory/.patterns-microos.new.19354/patterns-microos.changes 2024-10-02 21:33:27.858580669 +0200
@@ -1,0 +2,6 @@
+Wed Oct 2 12:09:04 UTC 2024 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Enahnce supplements that were so far triggering on grub2 to also
+ trigger on grub2-common.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patterns-microos.spec ++++++
--- /var/tmp/diff_new_pack.R9WGtV/_old 2024-10-02 21:33:28.314599628 +0200
+++ /var/tmp/diff_new_pack.R9WGtV/_new 2024-10-02 21:33:28.314599628 +0200
@@ -68,9 +68,9 @@
Requires: coreutils
Requires: coreutils-systemd
Requires: glibc
-Requires: (grub2-branding-openSUSE if grub2)
+Requires: (grub2-branding-openSUSE if (grub2 or grub2-common))
### Packages formerly provided by bootloader
-Requires: (grub2-snapper-plugin if grub2)
+Requires: (grub2-snapper-plugin if (grub2 or grub2-common))
###
Suggests: busybox-hostname
Requires: NetworkManager
@@ -104,7 +104,7 @@
Suggests: busybox-gzip
Requires: iputils
Requires: issue-generator
-Requires: (health-checker if grub2)
+Requires: (health-checker if (grub2 or grub2-common))
Requires: (health-checker-plugins-MicroOS if health-checker)
%ifnarch %{arm}
Requires: kdump
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kiwi-templates-Minimal for openSUSE:Factory checked in at 2024-10-02 21:32:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi-templates-Minimal (Old)
and /work/SRC/openSUSE:Factory/.kiwi-templates-Minimal.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi-templates-Minimal"
Wed Oct 2 21:32:59 2024 rev:21 rq:1205165 version:84.87.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi-templates-Minimal/kiwi-templates-Minimal.changes 2024-08-29 15:43:00.956355493 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi-templates-Minimal.new.19354/kiwi-templates-Minimal.changes 2024-10-02 21:33:26.962543418 +0200
@@ -1,0 +2,10 @@
+Tue Oct 1 16:07:08 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Requires systemd-boot in the sdboot flavor
+
+-------------------------------------------------------------------
+Thu Sep 5 13:55:46 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Remove root from /etc/kernel/cmdline during image creation
+
+-------------------------------------------------------------------
@@ -4,0 +15,10 @@
+
+-------------------------------------------------------------------
+Tue Aug 13 13:53:32 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Use the new grub2-bls subpackage
+
+-------------------------------------------------------------------
+Fri Aug 9 08:45:16 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Enable disk-encryption-tool-enroll.service
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Minimal.kiwi ++++++
--- /var/tmp/diff_new_pack.orynT5/_old 2024-10-02 21:33:27.590569527 +0200
+++ /var/tmp/diff_new_pack.orynT5/_new 2024-10-02 21:33:27.594569693 +0200
@@ -403,20 +403,23 @@
<packages type="image" profiles="kvm-and-xen-sdboot,kvm-and-xen-grub-bls">
<!-- kernel-default-base lacks dm-crypt -->
<package name="kernel-default-base"/>
-
<package name="sdbootutil-snapper"/>
<package name="efibootmgr"/>
<package name="uefi_mbr" arch="x86_64"/>
-
<package name="systemd-experimental"/> <!-- XXX: pulls in python but needed for tpm files -->
-
<package name="disk-encryption-tool"/>
<package name="dracut-pcr-signature"/>
</packages>
+ <packages type="image" profiles="kvm-and-xen-sdboot">
+ <package name="systemd-boot"/>
+ </packages>
+
<packages type="image" profiles="kvm-and-xen-grub-bls">
- <package name="grub2-x86_64-efi" arch="x86_64"/>
- <package name="grub2-arm64-efi" arch="aarch64"/>
+ <package name="patterns-base-bootloader"/>
+ <package name="uefi_mbr" arch="x86_64"/>
+ <package name="grub2-x86_64-efi-bls" arch="x86_64"/>
+ <package name="grub2-arm64-efi-bls" arch="aarch64"/>
</packages>
<packages type="image" profiles="VMware">
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.orynT5/_old 2024-10-02 21:33:27.682573352 +0200
+++ /var/tmp/diff_new_pack.orynT5/_new 2024-10-02 21:33:27.686573518 +0200
@@ -147,5 +147,7 @@
rpm -q systemd-boot && loader_type="systemd-boot"
rpm -q grub2 && loader_type="grub2-bls"
echo "LOADER_TYPE=\"${loader_type}\"" >> /etc/sysconfig/bootloader
+
+ [ -e /var/lib/YaST2/reconfig_system ] && systemctl enable disk-encryption-tool-enroll.service
fi
++++++ disk.sh ++++++
--- /var/tmp/diff_new_pack.orynT5/_old 2024-10-02 21:33:27.702574183 +0200
+++ /var/tmp/diff_new_pack.orynT5/_new 2024-10-02 21:33:27.706574350 +0200
@@ -6,8 +6,6 @@
# [[ "$kiwi_profiles" == *"kvm-and-xen-"* ]]
if rpm -q sdbootutil; then
- rootuuid=$(findmnt / -n --output uuid)
- sed -i -e "s,\$, root=UUID=$rootuuid," /etc/kernel/cmdline
arch="$(uname -m)"
case "$arch" in
aarch64) arch=aa64 ;;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sdbootutil for openSUSE:Factory checked in at 2024-10-02 21:32:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sdbootutil (Old)
and /work/SRC/openSUSE:Factory/.sdbootutil.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sdbootutil"
Wed Oct 2 21:32:57 2024 rev:33 rq:1205163 version:1+git20241002.7da4a47
Changes:
--------
--- /work/SRC/openSUSE:Factory/sdbootutil/sdbootutil.changes 2024-09-04 13:22:26.884303478 +0200
+++ /work/SRC/openSUSE:Factory/.sdbootutil.new.19354/sdbootutil.changes 2024-10-02 21:33:25.074464924 +0200
@@ -1,0 +2,27 @@
+Wed Oct 02 09:15:48 UTC 2024 - aplanas(a)suse.com
+
+- Update to version 1+git20241002.7da4a47:
+ * Do not specify bootloader requirement
+
+-------------------------------------------------------------------
+Wed Oct 02 07:43:16 UTC 2024 - aplanas(a)suse.com
+
+- Update to version 1+git20241002.7b8957c:
+ * Requires udev for bootctl
+ * Use chroot instead of --sysroot in dracut
+ * Replace cut with idiomatic code
+ * Show recovery PIN generated by systemd-pcrlock
+
+-------------------------------------------------------------------
+Thu Sep 12 14:03:12 UTC 2024 - aplanas(a)suse.com
+
+- Update to version 1+git20240912.02d30ed:
+ * Generate predictions for update_entry
+
+-------------------------------------------------------------------
+Thu Sep 05 13:53:58 UTC 2024 - aplanas(a)suse.com
+
+- Update to version 1+git20240905.e7ca8cf:
+ * Replace root=UUID= with root=device
+
+-------------------------------------------------------------------
Old:
----
sdbootutil-1+git20240903.81f1f40.obscpio
New:
----
sdbootutil-1+git20241002.7da4a47.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sdbootutil.spec ++++++
--- /var/tmp/diff_new_pack.mZDykE/_old 2024-10-02 21:33:25.866497851 +0200
+++ /var/tmp/diff_new_pack.mZDykE/_new 2024-10-02 21:33:25.866497851 +0200
@@ -27,24 +27,26 @@
%define git_version %{nil}
%endif
Name: sdbootutil
-Version: 1+git20240903.81f1f40%{git_version}
+Version: 1+git20241002.7da4a47%{git_version}
Release: 0
Summary: script to install shim with sd-boot
License: MIT
URL: https://en.opensuse.org/openSUSE:Usr_merge
Source: %{name}-%{version}.tar
Requires: dialog
+Requires: dracut-pcr-signature
Requires: efibootmgr
Requires: jq
Requires: pcr-oracle
Requires: sed
-Requires: systemd-boot
# While systemd-pcrlock is in experimental
Requires: systemd-experimental
-Requires: dracut-pcr-signature
-Supplements: (systemd-boot and shim)
+# While bootctl is in udev
+Requires: udev
Requires: (%{name}-snapper if (snapper and btrfsprogs))
Requires: (%{name}-tukit if read-only-root-fs)
+Supplements: (grub2-x86_64-efi-bls and shim)
+Supplements: (systemd-boot and shim)
ExclusiveArch: aarch64 ppc64le riscv64 x86_64
%description
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.mZDykE/_old 2024-10-02 21:33:25.914499847 +0200
+++ /var/tmp/diff_new_pack.mZDykE/_new 2024-10-02 21:33:25.918500013 +0200
@@ -3,6 +3,6 @@
<param name="url">https://github.com/lnussel/sdbootutil.git</param>
<param name="changesrevision">708592a5033bb41d14e378172466ae9e90dfb3c4</param></service><service name="tar_scm">
<param name="url">https://github.com/openSUSE/sdbootutil.git</param>
- <param name="changesrevision">81f1f40666b325a807fb4d220782cfce642f2160</param></service></servicedata>
+ <param name="changesrevision">7da4a479cf89b2d20e9cc81e15ba58cf32294735</param></service></servicedata>
(No newline at EOF)
++++++ sdbootutil-1+git20240903.81f1f40.obscpio -> sdbootutil-1+git20241002.7da4a47.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdbootutil-1+git20240903.81f1f40/sdbootutil new/sdbootutil-1+git20241002.7da4a47/sdbootutil
--- old/sdbootutil-1+git20240903.81f1f40/sdbootutil 2024-09-03 14:09:58.000000000 +0200
+++ new/sdbootutil-1+git20241002.7da4a47/sdbootutil 2024-10-02 11:14:41.000000000 +0200
@@ -327,7 +327,7 @@
{
local subvol="$1"
# - delete BOOT_IMAGE= and initrd=
- # - make sure root= refers to uuid
+ # - replace or add root= to refers to UUID or mapped device (if encrypted)
# - replace or add rootflags to point at correct subvolume
# - replace or add systemd.machine-id to match current machine-id
#
@@ -341,9 +341,12 @@
# already there). Since we always operate on the same line,
# "empty" t jumps are used to reset the condition after very
# s///.
- local sed_arguments=("-e s/[ \t]\+/ /g"\
- "-e s/\<\(BOOT_IMAGE\|initrd\)=[^ ]* \?//"\
- "-e s/\<root=[^ ]*/root=UUID=$root_uuid/;tb;s,\$, root=UUID=$root_uuid,;tc;:c;:b")
+ local root_param="UUID=$root_uuid"
+ [ -z "$root_device_is_crypt" ] || root_param="$root_device"
+ local sed_arguments=("-e s/[ \t]\+/ /g"
+ "-e s/\<\(BOOT_IMAGE\|initrd\)=[^ ]* \?//"
+ "-e s/\$//;ta;:a"
+ "-e s,\<root=[^ ]*,root=$root_param,;tb;s,\$, root=$root_param,;tc;:c;:b")
[ -z "$have_snapshots" ] || sed_arguments+=("-e s,\<rootflags=subvol=[^ ]*,rootflags=subvol=$subvol,;td;s,\$, rootflags=subvol=$subvol,;te;:e;:d")
[ -z "$machine_id" ] || sed_arguments+=("-e s,\<systemd.machine_id=[^ ]*,systemd.machine_id=$machine_id,;tf;s,\$, systemd.machine_id=$machine_id,;tg;:g;:f")
sed "${sed_arguments[@]}"
@@ -362,7 +365,7 @@
local ext="${2:-}"
[ -z "$ext" ] || ext="|$ext"
- update_entries jq "[.[]|select(has(\"options\"))|select(.options|test(\"root=UUID=$root_uuid .*rootflags=subvol=$subvol\")$ext)]"
+ update_entries jq "[.[]|select(has(\"options\"))|select(.options|test(\"root=(?:UUID=$root_uuid|$root_device) .*rootflags=subvol=$subvol\")$ext)]"
}
update_entries_for_snapshot()
@@ -379,7 +382,7 @@
update_entries_for_this_system()
{
- update_entries jq "[.[]|select(has(\"options\"))|select(.options|test(\"root=UUID=$root_uuid\"))]"
+ update_entries jq "[.[]|select(has(\"options\"))|select(.options|test(\"root=(?:UUID=$root_uuid|$root_device)\"))]"
}
entry_conf_file()
@@ -607,6 +610,25 @@
return 1
}
+mount_chroot()
+{
+ local snapshot_dir="$1"
+
+ mount -t tmpfs -o size=10m tmpfs "$snapshot_dir/run"
+ for i in proc dev sys var tmp; do
+ mount --bind "/$i" "$snapshot_dir/$i"
+ done
+}
+
+umount_chroot()
+{
+ local snapshot_dir="$1"
+
+ for i in proc dev sys var tmp run; do
+ umount "$snapshot_dir/$i"
+ done
+}
+
mount_etc()
{
local snapshot_dir="$1"
@@ -728,21 +750,28 @@
/usr/bin/mkmoduleinitrd "${subvol#"${subvol_prefix}"}" "$kernel_version" "$tmpdir/initrd-$i"
elif ! reuse_initrd "$snapshot" "$subvol" "$kernel_version"; then
local snapshot_dir="/.snapshots/$snapshot/snapshot"
- local dracut_args=()
- dracut_args=('--force' '--tmpdir' '/var/tmp')
- if [ "$subvol" != "$root_subvol" ] && [ -n "$have_snapshots" ]; then
- dracut_args+=('--sysroot' "${snapshot_dir}" '--add-device' "$root_device")
- fi
+ local dracut_args=(
+ '--quiet'
+ '--reproducible'
+ '--force'
+ '--tmpdir' '/var/tmp'
+ )
log_info "generating new initrd"
+ [ "$subvol" != "$root_subvol" ] && [ -n "$have_snapshots" ] && mount_chroot "${snapshot_dir}"
# In MicroOS we need to be sure to have the same /etc
# inside the snapshot. For example, /etc/crypttab can
# have modifications in the overlay that will be
# visible once the snapshot is active, but the version
# in /.snashots is still the unmodified base
is_transactional && mount_etc "${snapshot_dir}"
- run_command_live_output dracut --quiet --reproducible "${dracut_args[@]}" "$tmpdir/initrd-0" "$kernel_version"
+ if [ "$subvol" != "$root_subvol" ] && [ -n "$have_snapshots" ]; then
+ run_command_live_output chroot "${snapshot_dir}" dracut "${dracut_args[@]}" "$tmpdir/initrd-0" "$kernel_version"
+ else
+ run_command_live_output dracut "${dracut_args[@]}" "$tmpdir/initrd-0" "$kernel_version"
+ fi
is_transactional && umount_etc "${snapshot_dir}"
+ [ "$subvol" != "$root_subvol" ] && [ -n "$have_snapshots" ] && umount_chroot "${snapshot_dir}"
fi
make_free_space "$snapshot" || err "No free space in $boot_root for new kernel"
@@ -1079,6 +1108,8 @@
echo "Updating $id"
update_entry_conf "$conf" "$snapshot"
+ # This action will require to update the PCR predictions
+ update_predictions=1
}
update_all_entries()
@@ -1954,16 +1985,30 @@
elif [ -n "$keyid" ]; then
pin="$(keyctl pipe "$keyid")"
extra=("--recovery-pin=yes")
+ else
+ # No PIN was provided, systemd-pcrlock will generate one
+ # Add this argument to show it
+ extra=("--recovery-pin=show")
fi
- PIN="$pin" pcrlock --pcr="$pcrs" "${extra[@]}" make-policy || {
+ local output
+ if ! output="$(PIN="$pin" pcrlock --pcr="$pcrs" "${extra[@]}" make-policy)"; then
echo "Error creating the policy!"
if [ -z "$pin" ]; then
echo "Please, provide the recovery PIN to register the new policy"
else
echo "Provided PIN incorrect or TPM2 locked after too many retries"
fi
- }
+ elif [ -z "$pin" ]; then
+ if ! echo "$output" | grep "recovery PIN"; then
+ echo "Unable to find the generated recovery PIN"
+ elif [ -x /usr/bin/qrencode ]; then
+ echo "You can also scan it with your mobile phone:"
+ local split
+ IFS=":" read -r -a split <<< "$output"
+ echo "${split[1]}" | qrencode -t utf8i
+ fi
+ fi
# Publish the assets in the ESP, so can be imported by
# dracut-pcr-signature
@@ -2531,6 +2576,8 @@
# shellcheck disable=SC2016
eval "$(bootctl 2>/dev/null | sed -ne 's/Firmware Arch: *\(\w\+\)/firmware_arch="\1"/p;s/ *token: *\(\w\+\)/entry_token="\1"/p;s, *\$BOOT: *\([^ ]\+\).*,boot_root="\1",p')"
read -r root_uuid root_device < <(findmnt / -v -r -n -o UUID,SOURCE)
+root_device_is_crypt=
+[ "$(lsblk --noheadings -o TYPE "$root_device")" = "crypt" ] && root_device_is_crypt=1
root_subvol=""
subvol_prefix=""
if [ "$(stat -f -c %T /)" = "btrfs" ] && [ -d /.snapshots ]; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdbootutil-1+git20240903.81f1f40/sdbootutil.spec new/sdbootutil-1+git20241002.7da4a47/sdbootutil.spec
--- old/sdbootutil-1+git20240903.81f1f40/sdbootutil.spec 2024-09-03 14:09:58.000000000 +0200
+++ new/sdbootutil-1+git20241002.7da4a47/sdbootutil.spec 2024-10-02 11:14:41.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package sdbootutil
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -33,18 +33,20 @@
License: MIT
URL: https://en.opensuse.org/openSUSE:Usr_merge
Source: %{name}-%{version}.tar
+Requires: dracut-pcr-signature
+Requires: dialog
Requires: efibootmgr
-Requires: systemd-boot
Requires: jq
-Requires: sed
Requires: pcr-oracle
-Requires: dialog
+Requires: sed
# While systemd-pcrlock is in experimental
Requires: systemd-experimental
-Requires: dracut-pcr-signature
-Supplements: (systemd-boot and shim)
+# While bootctl is in udev
+Requires: udev
Requires: (%{name}-snapper if (snapper and btrfsprogs))
Requires: (%{name}-tukit if read-only-root-fs)
+Supplements: (systemd-boot and shim)
+Supplements: (grub2-x86_64-efi-bls and shim)
ExclusiveArch: aarch64 ppc64le riscv64 x86_64
%description
++++++ sdbootutil.obsinfo ++++++
--- /var/tmp/diff_new_pack.mZDykE/_old 2024-10-02 21:33:26.050505501 +0200
+++ /var/tmp/diff_new_pack.mZDykE/_new 2024-10-02 21:33:26.054505668 +0200
@@ -1,5 +1,5 @@
name: sdbootutil
-version: 1+git20240903.81f1f40
-mtime: 1725365398
-commit: 81f1f40666b325a807fb4d220782cfce642f2160
+version: 1+git20241002.7da4a47
+mtime: 1727860481
+commit: 7da4a479cf89b2d20e9cc81e15ba58cf32294735
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package installation-images for openSUSE:Factory checked in at 2024-10-02 21:32:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/installation-images (Old)
and /work/SRC/openSUSE:Factory/.installation-images.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "installation-images"
Wed Oct 2 21:32:50 2024 rev:219 rq:1199009 version:17.138
Changes:
--------
--- /work/SRC/openSUSE:Factory/installation-images/installation-images.changes 2024-08-10 19:06:02.473400013 +0200
+++ /work/SRC/openSUSE:Factory/.installation-images.new.19354/installation-images.changes 2024-10-02 21:33:13.898000281 +0200
@@ -1,0 +2,7 @@
+Thu Sep 5 14:43:08 UTC 2024 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/installation-images#736
+- follow grub2 package restructuring
+- 17.138
+
+--------------------------------------------------------------------
Old:
----
installation-images-17.137.tar.xz
New:
----
installation-images-17.138.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ installation-images.spec ++++++
--- /var/tmp/diff_new_pack.cTvIs4/_old 2024-10-02 21:33:14.902042022 +0200
+++ /var/tmp/diff_new_pack.cTvIs4/_new 2024-10-02 21:33:14.906042188 +0200
@@ -690,7 +690,7 @@
Summary: Installation Image Files for %theme
License: GPL-2.0-or-later
Group: Metapackages
-Version: 17.137
+Version: 17.138
Release: 0
Provides: installation-images = %version-%release
Conflicts: otherproviders(installation-images)
++++++ installation-images-17.137.tar.xz -> installation-images-17.138.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-17.137/VERSION new/installation-images-17.138/VERSION
--- old/installation-images-17.137/VERSION 2024-08-08 12:06:01.000000000 +0200
+++ new/installation-images-17.138/VERSION 2024-09-05 16:43:08.000000000 +0200
@@ -1 +1 @@
-17.137
+17.138
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-17.137/changelog new/installation-images-17.138/changelog
--- old/installation-images-17.137/changelog 2024-08-08 12:06:01.000000000 +0200
+++ new/installation-images-17.138/changelog 2024-09-05 16:43:08.000000000 +0200
@@ -1,3 +1,7 @@
+2024-09-05: 17.138
+ - merge gh#openSUSE/installation-images#736
+ - follow grub2 package restructuring
+
2024-08-08: 17.137
- merge gh#openSUSE/installation-images#735
- bring back b16.pcf (bsc#1228691)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/installation-images-17.137/data/boot/theme.file_list new/installation-images-17.138/data/boot/theme.file_list
--- old/installation-images-17.137/data/boot/theme.file_list 2024-08-08 12:06:01.000000000 +0200
+++ new/installation-images-17.138/data/boot/theme.file_list 2024-09-05 16:43:08.000000000 +0200
@@ -43,8 +43,11 @@
R s/\r// grub2-efi/themes/<grub2_theme>/theme.txt
R s/title-text: ""/title-text: "<product_name>"/ grub2-efi/themes/<grub2_theme>/theme.txt
- grub2:
- m /usr/share/grub2/unicode.pf2 grub2-efi
+ if exists(grub2-common,/usr/share/grub2/unicode.pf2)
+ grub2-common:
+ else
+ grub2:
+ endif
+ m /usr/share/grub2/unicode.pf2 grub2-efi
endif
-
endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-httpbin for openSUSE:Factory checked in at 2024-10-02 21:32:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-httpbin (Old)
and /work/SRC/openSUSE:Factory/.python-httpbin.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-httpbin"
Wed Oct 2 21:32:49 2024 rev:10 rq:1204968 version:0.10.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-httpbin/python-httpbin.changes 2023-10-26 17:12:16.727552730 +0200
+++ /work/SRC/openSUSE:Factory/.python-httpbin.new.19354/python-httpbin.changes 2024-10-02 21:33:12.721951388 +0200
@@ -1,0 +2,8 @@
+Tue Oct 1 14:35:38 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 0.10.2
+ * Added support for Flask 3.0
+- Drop flask3.patch, merged upstream
+- Update Requires from setup.py
+
+-------------------------------------------------------------------
Old:
----
flask3.patch
httpbin-0.10.1.tar.gz
New:
----
httpbin-0.10.2.tar.gz
BETA DEBUG BEGIN:
Old: * Added support for Flask 3.0
- Drop flask3.patch, merged upstream
- Update Requires from setup.py
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-httpbin.spec ++++++
--- /var/tmp/diff_new_pack.OKhcQI/_old 2024-10-02 21:33:13.221972176 +0200
+++ /var/tmp/diff_new_pack.OKhcQI/_new 2024-10-02 21:33:13.221972176 +0200
@@ -19,14 +19,12 @@
%define modname httpbin
%{?sle15_python_module_pythons}
Name: python-httpbin
-Version: 0.10.1
+Version: 0.10.2
Release: 0
Summary: HTTP Request and Response Service
License: MIT
URL: https://github.com/psf/httpbin
Source: https://files.pythonhosted.org/packages/source/h/%{modname}/%{modname}-%{ve…
-# PATCH-FIX-UPSTREAM https://github.com/psf/httpbin/pull/29 Support Flask 3.0
-Patch: flask3.patch
BuildRequires: %{python_module Brotli}
BuildRequires: %{python_module Flask >= 2.2.4}
BuildRequires: %{python_module Werkzeug >= 2.0}
@@ -41,7 +39,7 @@
BuildRequires: python-rpm-macros
Requires: python-Brotli
Requires: python-Flask >= 2.2.4
-Requires: python-Werkzeug >= 2.0
+Requires: python-Werkzeug >= 2.2.2
Requires: python-decorator
Requires: python-flasgger
Requires: python-gevent
++++++ httpbin-0.10.1.tar.gz -> httpbin-0.10.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/PKG-INFO new/httpbin-0.10.2/PKG-INFO
--- old/httpbin-0.10.1/PKG-INFO 2023-08-29 00:56:26.236757000 +0200
+++ new/httpbin-0.10.2/PKG-INFO 2024-02-20 22:30:02.681246300 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: httpbin
-Version: 0.10.1
+Version: 0.10.2
Summary: HTTP Request and Response Service
Author-email: Kenneth Reitz <me(a)kennethreitz.org>
License: MIT or ISC
@@ -20,12 +20,25 @@
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
Description-Content-Type: text/markdown
-Provides-Extra: test
-Provides-Extra: mainapp
License-File: LICENSE
License-File: LICENSE.ISC
License-File: LICENSE.MIT
License-File: AUTHORS
+Requires-Dist: brotlicffi
+Requires-Dist: decorator
+Requires-Dist: flasgger
+Requires-Dist: flask>=2.2.4
+Requires-Dist: greenlet<3.0; python_version < "3.12"
+Requires-Dist: greenlet>=3.0.0a1; python_version >= "3.12.0rc0"
+Requires-Dist: importlib-metadata; python_version < "3.8"
+Requires-Dist: six
+Requires-Dist: werkzeug>=2.2.2
+Provides-Extra: test
+Requires-Dist: pytest; extra == "test"
+Requires-Dist: tox; extra == "test"
+Provides-Extra: mainapp
+Requires-Dist: gunicorn; extra == "mainapp"
+Requires-Dist: gevent; extra == "mainapp"
# httpbin(1): HTTP Request & Response Service
@@ -104,6 +117,8 @@
## Changelog
+* 0.10.2:
+ - Added support for Flask 3.0
* 0.10.1:
- Substantial housekeeping, dependency cleanup, image building, and packaging revamp, thanks to @exhuma and @mgorny
* 0.10.0:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/README.md new/httpbin-0.10.2/README.md
--- old/httpbin-0.10.1/README.md 2023-08-29 00:56:17.000000000 +0200
+++ new/httpbin-0.10.2/README.md 2024-02-20 22:29:51.000000000 +0100
@@ -75,6 +75,8 @@
## Changelog
+* 0.10.2:
+ - Added support for Flask 3.0
* 0.10.1:
- Substantial housekeeping, dependency cleanup, image building, and packaging revamp, thanks to @exhuma and @mgorny
* 0.10.0:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/httpbin/core.py new/httpbin-0.10.2/httpbin/core.py
--- old/httpbin-0.10.1/httpbin/core.py 2023-08-29 00:56:17.000000000 +0200
+++ new/httpbin-0.10.2/httpbin/core.py 2024-02-20 22:29:51.000000000 +0100
@@ -32,7 +32,7 @@
from werkzeug.wrappers import Response
except ImportError: # werkzeug < 2.1
from werkzeug.wrappers import BaseResponse as Response
-from werkzeug.http import parse_authorization_header
+
from flasgger import Swagger, NO_SANITIZER
from . import filters
@@ -47,6 +47,7 @@
H,
ROBOT_TXT,
ANGRY_ASCII,
+ parse_authorization_header,
parse_multi_value_header,
next_stale_after_value,
digest_challenge_response,
@@ -636,16 +637,13 @@
args_dict = request.args.items()
args = CaseInsensitiveDict(args_dict)
- # We need to build the response manually and convert to UTF-8 to prevent
- # werkzeug from "fixing" the URL. This endpoint should set the Location
- # header to the exact string supplied.
response = app.make_response("")
response.status_code = 302
if "status_code" in args:
status_code = int(args["status_code"])
if status_code >= 300 and status_code < 400:
response.status_code = status_code
- response.headers["Location"] = args["url"].encode("utf-8")
+ response.headers["Location"] = args["url"]
return response
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/httpbin/helpers.py new/httpbin-0.10.2/httpbin/helpers.py
--- old/httpbin-0.10.1/httpbin/helpers.py 2023-08-29 00:56:17.000000000 +0200
+++ new/httpbin-0.10.2/httpbin/helpers.py 2024-02-20 22:29:51.000000000 +0100
@@ -13,8 +13,14 @@
import time
import os
from hashlib import md5, sha256, sha512
-from werkzeug.http import parse_authorization_header
from werkzeug.datastructures import WWWAuthenticate
+from werkzeug.http import dump_header
+
+try:
+ from werkzeug.http import parse_authorization_header
+except ImportError: # werkzeug < 2.3
+ from werkzeug.datastructures import Authorization
+ parse_authorization_header = Authorization.from_header
from flask import request, make_response
from six.moves.urllib.parse import urlparse, urlunparse
@@ -466,9 +472,14 @@
]), algorithm)
opaque = H(os.urandom(10), algorithm)
- auth = WWWAuthenticate("digest")
- auth.set_digest('me(a)kennethreitz.com', nonce, opaque=opaque,
- qop=('auth', 'auth-int') if qop is None else (qop,), algorithm=algorithm)
- auth.stale = stale
+ values = {
+ 'realm': 'me(a)kennethreitz.com',
+ 'nonce': nonce,
+ 'opaque': opaque,
+ 'qop': dump_header(('auth', 'auth-int') if qop is None else (qop,)),
+ 'algorithm': algorithm,
+ 'stale': stale,
+ }
+ auth = WWWAuthenticate("digest", values=values)
response.headers['WWW-Authenticate'] = auth.to_header()
return response
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/httpbin.egg-info/PKG-INFO new/httpbin-0.10.2/httpbin.egg-info/PKG-INFO
--- old/httpbin-0.10.1/httpbin.egg-info/PKG-INFO 2023-08-29 00:56:26.000000000 +0200
+++ new/httpbin-0.10.2/httpbin.egg-info/PKG-INFO 2024-02-20 22:30:02.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: httpbin
-Version: 0.10.1
+Version: 0.10.2
Summary: HTTP Request and Response Service
Author-email: Kenneth Reitz <me(a)kennethreitz.org>
License: MIT or ISC
@@ -20,12 +20,25 @@
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.7
Description-Content-Type: text/markdown
-Provides-Extra: test
-Provides-Extra: mainapp
License-File: LICENSE
License-File: LICENSE.ISC
License-File: LICENSE.MIT
License-File: AUTHORS
+Requires-Dist: brotlicffi
+Requires-Dist: decorator
+Requires-Dist: flasgger
+Requires-Dist: flask>=2.2.4
+Requires-Dist: greenlet<3.0; python_version < "3.12"
+Requires-Dist: greenlet>=3.0.0a1; python_version >= "3.12.0rc0"
+Requires-Dist: importlib-metadata; python_version < "3.8"
+Requires-Dist: six
+Requires-Dist: werkzeug>=2.2.2
+Provides-Extra: test
+Requires-Dist: pytest; extra == "test"
+Requires-Dist: tox; extra == "test"
+Provides-Extra: mainapp
+Requires-Dist: gunicorn; extra == "mainapp"
+Requires-Dist: gevent; extra == "mainapp"
# httpbin(1): HTTP Request & Response Service
@@ -104,6 +117,8 @@
## Changelog
+* 0.10.2:
+ - Added support for Flask 3.0
* 0.10.1:
- Substantial housekeeping, dependency cleanup, image building, and packaging revamp, thanks to @exhuma and @mgorny
* 0.10.0:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/httpbin.egg-info/requires.txt new/httpbin-0.10.2/httpbin.egg-info/requires.txt
--- old/httpbin-0.10.1/httpbin.egg-info/requires.txt 2023-08-29 00:56:26.000000000 +0200
+++ new/httpbin-0.10.2/httpbin.egg-info/requires.txt 2024-02-20 22:30:02.000000000 +0100
@@ -1,9 +1,9 @@
-Flask
brotlicffi
decorator
flasgger
-werkzeug>=0.14.1
+flask>=2.2.4
six
+werkzeug>=2.2.2
[:python_version < "3.12"]
greenlet<3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/pyproject.toml new/httpbin-0.10.2/pyproject.toml
--- old/httpbin-0.10.1/pyproject.toml 2023-08-29 00:56:17.000000000 +0200
+++ new/httpbin-0.10.2/pyproject.toml 2024-02-20 22:29:51.000000000 +0100
@@ -8,7 +8,7 @@
[project]
name = "httpbin"
-version = "0.10.1"
+version = "0.10.2"
requires-python = ">=3.7"
description = "HTTP Request and Response Service"
readme = "README.md"
@@ -31,15 +31,15 @@
"Programming Language :: Python :: 3.12",
]
dependencies = [
- "Flask",
"brotlicffi",
"decorator",
"flasgger",
+ "flask >= 2.2.4",
'greenlet < 3.0; python_version<"3.12"',
'greenlet >= 3.0.0a1; python_version>="3.12.0rc0"',
'importlib-metadata; python_version<"3.8"',
- "werkzeug >= 0.14.1",
"six",
+ "werkzeug >= 2.2.2",
]
[project.optional-dependencies]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/httpbin-0.10.1/tests/test_httpbin.py new/httpbin-0.10.2/tests/test_httpbin.py
--- old/httpbin-0.10.1/tests/test_httpbin.py 2023-08-29 00:56:17.000000000 +0200
+++ new/httpbin-0.10.2/tests/test_httpbin.py 2024-02-20 22:29:51.000000000 +0100
@@ -146,10 +146,9 @@
self.assertEqual(response.status_code, 200)
data = json.loads(response.data.decode('utf-8'))
self.assertEqual(data['args'], {})
- self.assertEqual(data['headers']['Host'], 'localhost')
self.assertEqual(data['headers']['User-Agent'], 'test')
# self.assertEqual(data['origin'], None)
- self.assertEqual(data['url'], 'http://localhost/get')
+ self.assertRegex(data['url'], '^http://[^/]*/get$')
self.assertTrue(response.data.endswith(b'\n'))
def test_anything(self):
@@ -159,8 +158,7 @@
self.assertEqual(response.status_code, 200)
data = json.loads(response.data.decode('utf-8'))
self.assertEqual(data['args'], {})
- self.assertEqual(data['headers']['Host'], 'localhost')
- self.assertEqual(data['url'], 'http://localhost/anything/foo/bar')
+ self.assertRegex(data['url'], '^http://[^/]*/anything/foo/bar$')
self.assertEqual(data['method'], 'GET')
self.assertTrue(response.data.endswith(b'\n'))
@@ -581,8 +579,8 @@
def test_redirect_absolute_param_n_higher_than_1(self):
response = self.app.get('/redirect/5?absolute=true')
- self.assertEqual(
- response.headers.get('Location'), 'http://localhost/absolute-redirect/4'
+ self.assertRegex(
+ response.headers.get('Location'), '^http://[^/]*/absolute-redirect/4$'
)
def test_redirect_n_equals_to_1(self):
@@ -607,15 +605,15 @@
def test_absolute_redirect_n_higher_than_1(self):
response = self.app.get('/absolute-redirect/5')
- self.assertEqual(
- response.headers.get('Location'), 'http://localhost/absolute-redirect/4'
+ self.assertRegex(
+ response.headers.get('Location'), '^http://[^/]*/absolute-redirect/4$'
)
def test_absolute_redirect_n_equals_to_1(self):
response = self.app.get('/absolute-redirect/1')
self.assertEqual(response.status_code, 302)
- self.assertEqual(
- response.headers.get('Location'), 'http://localhost/get'
+ self.assertRegex(
+ response.headers.get('Location'), '^http://[^/]*/get$'
)
def test_request_range(self):
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pacemaker for openSUSE:Factory checked in at 2024-10-02 21:32:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pacemaker (Old)
and /work/SRC/openSUSE:Factory/.pacemaker.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pacemaker"
Wed Oct 2 21:32:47 2024 rev:159 rq:1204955 version:2.1.8+20240808.3980678f03
Changes:
--------
--- /work/SRC/openSUSE:Factory/pacemaker/pacemaker.changes 2024-07-15 19:45:44.583891031 +0200
+++ /work/SRC/openSUSE:Factory/.pacemaker.new.19354/pacemaker.changes 2024-10-02 21:33:09.741827495 +0200
@@ -1,0 +2,8 @@
+Tue Oct 01 11:36:55 UTC 2024 - Yan Gao <ygao(a)suse.com>
+
+- Update to version 2.1.8+20240808.3980678f03 (Pacemaker-2.1.8):
+- scheduler: correct format arguments
+- libpacemaker: Don't apply colocation twice for promotion priority
+- libpacemaker: Apply promotion priority to cloned group instance
+
+-------------------------------------------------------------------
Old:
----
pacemaker-2.1.7+20240711.239cba384.tar.xz
New:
----
pacemaker-2.1.8+20240808.3980678f03.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pacemaker.spec ++++++
--- /var/tmp/diff_new_pack.R0M33t/_old 2024-10-02 21:33:10.373853770 +0200
+++ /var/tmp/diff_new_pack.R0M33t/_new 2024-10-02 21:33:10.373853770 +0200
@@ -129,7 +129,7 @@
%define with_regression_tests 0
Name: pacemaker
-Version: 2.1.7+20240711.239cba384
+Version: 2.1.8+20240808.3980678f03
Release: 0
Summary: Scalable High-Availability cluster resource manager
# AGPL-3.0 licensed extra/clustermon.sh is not present in the binary
++++++ _service ++++++
--- /var/tmp/diff_new_pack.R0M33t/_old 2024-10-02 21:33:10.401854934 +0200
+++ /var/tmp/diff_new_pack.R0M33t/_new 2024-10-02 21:33:10.405855100 +0200
@@ -8,10 +8,10 @@
To update to a new release, change "revision" to the desired
git commit hash and bump "version" if necessary
- <param name="version">2.1.7</param>
+ <param name="version">2.1.8</param>
-->
- <param name="versionformat">2.1.7+%cd.%h</param>
- <param name="revision">239cba384f</param>
+ <param name="versionformat">2.1.8+%cd.%h</param>
+ <param name="revision">Pacemaker-2.1.8</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.R0M33t/_old 2024-10-02 21:33:10.425855932 +0200
+++ /var/tmp/diff_new_pack.R0M33t/_new 2024-10-02 21:33:10.429856098 +0200
@@ -5,6 +5,6 @@
</service>
<service name="tar_scm">
<param name="url">https://github.com/ClusterLabs/pacemaker.git</param>
- <param name="changesrevision">d7c233090057d4f660fa458a2ff97896b15ea951</param></service></servicedata>
+ <param name="changesrevision">3980678f0372f2c7c294c01f61d63f0b2cafaad1</param></service></servicedata>
(No newline at EOF)
++++++ pacemaker-2.1.7+20240711.239cba384.tar.xz -> pacemaker-2.1.8+20240808.3980678f03.tar.xz ++++++
++++ 3434 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package jeos-firstboot for openSUSE:Factory checked in at 2024-10-02 21:32:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jeos-firstboot (Old)
and /work/SRC/openSUSE:Factory/.jeos-firstboot.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jeos-firstboot"
Wed Oct 2 21:32:45 2024 rev:63 rq:1204945 version:1.5.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/jeos-firstboot/jeos-firstboot.changes 2024-09-25 21:52:55.735377506 +0200
+++ /work/SRC/openSUSE:Factory/.jeos-firstboot.new.19354/jeos-firstboot.changes 2024-10-02 21:33:06.785704598 +0200
@@ -1,0 +2,6 @@
+Tue Oct 01 14:07:29 UTC 2024 - Fabian Vogt <fvogt(a)suse.com>
+
+- Update to version 1.5.3:
+ * otp: Show the QR code in a separate window if necessary (bsc#1231177)
+
+-------------------------------------------------------------------
Old:
----
jeos-firstboot-1.5.2.obscpio
New:
----
jeos-firstboot-1.5.3.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jeos-firstboot.spec ++++++
--- /var/tmp/diff_new_pack.lmMmy3/_old 2024-10-02 21:33:07.385729544 +0200
+++ /var/tmp/diff_new_pack.lmMmy3/_new 2024-10-02 21:33:07.385729544 +0200
@@ -23,7 +23,7 @@
%endif
Name: jeos-firstboot
-Version: 1.5.2
+Version: 1.5.3
Release: 0
Summary: Simple text based JeOS first boot wizard
License: MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.lmMmy3/_old 2024-10-02 21:33:07.437731706 +0200
+++ /var/tmp/diff_new_pack.lmMmy3/_new 2024-10-02 21:33:07.441731872 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/jeos-firstboot.git</param>
- <param name="changesrevision">8886e4784b3a980d5bad4d4b5626fcc0f6ac6ce9</param></service></servicedata>
+ <param name="changesrevision">f3ae15f25ffbfb9144de9d0099ef35e5c67891c4</param></service></servicedata>
(No newline at EOF)
++++++ jeos-firstboot-1.5.2.obscpio -> jeos-firstboot-1.5.3.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-1.5.2/files/usr/share/jeos-firstboot/modules/otp new/jeos-firstboot-1.5.3/files/usr/share/jeos-firstboot/modules/otp
--- old/jeos-firstboot-1.5.2/files/usr/share/jeos-firstboot/modules/otp 2024-08-08 14:53:12.000000000 +0200
+++ new/jeos-firstboot-1.5.3/files/usr/share/jeos-firstboot/modules/otp 2024-10-01 16:07:03.000000000 +0200
@@ -28,21 +28,36 @@
printf $"Configuring time-based one-time password (TOTP) authentication for the user '%s'.\n\n" "$user"
printf $"Enroll with your desired TOTP application by scanning the QR code or entering the secret manually, then enter the generated 6 digit code below to confirm successful enrollment. "
printf $"Once confirmed, the Cockpit Web UI will ask for an OTP value on each login.\n\n"
- printf $"TOTP Secret: %s\n\n" "${totp_secret}"
- qrencode -t UTF8i -m 1 <<<"$url"
+ printf $"TOTP Secret: %s" "${totp_secret}"
)"
-
+ local qrcode="$(qrencode -t UTF8i -m 1 <<<"$url")"
+ local msg_with_qr="$(printf "%s\n\n%s" "${msg}" "${qrcode}")"
while true; do
- d_with_result --title "$otp_title" \
- --cancel-label $"Skip" \
- --no-nl-expand --no-collapse \
- --mixedform "${msg}" 37 60 1 \
- $"OTP value:" 1 0 "" 1 15 45 0 0
+ # If the screen is to small to fit the text and QR code at once,
+ # show only the text but add a button to show the QR code.
+ if [ "$LINES" -ge 37 ] && [ "$COLUMNS" -ge 24 ]; then
+ d_with_result --title "$otp_title" \
+ --cancel-label $"Skip" \
+ --no-nl-expand --no-collapse \
+ --mixedform "${msg_with_qr}" 37 60 1 \
+ $"OTP value:" 1 0 "" 1 15 45 0 0
+ else
+ d_with_result --title "$otp_title" \
+ --cancel-label $"Skip" \
+ --no-nl-expand --no-collapse \
+ --extra-button --extra-label $"QR Code" \
+ --mixedform "${msg}" 17 60 1 \
+ $"OTP value:" 1 0 "" 1 15 45 0 0
+ fi
local ret=$?
if [ "$ret" -eq 1 ]; then
# Skip button pressed
return 0
+ elif [ "$ret" -eq 3 ]; then
+ # QR code button pressed
+ d_styled --title "$otp_title" --no-nl-expand --no-collapse --msgbox "${qrcode}" 23 50 || :
+ continue
elif [ "$ret" -eq 255 ]; then
# ESC
if d_styled --yesno $"Do you really want to quit?" 0 0; then
++++++ jeos-firstboot.obsinfo ++++++
--- /var/tmp/diff_new_pack.lmMmy3/_old 2024-10-02 21:33:07.545736196 +0200
+++ /var/tmp/diff_new_pack.lmMmy3/_new 2024-10-02 21:33:07.549736362 +0200
@@ -1,5 +1,5 @@
name: jeos-firstboot
-version: 1.5.2
-mtime: 1723121592
-commit: 8886e4784b3a980d5bad4d4b5626fcc0f6ac6ce9
+version: 1.5.3
+mtime: 1727791623
+commit: f3ae15f25ffbfb9144de9d0099ef35e5c67891c4
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rav1e for openSUSE:Factory checked in at 2024-10-02 21:32:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rav1e (Old)
and /work/SRC/openSUSE:Factory/.rav1e.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rav1e"
Wed Oct 2 21:32:43 2024 rev:19 rq:1204942 version:0.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rav1e/rav1e.changes 2023-10-20 23:16:48.510610636 +0200
+++ /work/SRC/openSUSE:Factory/.rav1e.new.19354/rav1e.changes 2024-10-02 21:32:59.101385136 +0200
@@ -1,0 +2,18 @@
+Tue Aug 27 08:43:21 UTC 2024 - Enrico Belleri <kilgore.trout(a)idesmi.eu>
+
+- remove cargo_config: contained in vendor.tar
+- remove cargo_audit service: now part of cargo_vendor
+- Update to version 0.7.1:
+ * Remove some now-unneeded dependencies
+ * Make sure av1-grain matches the rav1e serialize feature (serde is back optional)
+ * Make sure to use a version of ivf that does not depends on bitstream-io 1
+ * More internal cleanups
+ * Sync up assembly with dav1d 1.2.1
+ * More encoder-specific assembly for both x86_64 and aarch64
+ * Many internal cleanups and fixes
+ * The Channel API does not rely on crossbeam-channel anymore
+ * Initial Speed level rebalance
+- Update README.suse-maint
+- Update baselibs.conf
+
+-------------------------------------------------------------------
Old:
----
cargo_config
rav1e-0.6.6.obscpio
New:
----
rav1e-0.7.1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rav1e.spec ++++++
--- /var/tmp/diff_new_pack.g1mefs/_old 2024-10-02 21:33:05.725660529 +0200
+++ /var/tmp/diff_new_pack.g1mefs/_new 2024-10-02 21:33:05.725660529 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rav1e
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2020 Andreas Schneider <asn(a)cryptomilk.org>.
#
# All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
Name: rav1e
-Version: 0.6.6
+Version: 0.7.1
Release: 0
Summary: Fastest and safest AV1 encoder
# rav1e is published under the terms of the BSD-2-Clause license,
@@ -29,7 +29,6 @@
#
Source0: %{name}-%{version}.tar.zst
Source1: vendor.tar.zst
-Source2: cargo_config
Source98: README.suse-maint
Source99: baselibs.conf
#
@@ -37,7 +36,8 @@
#
BuildRequires: cargo-c > 0.9.26
BuildRequires: cargo-packaging
-BuildRequires: nasm
+BuildRequires: nasm >= 2.14.02
+BuildRequires: rust >= 1.70.0
%description
rav1e is an AV1 video encoder.
@@ -62,11 +62,11 @@
* Variable speed settings
* Near real-time encoding at high speed levels
-%package -n librav1e0_6
+%package -n librav1e0_7
Summary: AV1 encoder library
Group: System/Libraries
-%description -n librav1e0_6
+%description -n librav1e0_7
rav1e is an AV1 video encoder libary. It is designed to eventually cover all
use cases, though in its current form it is most suitable for cases where
libaom (the reference encoder) is too slow.
@@ -74,7 +74,7 @@
%package devel
Summary: Development files for rav1e
Group: Development/Libraries/C and C++
-Requires: librav1e0_6 = %{version}
+Requires: librav1e0_7 = %{version}
%description devel
The rav1e-devel package contains libraries and header files for
@@ -82,8 +82,6 @@
%prep
%autosetup -a1 -p1
-mkdir .cargo
-cp %{SOURCE2} .cargo/config
# Disable rav1e_js
sed -i 's/"rav1e_js", //' Cargo.toml
@@ -107,12 +105,12 @@
rm -f %{buildroot}%{_libdir}/librav1e.a
rm -f %{buildroot}%{_prefix}/.crates*
-%ldconfig_scriptlets -n librav1e0_6
+%ldconfig_scriptlets -n librav1e0_7
%files
%{_bindir}/rav1e
-%files -n librav1e0_6
+%files -n librav1e0_7
%license LICENSE
%{_libdir}/librav1e.so.*
++++++ README.suse-maint ++++++
--- /var/tmp/diff_new_pack.g1mefs/_old 2024-10-02 21:33:05.761662025 +0200
+++ /var/tmp/diff_new_pack.g1mefs/_new 2024-10-02 21:33:05.765662192 +0200
@@ -1,26 +1,18 @@
# How to update the rav1e package
## Prerequisites:
-You need the download_files and cargo_vendor obs services installed:
- zypper in obs-service-download_files obs-service-cargo_vendor
+You need the obs_scm and cargo_vendor obs services installed:
+ zypper in obs-service-obs_scm obs-service-cargo_vendor
## Updating to a new version from upstream
-Edit the spec file and update the version variable.
+Edit the _service file and update the revision parameter.
Download the new source file by running:
- osc service ra download_files
-
-Uncompress the rav1e-%{version}.tar.gz file:
- tar xf rav1e-*.tar.gz
-
-This will create a rav1e-%{version} directory
-
-Edit the _service file and set the srcdir param
-to the extracted directory.
+ osc service mr obs_scm
Run the cargo_vendor service with:
- osc service disabledrun
+ osc service mr cargo_vendor
Update the changelog file with the upstream release notes.
++++++ _service ++++++
--- /var/tmp/diff_new_pack.g1mefs/_old 2024-10-02 21:33:05.785663023 +0200
+++ /var/tmp/diff_new_pack.g1mefs/_new 2024-10-02 21:33:05.789663190 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/xiph/rav1e.git</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
<param name="scm">git</param>
- <param name="revision">v0.6.6</param>
+ <param name="revision">v0.7.1</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(.*)\+0</param>
<param name="versionrewrite-replacement">\1</param>
@@ -20,8 +20,5 @@
<param name="compression">zst</param>
<param name="update">true</param>
</service>
- <service name="cargo_audit" mode="manual">
- <param name="srcdir">rav1e</param>
- </service>
</services>
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.g1mefs/_old 2024-10-02 21:33:05.809664021 +0200
+++ /var/tmp/diff_new_pack.g1mefs/_new 2024-10-02 21:33:05.809664021 +0200
@@ -1,2 +1,2 @@
-librav1e0_6
+librav1e0_7
++++++ rav1e-0.6.6.obscpio -> rav1e-0.7.1.obscpio ++++++
/work/SRC/openSUSE:Factory/rav1e/rav1e-0.6.6.obscpio /work/SRC/openSUSE:Factory/.rav1e.new.19354/rav1e-0.7.1.obscpio differ: char 19, line 1
++++++ rav1e-cargo-no-git-default.patch ++++++
--- /var/tmp/diff_new_pack.g1mefs/_old 2024-10-02 21:33:05.841665351 +0200
+++ /var/tmp/diff_new_pack.g1mefs/_new 2024-10-02 21:33:05.841665351 +0200
@@ -1,10 +1,10 @@
-Index: rav1e/Cargo.toml
+Index: rav1e-0.7.1/Cargo.toml
===================================================================
---- rav1e.orig/Cargo.toml 2023-01-02 16:54:30.914458207 +0100
-+++ rav1e/Cargo.toml 2023-01-02 17:06:28.018646860 +0100
+--- rav1e-0.7.1.orig/Cargo.toml
++++ rav1e-0.7.1/Cargo.toml
@@ -38,7 +38,7 @@ binaries = [
- "av-metrics",
- "nom",
+ "av-metrics",
+ "nom",
]
-default = ["binaries", "asm", "threading", "signal_support", "git_version"]
+default = ["binaries", "asm", "threading", "signal_support"]
++++++ rav1e.obsinfo ++++++
--- /var/tmp/diff_new_pack.g1mefs/_old 2024-10-02 21:33:05.861666183 +0200
+++ /var/tmp/diff_new_pack.g1mefs/_new 2024-10-02 21:33:05.865666349 +0200
@@ -1,5 +1,5 @@
name: rav1e
-version: 0.6.6
-mtime: 1684219782
-commit: 7c9db10494c2fffa98a572027d756e55bf754036
+version: 0.7.1
+mtime: 1704876138
+commit: a8d05d0c43826a465b60dbadd0ab7f1327d75371
++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/rav1e/vendor.tar.zst /work/SRC/openSUSE:Factory/.rav1e.new.19354/vendor.tar.zst differ: char 7, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mozjs115 for openSUSE:Factory checked in at 2024-10-02 21:32:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mozjs115 (Old)
and /work/SRC/openSUSE:Factory/.mozjs115.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mozjs115"
Wed Oct 2 21:32:23 2024 rev:9 rq:1205194 version:115.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/mozjs115/mozjs115.changes 2024-04-19 19:14:34.556265199 +0200
+++ /work/SRC/openSUSE:Factory/.mozjs115.new.19354/mozjs115.changes 2024-10-02 21:32:26.804042426 +0200
@@ -1,0 +2,28 @@
+Mon Sep 30 17:35:18 UTC 2024 - Cliff Zhao <qzhao(a)suse.com>
+
+- Add mozjs115-CVE-2024-45492.patch:
+ Backporting 9bf0f2c1 from libexpat upstream, Detect integer
+ overflow in function nextScaffoldPart.
+ (CVE-2024-45492, bsc#1230038)
+
+-------------------------------------------------------------------
+Mon Sep 30 17:25:22 UTC 2024 - Cliff Zhao <qzhao(a)suse.com>
+
+- Add mozjs115-CVE-2024-45491.patch:
+ Backporting 8e439a99 from libexpat upstream, Detect integer
+ overflow in dtdCopy.
+ (CVE-2024-45491, bsc#1230037)
+
+-------------------------------------------------------------------
+Mon Sep 30 17:15:45 UTC 2024 - Cliff Zhao <qzhao(a)suse.com>
+
+- Add mozjs115-CVE-2024-45490-part01-5c1a3164.patch:
+ Backporting 5c1a3164 from libexpat upstream, Reject negative len
+ for XML_ParseBuffer.
+ CVE-2024-45490's fixes including 3 parts: 5c1a3164 for libexpat
+ sources; c12f039b for libexpat tests; 2db23301 for libexpat docs;
+ Because mozjs only embeds libexpat sources, so unnecessary to
+ port prart02 and part03.
+ (CVE-2024-45490, bsc#1230036)
+
+-------------------------------------------------------------------
New:
----
mozjs115-CVE-2024-45490-part01-5c1a3164.patch
mozjs115-CVE-2024-45491.patch
mozjs115-CVE-2024-45492.patch
BETA DEBUG BEGIN:
New:
- Add mozjs115-CVE-2024-45490-part01-5c1a3164.patch:
Backporting 5c1a3164 from libexpat upstream, Reject negative len
New:
- Add mozjs115-CVE-2024-45491.patch:
Backporting 8e439a99 from libexpat upstream, Detect integer
New:
- Add mozjs115-CVE-2024-45492.patch:
Backporting 9bf0f2c1 from libexpat upstream, Detect integer
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mozjs115.spec ++++++
--- /var/tmp/diff_new_pack.Uyc0Bq/_old 2024-10-02 21:32:29.132139213 +0200
+++ /var/tmp/diff_new_pack.Uyc0Bq/_new 2024-10-02 21:32:29.136139379 +0200
@@ -78,7 +78,12 @@
Patch19: 0001-Skip-failing-tests-on-ppc64-and-s390x.patch
# PATCH-FIX-OPENSUSE
Patch20: Fix-i586-float-math.patch
-
+# PATCH-FIX-UPSTREAM mozjs115-CVE-2024-45490-part01-5c1a3164.patch CVE-2024-45490 bsc#1230036 qzhao(a)suse.com -- Reject negative len for XML_ParseBuffer.
+Patch21: mozjs115-CVE-2024-45490-part01-5c1a3164.patch
+# PATCH-FIX-UPSTREAM mozjs115-CVE-2024-45491.patch CVE-2024-45491 bsc#1230037 qzhao(a)suse.com -- Detect integer overflow in dtdCopy.
+Patch22: mozjs115-CVE-2024-45491.patch
+# PATCH-FIX-UPSTREAM mozjs115-CVE-2024-45492.patch CVE-2024-45492 bsc#1230038 qzhao(a)suse.com -- Detect integer overflow in function nextScaffoldPart.
+Patch23: mozjs115-CVE-2024-45492.patch
BuildRequires: autoconf213
BuildRequires: cargo
BuildRequires: ccache
@@ -163,6 +168,9 @@
# Fixes for ppc64 and s390x, there is no need to keep it in ifarch here since mozilla tests support ifarch conditions
%patch -P 19 -p1
%patch -P 20 -p1
+%patch -P 21 -p1
+%patch -P 22 -p1
+%patch -P 23 -p1
# Copy out the LICENSE file
cp LICENSE js/src/
++++++ mozjs115-CVE-2024-45490-part01-5c1a3164.patch ++++++
From 5c1a31642e243f4870c0bd1f2afc7597976521bf Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian(a)pipping.org>
Date: Mon, 19 Aug 2024 22:26:07 +0200
Subject: [PATCH] lib: Reject negative len for XML_ParseBuffer
References: CVE-2024-45490
References: bsc#1230036
Upstream: Backport from upstream
Reported by TaiYou
---
expat/lib/xmlparse.c | 6 ++++++
1 file changed, 6 insertions(+)
--- firefox-115.4.0/parser/expat/lib/xmlparse.c
+++ firefox-115.4.0_new/parser/expat/lib/xmlparse.c
@@ -1978,6 +1978,12 @@
if (parser == NULL)
return XML_STATUS_ERROR;
+
+ if (len < 0) {
+ parser->m_errorCode = XML_ERROR_INVALID_ARGUMENT;
+ return XML_STATUS_ERROR;
+ }
+
switch (ps_parsing) {
case XML_SUSPENDED:
errorCode = XML_ERROR_SUSPENDED;
++++++ mozjs115-CVE-2024-45491.patch ++++++
From 8e439a9947e9dc80a395c0c7456545d8d9d9e421 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian(a)pipping.org>
Date: Mon, 19 Aug 2024 22:34:13 +0200
Subject: [PATCH] lib: Detect integer overflow in dtdCopy
References: CVE-2024-45491
References: bsc#1230037
Upstream: Backport from upstream
Reported by TaiYou
---
expat/lib/xmlparse.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--- firefox-115.4.0/parser/expat/lib/xmlparse.c 2024-10-01 16:34:48.157843398 +0800
+++ firefox-115.4.0_new/parser/expat/lib/xmlparse.c 2024-10-01 16:59:33.700353296 +0800
@@ -6619,6 +6619,16 @@
if (!newE)
return 0;
if (oldE->nDefaultAtts) {
+ /* Detect and prevent integer overflow.
+ * The preprocessor guard addresses the "always false" warning
+ * from -Wtype-limits on platforms where
+ * sizeof(int) < sizeof(size_t), e.g. on x86_64. */
+#if UINT_MAX >= SIZE_MAX
+ if ((size_t)oldE->nDefaultAtts
+ > ((size_t)(-1) / sizeof(DEFAULT_ATTRIBUTE))) {
+ return 0;
+ }
+#endif
newE->defaultAtts = (DEFAULT_ATTRIBUTE *)
ms->malloc_fcn(oldE->nDefaultAtts * sizeof(DEFAULT_ATTRIBUTE));
if (!newE->defaultAtts) {
++++++ mozjs115-CVE-2024-45492.patch ++++++
From 9bf0f2c16ee86f644dd1432507edff94c08dc232 Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian(a)pipping.org>
Date: Mon, 19 Aug 2024 22:37:16 +0200
Subject: [PATCH] lib: Detect integer overflow in function nextScaffoldPart
References: CVE-2024-45492
References: bsc#1230038
Upstream: Backport from upstream
Reported by TaiYou
---
expat/lib/xmlparse.c | 9 +++++++++
1 file changed, 9 insertions(+)
--- firefox-115.4.0/parser/expat/lib/xmlparse.c
+++ firefox-115.4.0_new/parser/expat/lib/xmlparse.c
@@ -7173,6 +7173,15 @@
int next;
if (!dtd->scaffIndex) {
+ /* Detect and prevent integer overflow.
+ * The preprocessor guard addresses the "always false" warning
+ * from -Wtype-limits on platforms where
+ * sizeof(unsigned int) < sizeof(size_t), e.g. on x86_64. */
+#if UINT_MAX >= SIZE_MAX
+ if (parser->m_groupSize > ((size_t)(-1) / sizeof(int))) {
+ return -1;
+ }
+#endif
dtd->scaffIndex = (int *)MALLOC(groupSize * sizeof(int));
if (!dtd->scaffIndex)
return -1;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-tzdata for openSUSE:Factory checked in at 2024-10-02 21:32:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tzdata (Old)
and /work/SRC/openSUSE:Factory/.python-tzdata.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tzdata"
Wed Oct 2 21:32:13 2024 rev:4 rq:1205114 version:2024.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tzdata/python-tzdata.changes 2024-03-29 13:10:08.061314623 +0100
+++ /work/SRC/openSUSE:Factory/.python-tzdata.new.19354/python-tzdata.changes 2024-10-02 21:32:24.839960773 +0200
@@ -1,0 +2,12 @@
+Wed Oct 2 08:25:37 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 2024.2
+ * Improve historical data for Mexico, Mongolia, and Portugal.
+ * System V names are now obsolescent.
+ * The main data form now uses %z.
+ * The code now conforms to RFC 8536 for early timestamps.
+ * Support POSIX.1-2024, which removes asctime_r and ctime_r.
+ * Assume POSIX.2-1992 or later for shell scripts.
+ * SUPPORT_C89 now defaults to 1.
+
+-------------------------------------------------------------------
Old:
----
tzdata-2024.1.tar.gz
New:
----
tzdata-2024.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tzdata.spec ++++++
--- /var/tmp/diff_new_pack.WagVGG/_old 2024-10-02 21:32:25.551990374 +0200
+++ /var/tmp/diff_new_pack.WagVGG/_new 2024-10-02 21:32:25.555990540 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-tzdata
-Version: 2024.1
+Version: 2024.2
Release: 0
Summary: Provider of IANA time zone data
License: Apache-2.0
++++++ tzdata-2024.1.tar.gz -> tzdata-2024.2.tar.gz ++++++
++++ 2716 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-PyYAML for openSUSE:Factory checked in at 2024-10-02 21:32:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PyYAML (Old)
and /work/SRC/openSUSE:Factory/.python-PyYAML.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PyYAML"
Wed Oct 2 21:32:09 2024 rev:34 rq:1205113 version:6.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PyYAML/python-PyYAML.changes 2024-07-02 18:14:49.943868190 +0200
+++ /work/SRC/openSUSE:Factory/.python-PyYAML.new.19354/python-PyYAML.changes 2024-10-02 21:32:23.575908221 +0200
@@ -1,0 +2,9 @@
+Wed Oct 2 08:15:26 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 6.0.2
+ * Support for Cython 3.x and Python 3.13
+- Adjust invocation path for testsuite
+- Adjust upstream source name in spec file
+- Drop build-with-cython3.patch, merged upstream
+
+-------------------------------------------------------------------
Old:
----
PyYAML-6.0.1.tar.gz
build-with-cython3.patch
New:
----
pyyaml-6.0.2.tar.gz
BETA DEBUG BEGIN:
Old:- Adjust upstream source name in spec file
- Drop build-with-cython3.patch, merged upstream
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-PyYAML.spec ++++++
--- /var/tmp/diff_new_pack.PyFaQR/_old 2024-10-02 21:32:24.251936326 +0200
+++ /var/tmp/diff_new_pack.PyFaQR/_new 2024-10-02 21:32:24.251936326 +0200
@@ -18,13 +18,12 @@
%{?sle15_python_module_pythons}
Name: python-PyYAML
-Version: 6.0.1
+Version: 6.0.2
Release: 0
Summary: YAML parser and emitter for Python
License: MIT
URL: https://github.com/yaml/pyyaml
-Source: https://files.pythonhosted.org/packages/source/P/PyYAML/PyYAML-%{version}.t…
-Patch1: build-with-cython3.patch
+Source: https://files.pythonhosted.org/packages/source/p/pyyaml/pyyaml-%{version}.t…
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
@@ -48,7 +47,7 @@
configuration files to object serialization and persistance.
%prep
-%autosetup -p1 -n PyYAML-%{version}
+%autosetup -p1 -n pyyaml-%{version}
%build
export CFLAGS="%{optflags}"
@@ -66,7 +65,7 @@
%ifarch ppc ppc64 s390 s390x
ulimit -Sn 2048
%endif
-%{python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python tests/lib/test_all.py}
+%{python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python tests/legacy_tests/test_all.py}
%files %{python_files}
%license LICENSE
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package yast2-users for openSUSE:Factory checked in at 2024-10-02 21:32:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-users (Old)
and /work/SRC/openSUSE:Factory/.yast2-users.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-users"
Wed Oct 2 21:32:05 2024 rev:263 rq:1205110 version:5.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-users/yast2-users.changes 2024-08-22 18:10:42.471267015 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-users.new.19354/yast2-users.changes 2024-10-02 21:32:16.807626842 +0200
@@ -1,0 +2,7 @@
+Tue Oct 1 13:31:05 UTC 2024 - Stefan Hundhammer <shundhammer(a)suse.com>
+
+- Removed obsolete USERADD_CMD, USERDEL_PRECMD, USERDEL_POSTCMD,
+ GROUPADD_CMD (bsc#1231006)
+- 5.0.3
+
+-------------------------------------------------------------------
Old:
----
yast2-users-5.0.2.tar.bz2
New:
----
yast2-users-5.0.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-users.spec ++++++
--- /var/tmp/diff_new_pack.PQzgNQ/_old 2024-10-02 21:32:19.019718805 +0200
+++ /var/tmp/diff_new_pack.PQzgNQ/_new 2024-10-02 21:32:19.019718805 +0200
@@ -17,7 +17,7 @@
Name: yast2-users
-Version: 5.0.2
+Version: 5.0.3
Release: 0
Summary: YaST2 - User and Group Configuration
License: GPL-2.0-only
++++++ yast2-users-5.0.2.tar.bz2 -> yast2-users-5.0.3.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-users-5.0.2/package/yast2-users.changes new/yast2-users-5.0.3/package/yast2-users.changes
--- old/yast2-users-5.0.2/package/yast2-users.changes 2024-08-21 16:03:42.000000000 +0200
+++ new/yast2-users-5.0.3/package/yast2-users.changes 2024-10-02 10:26:22.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Tue Oct 1 13:31:05 UTC 2024 - Stefan Hundhammer <shundhammer(a)suse.com>
+
+- Removed obsolete USERADD_CMD, USERDEL_PRECMD, USERDEL_POSTCMD,
+ GROUPADD_CMD (bsc#1231006)
+- 5.0.3
+
+-------------------------------------------------------------------
Wed Aug 21 13:21:10 UTC 2024 - Stefan Hundhammer <shundhammer(a)suse.com>
- Relax check in GECOS field (bsc#1228149):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-users-5.0.2/package/yast2-users.spec new/yast2-users-5.0.3/package/yast2-users.spec
--- old/yast2-users-5.0.2/package/yast2-users.spec 2024-08-21 16:03:42.000000000 +0200
+++ new/yast2-users-5.0.3/package/yast2-users.spec 2024-10-02 10:26:22.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-users
-Version: 5.0.2
+Version: 5.0.3
Release: 0
Summary: YaST2 - User and Group Configuration
License: GPL-2.0-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-users-5.0.2/test/fixtures/root/etc/login.defs new/yast2-users-5.0.3/test/fixtures/root/etc/login.defs
--- old/yast2-users-5.0.2/test/fixtures/root/etc/login.defs 2024-08-21 16:03:42.000000000 +0200
+++ new/yast2-users-5.0.3/test/fixtures/root/etc/login.defs 2024-10-02 10:26:22.000000000 +0200
@@ -163,7 +163,7 @@
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
-#
+#
CHFN_RESTRICT rwh
#
@@ -217,8 +217,6 @@
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
-# See USERDEL_PRECMD/POSTCMD below.
-#
#USERDEL_CMD /usr/sbin/userdel_local
#
@@ -256,32 +254,3 @@
#
#CHARACTER_CLASS [A-Za-z_][A-Za-z0-9_.-]*[A-Za-z0-9_.$-]\?
CHARACTER_CLASS [ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-]*[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.$-]\?
-
-#
-# If defined, this command is run when adding a group.
-# It should rebuild any NIS database etc. to add the
-# new created group.
-#
-GROUPADD_CMD /usr/sbin/groupadd.local
-
-#
-# If defined, this command is run when adding a user.
-# It should rebuild any NIS database etc. to add the
-# new created account.
-#
-USERADD_CMD /usr/sbin/useradd.local
-
-#
-# If defined, this command is run before removing a user.
-# It should remove any at/cron/print jobs etc. owned by
-# the user to be removed.
-#
-USERDEL_PRECMD /usr/sbin/userdel-pre.local
-
-#
-# If defined, this command is run after removing a user.
-# It should rebuild any NIS database etc. to remove the
-# account from it.
-#
-USERDEL_POSTCMD /usr/sbin/userdel-post.local
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-users-5.0.2/test/fixtures/root-missing-files/etc/login.defs new/yast2-users-5.0.3/test/fixtures/root-missing-files/etc/login.defs
--- old/yast2-users-5.0.2/test/fixtures/root-missing-files/etc/login.defs 2024-08-21 16:03:42.000000000 +0200
+++ new/yast2-users-5.0.3/test/fixtures/root-missing-files/etc/login.defs 2024-10-02 10:26:22.000000000 +0200
@@ -217,8 +217,6 @@
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
-# See USERDEL_PRECMD/POSTCMD below.
-#
#USERDEL_CMD /usr/sbin/userdel_local
#
@@ -257,31 +255,3 @@
#CHARACTER_CLASS [A-Za-z_][A-Za-z0-9_.-]*[A-Za-z0-9_.$-]\?
CHARACTER_CLASS [ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_][ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-]*[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.$-]\?
-#
-# If defined, this command is run when adding a group.
-# It should rebuild any NIS database etc. to add the
-# new created group.
-#
-GROUPADD_CMD /usr/sbin/groupadd.local
-
-#
-# If defined, this command is run when adding a user.
-# It should rebuild any NIS database etc. to add the
-# new created account.
-#
-USERADD_CMD /usr/sbin/useradd.local
-
-#
-# If defined, this command is run before removing a user.
-# It should remove any at/cron/print jobs etc. owned by
-# the user to be removed.
-#
-USERDEL_PRECMD /usr/sbin/userdel-pre.local
-
-#
-# If defined, this command is run after removing a user.
-# It should rebuild any NIS database etc. to remove the
-# account from it.
-#
-USERDEL_POSTCMD /usr/sbin/userdel-post.local
-
1
0