openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
October 2022
- 1 participants
- 2855 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mozjs102 for openSUSE:Factory checked in at 2022-10-01 17:42:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mozjs102 (Old)
and /work/SRC/openSUSE:Factory/.mozjs102.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mozjs102"
Sat Oct 1 17:42:14 2022 rev:3 rq:1006524 version:102.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/mozjs102/mozjs102.changes 2022-09-21 14:42:19.785737871 +0200
+++ /work/SRC/openSUSE:Factory/.mozjs102.new.2275/mozjs102.changes 2022-10-01 17:42:21.329582582 +0200
@@ -1,0 +2,5 @@
+Tue Sep 27 14:13:15 UTC 2022 - Fabian Vogt <fvogt(a)suse.com>
+
+- Adjust name of ICU data file to fix build on big-endian platforms
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mozjs102.spec ++++++
--- /var/tmp/diff_new_pack.dMQmgY/_old 2022-10-01 17:42:23.873587223 +0200
+++ /var/tmp/diff_new_pack.dMQmgY/_new 2022-10-01 17:42:23.877587230 +0200
@@ -199,10 +199,10 @@
--disable-jemalloc
%if 0%{?big_endian}
-echo "Generate big endian version of config/external/icu/data/icud69l.dat"
+echo "Generate big endian version of config/external/icu/data/icud71l.dat"
pushd ../..
- /usr/sbin/icupkg -tb config/external/icu/data/icudt69l.dat config/external/icu/data/icudt69b.dat
- rm -f config/external/icu/data/icudt*l.dat
+ /usr/sbin/icupkg -tb config/external/icu/data/icudt71l.dat config/external/icu/data/icudt71b.dat
+ rm config/external/icu/data/icudt*l.dat
popd
%endif
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-elastic-transport for openSUSE:Factory checked in at 2022-10-01 17:42:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-elastic-transport (Old)
and /work/SRC/openSUSE:Factory/.python-elastic-transport.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-elastic-transport"
Sat Oct 1 17:42:14 2022 rev:2 rq:1006512 version:8.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-elastic-transport/python-elastic-transport.changes 2022-08-19 17:59:09.128436576 +0200
+++ /work/SRC/openSUSE:Factory/.python-elastic-transport.new.2275/python-elastic-transport.changes 2022-10-01 17:42:20.637581320 +0200
@@ -1,0 +2,6 @@
+Tue Sep 27 19:15:33 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam(a)suse.com>
+
+- Update to 8.4.0
+ * Added method for clients to use default ports for URL scheme.
+
+-------------------------------------------------------------------
Old:
----
elastic-transport-python-8.1.2.tar.gz
New:
----
elastic-transport-python-8.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-elastic-transport.spec ++++++
--- /var/tmp/diff_new_pack.eq4dDe/_old 2022-10-01 17:42:21.129582218 +0200
+++ /var/tmp/diff_new_pack.eq4dDe/_new 2022-10-01 17:42:21.133582225 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-elastic-transport
-Version: 8.1.2
+Version: 8.4.0
Release: 0
Summary: Transport classes and utilities shared among Python Elastic client libraries
License: Apache-2.0
@@ -28,8 +28,8 @@
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: (python-urllib3 >= 1.26.2 with python-urllib3 < 2)
Requires: python-certifi
+Requires: (python-urllib3 >= 1.26.2 with python-urllib3 < 2)
BuildArch: noarch
%if 0%{python_version_nodots} < 37
Requires: python-dataclasses
++++++ elastic-transport-python-8.1.2.tar.gz -> elastic-transport-python-8.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/.github/workflows/backport.yml new/elastic-transport-python-8.4.0/.github/workflows/backport.yml
--- old/elastic-transport-python-8.1.2/.github/workflows/backport.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/elastic-transport-python-8.4.0/.github/workflows/backport.yml 2022-08-25 16:46:42.000000000 +0200
@@ -0,0 +1,16 @@
+name: Backport
+on:
+ pull_request:
+ types:
+ - closed
+ - labeled
+
+jobs:
+ backport:
+ runs-on: ubuntu-latest
+ name: Backport
+ steps:
+ - name: Backport
+ uses: tibdex/backport@v1
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/.github/workflows/ci.yml new/elastic-transport-python-8.4.0/.github/workflows/ci.yml
--- old/elastic-transport-python-8.1.2/.github/workflows/ci.yml 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/.github/workflows/ci.yml 2022-08-25 16:46:42.000000000 +0200
@@ -39,7 +39,7 @@
strategy:
fail-fast: false
matrix:
- python-version: [3.6, 3.7, 3.8, 3.9, "3.10"]
+ python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11-dev"]
experimental: [false]
runs-on: ubuntu-latest
@@ -67,3 +67,10 @@
run: "nox -rs test-${PYTHON_VERSION%-dev}"
env:
PYTHON_VERSION: ${{ matrix.python-version }}
+ # TEMPORARY for 3.11
+ # https://github.com/aio-libs/aiohttp/issues/6600
+ AIOHTTP_NO_EXTENSIONS: 1
+ # https://github.com/aio-libs/frozenlist/issues/285
+ FROZENLIST_NO_EXTENSIONS: 1
+ # https://github.com/aio-libs/yarl/issues/680
+ YARL_NO_EXTENSIONS: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/CHANGELOG.md new/elastic-transport-python-8.4.0/CHANGELOG.md
--- old/elastic-transport-python-8.1.2/CHANGELOG.md 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/CHANGELOG.md 2022-08-25 16:46:42.000000000 +0200
@@ -1,5 +1,11 @@
# Changelog
+## 8.1.2
+
+### Fixed
+
+- Fixed issue when connecting to an IP address with HTTPS enabled would result in a `ValueError` for a mismatch between `check_hostname` and `server_hostname`.
+
## 8.1.1
### Fixed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_requests.py new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_requests.py
--- old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_requests.py 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_requests.py 2022-08-25 16:46:42.000000000 +0200
@@ -132,7 +132,7 @@
self.session.verify = config.verify_certs
if not config.ssl_show_warn:
- urllib3.disable_warnings() # type: ignore[no-untyped-call]
+ urllib3.disable_warnings()
if (
config.scheme == "https"
@@ -210,7 +210,7 @@
else self.config.request_timeout
}
send_kwargs.update(
- self.session.merge_environment_settings( # type: ignore[no-untyped-call]
+ self.session.merge_environment_settings( # type: ignore[arg-type]
prepared_request.url, {}, None, None, None
)
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_urllib3.py new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_urllib3.py
--- old/elastic-transport-python-8.1.2/elastic_transport/_node/_http_urllib3.py 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/elastic_transport/_node/_http_urllib3.py 2022-08-25 16:46:42.000000000 +0200
@@ -118,7 +118,7 @@
category=SecurityWarning,
)
else:
- urllib3.disable_warnings() # type: ignore[no-untyped-call]
+ urllib3.disable_warnings()
self.pool = pool_class(
config.host,
@@ -222,4 +222,4 @@
"""
Explicitly closes connection
"""
- self.pool.close() # type: ignore[no-untyped-call]
+ self.pool.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/elastic_transport/_version.py new/elastic-transport-python-8.4.0/elastic_transport/_version.py
--- old/elastic-transport-python-8.1.2/elastic_transport/_version.py 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/elastic_transport/_version.py 2022-08-25 16:46:42.000000000 +0200
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-__version__ = "8.1.2"
+__version__ = "8.4.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/elastic_transport/client_utils.py new/elastic-transport-python-8.4.0/elastic_transport/client_utils.py
--- old/elastic-transport-python-8.1.2/elastic_transport/client_utils.py 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/elastic_transport/client_utils.py 2022-08-25 16:46:42.000000000 +0200
@@ -181,23 +181,44 @@
return f"Basic {base64.b64encode((b':'.join(to_bytes(x) for x in basic_auth))).decode()}"
-def url_to_node_config(url: str) -> NodeConfig:
+def url_to_node_config(
+ url: str, use_default_ports_for_scheme: bool = False
+) -> NodeConfig:
"""Constructs a :class:`elastic_transport.NodeConfig` instance from a URL.
If a username/password are specified in the URL they are converted to an
'Authorization' header.
+
+ :param url: URL to transform into a NodeConfig.
+ :param use_default_ports_for_scheme: If 'True' will resolve default ports for the given scheme.
"""
try:
- parsed_url = parse_url(url) # type: ignore[no-untyped-call]
+ parsed_url = parse_url(url)
except LocationParseError:
raise ValueError(f"Could not parse URL {url!r}") from None
+ # Only fill in a default port for HTTP and HTTPS
+ # when we know the scheme is one of those two.
+ parsed_port: Optional[int] = parsed_url.port # type: ignore[assignment]
+ if (
+ parsed_url.port is None
+ and parsed_url.scheme is not None
+ and use_default_ports_for_scheme is True
+ ):
+ if parsed_url.scheme == "https":
+ parsed_port = 443
+ elif parsed_url.scheme == "http":
+ parsed_port = 80
+
if any(
component in (None, "")
- for component in (parsed_url.scheme, parsed_url.host, parsed_url.port)
+ for component in (parsed_url.scheme, parsed_url.host, parsed_port)
):
raise ValueError(
"URL must include a 'scheme', 'host', and 'port' component (ie 'https://localhost:9200')"
)
+ assert parsed_url.scheme is not None
+ assert parsed_url.host is not None
+ assert parsed_port is not None
headers = {}
if parsed_url.auth:
@@ -205,11 +226,15 @@
headers["authorization"] = basic_auth_to_header((username, password))
host = parsed_url.host.strip("[]")
- path_prefix = "" if parsed_url.path in (None, "", "/") else parsed_url.path
+ if not parsed_url.path or parsed_url.path == "/":
+ path_prefix = ""
+ else:
+ path_prefix = parsed_url.path
+
return NodeConfig(
scheme=parsed_url.scheme,
host=host,
- port=parsed_url.port,
+ port=parsed_port,
path_prefix=path_prefix,
headers=headers,
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/noxfile.py new/elastic-transport-python-8.4.0/noxfile.py
--- old/elastic-transport-python-8.1.2/noxfile.py 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/noxfile.py 2022-08-25 16:46:42.000000000 +0200
@@ -50,7 +50,7 @@
session.run("mypy", "--strict", "--show-error-codes", "elastic_transport/")
-(a)nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10"])
+(a)nox.session(python=["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"])
def test(session):
session.install(".[develop]")
session.run(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/elastic-transport-python-8.1.2/tests/test_client_utils.py new/elastic-transport-python-8.4.0/tests/test_client_utils.py
--- old/elastic-transport-python-8.1.2/tests/test_client_utils.py 2022-04-19 20:20:56.000000000 +0200
+++ new/elastic-transport-python-8.4.0/tests/test_client_utils.py 2022-08-25 16:46:42.000000000 +0200
@@ -198,6 +198,20 @@
)
+(a)pytest.mark.parametrize(
+ ["url", "port"],
+ [
+ ("http://127.0.0.1", 80),
+ ("http://[::1]", 80),
+ ("HTTPS://localhost", 443),
+ ("https://localhost/url-prefix", 443),
+ ],
+)
+def test_url_to_node_config_use_default_ports_for_scheme(url, port):
+ node_config = url_to_node_config(url, use_default_ports_for_scheme=True)
+ assert node_config.port == port
+
+
def test_url_with_auth_into_authorization():
node_config = url_to_node_config("http://localhost:9200")
assert node_config.headers == {}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-xcffib for openSUSE:Factory checked in at 2022-10-01 17:42:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-xcffib (Old)
and /work/SRC/openSUSE:Factory/.python-xcffib.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-xcffib"
Sat Oct 1 17:42:13 2022 rev:11 rq:1006504 version:0.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-xcffib/python-xcffib.changes 2021-07-16 22:13:19.378583950 +0200
+++ /work/SRC/openSUSE:Factory/.python-xcffib.new.2275/python-xcffib.changes 2022-10-01 17:42:19.945580059 +0200
@@ -1,0 +2,9 @@
+Tue Sep 27 16:04:01 UTC 2022 - Mark��ta Machov�� <mmachova(a)suse.com>
+
+- Update to 0.12.1
+ * Replace nose by pytest
+ * Allow the master xcb version to pass even if failing
+ * drop Python 3.6, support Python 3.10
+ * ci: test with new xcb 1.15 release
+
+-------------------------------------------------------------------
Old:
----
xcffib-0.11.1.tar.gz
New:
----
xcffib-0.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-xcffib.spec ++++++
--- /var/tmp/diff_new_pack.IJCECH/_old 2022-10-01 17:42:20.441580963 +0200
+++ /var/tmp/diff_new_pack.IJCECH/_new 2022-10-01 17:42:20.445580970 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-xcffib
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-xcffib
-Version: 0.11.1
+Version: 0.12.1
Release: 0
Summary: A drop in replacement for xpyb, an XCB python binding
License: Apache-2.0
++++++ xcffib-0.11.1.tar.gz -> xcffib-0.12.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/MANIFEST.in new/xcffib-0.12.1/MANIFEST.in
--- old/xcffib-0.11.1/MANIFEST.in 2020-07-21 14:59:17.000000000 +0200
+++ new/xcffib-0.12.1/MANIFEST.in 2022-09-25 16:38:17.000000000 +0200
@@ -2,3 +2,4 @@
include LICENSE
exclude xcffib/_ffi.py
include test/__init__.py
+include test/conftest.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/PKG-INFO new/xcffib-0.12.1/PKG-INFO
--- old/xcffib-0.11.1/PKG-INFO 2020-11-29 16:55:27.120034700 +0100
+++ new/xcffib-0.12.1/PKG-INFO 2022-09-25 16:44:40.079757000 +0200
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: xcffib
-Version: 0.11.1
+Version: 0.12.1
Summary: A drop in replacement for xpyb, an XCB python binding
Home-page: http://github.com/tych0/xcffib
Author: Tycho Andersen
Author-email: tycho(a)tycho.pizza
License: Apache License 2.0
-Description: UNKNOWN
Keywords: xcb xpyb cffi x11 x windows
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
@@ -19,3 +18,7 @@
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries
+License-File: LICENSE
+
+UNKNOWN
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/README.md new/xcffib-0.12.1/README.md
--- old/xcffib-0.11.1/README.md 2020-11-18 03:22:53.000000000 +0100
+++ new/xcffib-0.12.1/README.md 2022-05-03 23:36:42.000000000 +0200
@@ -31,7 +31,7 @@
expected haskell test data if the tests are failing because you made a change
to the generated python code.
-## Hacking on new xcb-proto versions
+### Hacking on new xcb-proto versions
Sometimes (more often recently), xcb-proto makes some updates that we need to
do some work for. These often require some updates to `xcb-types` as well.
@@ -45,6 +45,15 @@
make XCBDIR=~/packages/xcb-proto/src check
+### Hacking on new xcb-types versions
+
+To go along with new xcb-proto elements, sometimes you need to hack on newer
+versions of xcb-types. Newer cabals require you to do something like:
+
+ echo packages: ../xcb-types/xcb-types.cabal ./xcffib.cabal > cabal.project
+
+In order to find locally modified versions of xcb-types.
+
## Differences
In general, you should `s/xcb/xcffib/g`. Explicit differences are listed below,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/setup.py new/xcffib-0.12.1/setup.py
--- old/xcffib-0.11.1/setup.py 2020-11-29 16:55:26.000000000 +0100
+++ new/xcffib-0.12.1/setup.py 2022-09-25 16:44:39.000000000 +0200
@@ -54,7 +54,7 @@
cffi_modules=["xcffib/ffi_build.py:ffi"]
)
-version = "0.11.1"
+version = "0.12.1"
dependencies = ['six', requires_cffi]
setup(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/test/conftest.py new/xcffib-0.12.1/test/conftest.py
--- old/xcffib-0.11.1/test/conftest.py 1970-01-01 01:00:00.000000000 +0100
+++ new/xcffib-0.12.1/test/conftest.py 2022-07-03 23:42:33.000000000 +0200
@@ -0,0 +1,84 @@
+# Copyright 2014 Tycho Andersen
+# Copyright 2021 Sean Vig
+#
+# 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.
+
+import xcffib
+from xcffib.testing import XvfbTest
+from xcffib.xproto import EventMask
+
+import pytest
+
+
+(a)pytest.fixture
+def xcffib_test():
+ with XcffibTest() as test_data:
+ yield test_data
+
+
+(a)pytest.fixture
+def xproto_test(xcffib_test):
+ xcffib_test.xproto = xcffib.xproto.xprotoExtension(xcffib_test.conn)
+ return xcffib_test
+
+
+class XcffibTest(XvfbTest):
+ """ A home for common functions needed for xcffib testing. """
+
+ def setUp(self):
+ XvfbTest.setUp(self)
+ self.xproto = xcffib.xproto.xprotoExtension(self.conn)
+
+ def tearDown(self):
+ self.xproto = None
+ XvfbTest.tearDown(self)
+
+ @property
+ def default_screen(self):
+ return self.conn.setup.roots[self.conn.pref_screen]
+
+ def create_window(self, wid=None, x=0, y=0, w=1, h=1, is_checked=False):
+ if wid is None:
+ wid = self.conn.generate_id()
+ return self.xproto.CreateWindow(
+ self.default_screen.root_depth,
+ wid,
+ self.default_screen.root,
+ x, y, w, h,
+ 0,
+ xcffib.xproto.WindowClass.InputOutput,
+ self.default_screen.root_visual,
+ xcffib.xproto.CW.BackPixel | xcffib.xproto.CW.EventMask,
+ [
+ self.default_screen.black_pixel,
+ xcffib.xproto.EventMask.StructureNotify
+ ],
+ is_checked=is_checked
+ )
+
+ def xeyes(self):
+ # Enable CreateNotify
+ self.xproto.ChangeWindowAttributesChecked(
+ self.default_screen.root,
+ xcffib.xproto.CW.EventMask,
+ [
+ EventMask.SubstructureNotify |
+ EventMask.StructureNotify |
+ EventMask.SubstructureRedirect
+ ]
+ ).check()
+
+ self.spawn(['xeyes'])
+
+ def intern(self, name):
+ return self.xproto.InternAtom(False, len(name), name).reply().atom
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/test/test_connection.py new/xcffib-0.12.1/test/test_connection.py
--- old/xcffib-0.11.1/test/test_connection.py 2020-11-18 03:07:13.000000000 +0100
+++ new/xcffib-0.12.1/test/test_connection.py 2022-07-03 23:42:33.000000000 +0200
@@ -19,62 +19,64 @@
import xcffib.xproto
from xcffib import ffi
-from xcffib.testing import XvfbTest
-from .testing import XcffibTest
-import struct
+import pytest
-class TestConnection(XcffibTest):
- def setUp(self):
- XvfbTest.setUp(self)
- self.xproto = xcffib.xproto.xprotoExtension(self.conn)
-
- def tearDown(self):
- self.xproto = None
- XvfbTest.tearDown(self)
-
- def test_invalid_display(self):
- try:
- self.conn = xcffib.Connection('notvalid')
- self.conn.invalid()
- except xcffib.ConnectionException:
- pass
- else:
- raise Exception("no connection exception!")
+class TestConnection:
+ def test_invalid_display(self, xproto_test):
+ with pytest.raises(xcffib.ConnectionException):
+ xproto_test.conn = xcffib.Connection("notvalid")
- def test_get_setup(self):
- setup = self.conn.get_setup()
+ def test_get_setup(self, xproto_test):
+ setup = xproto_test.conn.get_setup()
# When X upgrades, we can probably manage to change this test :-)
assert setup.protocol_major_version == 11
assert setup.protocol_minor_version == 0
- def test_get_screen_pointers(self):
- screens = self.conn.get_screen_pointers()
+ def test_get_screen_pointers(self, xproto_test):
+ screens = xproto_test.conn.get_screen_pointers()
assert len(screens) == 1
screen = screens[0]
assert ffi.typeof(screen) is ffi.typeof("xcb_screen_t *")
- assert screen.root == self.default_screen.root
- assert screen.width_in_pixels == self.width
- assert screen.height_in_pixels == self.height
- assert screen.root_depth == self.depth
+ assert screen.root == xproto_test.default_screen.root
+ assert screen.width_in_pixels == xproto_test.width
+ assert screen.height_in_pixels == xproto_test.height
+ assert screen.root_depth == xproto_test.depth
+
+ def test_seq_increases(self, xproto_test):
+ # If this test starts failing because the sequence numbers don't mach,
+ # that's probably because you added a new test that imports a new X
+ # extension. When that happens, every new connection automatically does
+ # a QueryExtention for each new ext that has been imported, so the
+ # squence numbers go up by one.
+ #
+ # i.e:
+ # xproto setup query = seqno 0
+ # xtest setup query = seqno 1
+ assert xproto_test.xproto.GetInputFocus().sequence == 2
+ assert xproto_test.xproto.GetInputFocus().sequence == 3
- def test_discard_sequence(self):
- cookie = self.xproto.GetInputFocus()
+ def test_discard_sequence(self, xproto_test):
+ cookie = xproto_test.xproto.GetInputFocus()
cookie.discard_reply()
# this hangs if you leave it in, because the reply really was discarded
# assert cookie.reply()
- def test_list_extensions(self):
- reply = self.conn.core.ListExtensions().reply()
+ def test_invalid(self, xproto_test):
+ with pytest.raises(xcffib.ConnectionException):
+ xcffib.Connection("notadisplay")
+
+ def test_list_extensions(self, xproto_test):
+ reply = xproto_test.conn.core.ListExtensions().reply()
exts = [ext.name.to_string() for ext in reply.names]
assert "XVideo" in exts
- def test_create_window(self):
- wid = self.conn.generate_id()
- cookie = self.create_window(wid=wid)
+ def test_create_window(self, xproto_test):
+ wid = xproto_test.conn.generate_id()
+ cookie = xproto_test.create_window(wid=wid)
- cookie = self.xproto.GetGeometry(wid)
+ cookie = xproto_test.xproto.GetGeometry(wid)
reply = cookie.reply()
assert reply.x == 0
@@ -82,120 +84,123 @@
assert reply.width == 1
assert reply.height == 1
- def test_wait_for_nonexistent_request(self):
- try:
- self.conn.wait_for_reply(10)
- except xcffib.XcffibException:
- pass
- else:
- raise Exception("xcffib exception expected")
+ def test_wait_for_nonexistent_request(self, xproto_test):
+ with pytest.raises(xcffib.XcffibException):
+ xproto_test.conn.wait_for_reply(10)
- def test_no_windows(self):
+ def test_no_windows(self, xproto_test):
# Make sure there aren't any windows in the root window. This mostly
# just exists to make sure people aren't somehow mistakenly running a
# test in their own X session, which could corrupt results.
- reply = self.xproto.QueryTree(self.default_screen.root).reply()
+ reply = xproto_test.xproto.QueryTree(xproto_test.default_screen.root).reply()
assert reply.children_len == 0
assert len(reply.children) == 0
- def test_create_window_creates_window(self):
- wid = self.conn.generate_id()
- self.create_window(wid=wid)
- reply = self.xproto.QueryTree(self.default_screen.root).reply()
+ def test_create_window_creates_window(self, xproto_test):
+ wid = xproto_test.conn.generate_id()
+ xproto_test.create_window(wid=wid)
+ reply = xproto_test.xproto.QueryTree(xproto_test.default_screen.root).reply()
assert reply.children_len == 1
assert len(reply.children) == 1
assert reply.children[0] == wid
- def test_checking_unchecked_fails(self):
- try:
- wid = self.conn.generate_id()
- self.create_window(wid)
- self.xproto.QueryTreeUnchecked(self.default_screen.root).check()
- except AssertionError:
- pass
- else:
- raise Exception("expected assertion error")
-
- def test_checking_default_checked_fails(self):
- try:
- wid = self.conn.generate_id()
- self.create_window(wid)
- cookie = self.xproto.QueryTree(self.default_screen.root)
+ def test_checking_unchecked_fails(self, xproto_test):
+ with pytest.raises(AssertionError):
+ wid = xproto_test.conn.generate_id()
+ xproto_test.create_window(wid)
+ xproto_test.xproto.QueryTreeUnchecked(
+ xproto_test.default_screen.root
+ ).check()
+
+ def test_checking_default_checked_fails(self, xproto_test):
+ with pytest.raises(AssertionError):
+ wid = xproto_test.conn.generate_id()
+ xproto_test.create_window(wid)
+ cookie = xproto_test.xproto.QueryTree(xproto_test.default_screen.root)
cookie.check()
- except AssertionError:
- pass
- else:
- raise Exception("expected assertion error")
-
- def test_checking_foreced_checked_succeeds(self):
- wid = self.conn.generate_id()
- cookie = self.create_window(wid, is_checked=True)
+
+ def test_checking_foreced_checked_succeeds(self, xproto_test):
+ wid = xproto_test.conn.generate_id()
+ cookie = xproto_test.create_window(wid, is_checked=True)
cookie.check()
- def test_create_window_generates_event(self):
- self.xeyes()
- self.conn.flush()
+ def test_create_window_generates_event(self, xproto_test):
+ xproto_test.xeyes()
- e = self.conn.wait_for_event()
+ e = xproto_test.conn.wait_for_event()
assert isinstance(e, xcffib.xproto.CreateNotifyEvent)
- def test_query_invalid_wid_generates_error(self):
- try:
+ def test_query_invalid_wid_generates_error(self, xproto_test):
+ with pytest.raises(xcffib.xproto.WindowError):
# query a bad WINDOW
- self.xproto.QueryTree(0xf00).reply()
- except xcffib.xproto.WindowError:
- pass
- else:
- raise Exception("expected WindowError")
-
- def test_OpenFont(self):
- fid = self.conn.generate_id()
- self.xproto.OpenFont(fid, len("cursor"), "cursor")
-
- def test_ConfigureWindow(self):
- wid = self.conn.generate_id()
- self.create_window(wid=wid)
- self.xproto.ConfigureWindowChecked(wid, 0, []).check()
-
- def test_external_ConfigureWindow(self):
- self.xeyes()
- self.conn.flush()
-
- e = self.conn.wait_for_event()
-
- r = self.xproto.ConfigureWindowChecked(e.window, 0, []).check()
- r = self.xproto.DestroyWindowChecked(e.window).check()
-
- def test_ChangeProperty_WM_NAME(self):
- wid = self.conn.generate_id()
- self.create_window(wid=wid)
+ xproto_test.xproto.QueryTree(0xF00).reply()
- title = "test"
- self.xproto.ChangeProperty(xcffib.xproto.PropMode.Replace, wid,
- xcffib.xproto.Atom.WM_NAME, xcffib.xproto.Atom.STRING, 8,
- len(title), title)
+ def test_OpenFont(self, xproto_test):
+ fid = xproto_test.conn.generate_id()
+ xproto_test.xproto.OpenFont(fid, len("cursor"), "cursor")
+
+ def test_ConfigureWindow(self, xproto_test):
+ wid = xproto_test.conn.generate_id()
+ xproto_test.create_window(wid=wid)
+ xproto_test.xproto.ConfigureWindowChecked(wid, 0, []).check()
+
+ def test_external_ConfigureWindow(self, xproto_test):
+ xproto_test.xeyes()
+
+ e = xproto_test.conn.wait_for_event()
+
+ xproto_test.xproto.ConfigureWindowChecked(e.window, 0, []).check()
+ xproto_test.xproto.DestroyWindowChecked(e.window).check()
- reply = self.xproto.GetProperty(False, wid,
- xcffib.xproto.Atom.WM_NAME, xcffib.xproto.GetPropertyType.Any, 0, 1).reply()
+ def test_ChangeProperty_WM_NAME(self, xproto_test):
+ wid = xproto_test.conn.generate_id()
+ xproto_test.create_window(wid=wid)
+
+ title = "test"
+ xproto_test.xproto.ChangeProperty(
+ xcffib.xproto.PropMode.Replace,
+ wid,
+ xcffib.xproto.Atom.WM_NAME,
+ xcffib.xproto.Atom.STRING,
+ 8,
+ len(title),
+ title,
+ )
+
+ reply = xproto_test.xproto.GetProperty(
+ False,
+ wid,
+ xcffib.xproto.Atom.WM_NAME,
+ xcffib.xproto.GetPropertyType.Any,
+ 0,
+ 1,
+ ).reply()
assert reply.value.to_string() == title
- def test_ChangeProperty_NET_WM_NAME(self):
- wid = self.conn.generate_id()
- self.create_window(wid=wid)
+ def test_ChangeProperty_NET_WM_NAME(self, xproto_test):
+ wid = xproto_test.conn.generate_id()
+ xproto_test.create_window(wid=wid)
- net_wm_name = self.intern("_NET_WM_NAME")
- utf8_string = self.intern("UTF8_STRING")
+ net_wm_name = xproto_test.intern("_NET_WM_NAME")
+ utf8_string = xproto_test.intern("UTF8_STRING")
title_bytes = b"test\xc2\xb7"
title_string = six.u("test\u00B7")
# First check with an object already encoded as bytes
- self.xproto.ChangeProperty(xcffib.xproto.PropMode.Replace, wid,
- net_wm_name, utf8_string, 8,
- len(title_bytes), title_bytes)
-
- reply = self.xproto.GetProperty(False, wid,
- net_wm_name, xcffib.xproto.GetPropertyType.Any, 0, (2 ** 32) - 1).reply()
+ xproto_test.xproto.ChangeProperty(
+ xcffib.xproto.PropMode.Replace,
+ wid,
+ net_wm_name,
+ utf8_string,
+ 8,
+ len(title_bytes),
+ title_bytes,
+ )
+
+ reply = xproto_test.xproto.GetProperty(
+ False, wid, net_wm_name, xcffib.xproto.GetPropertyType.Any, 0, (2 ** 32) - 1
+ ).reply()
print(reply.value.buf())
assert reply.value.buf() == title_bytes
@@ -203,106 +208,124 @@
assert reply.value.to_utf8() == title_string
# Also check with a unicode string
- self.xproto.ChangeProperty(xcffib.xproto.PropMode.Replace, wid,
- net_wm_name, utf8_string, 8,
- len(title_string.encode('utf-8')), title_string)
-
- reply = self.xproto.GetProperty(False, wid,
- net_wm_name, xcffib.xproto.GetPropertyType.Any, 0, (2 ** 32) - 1).reply()
+ xproto_test.xproto.ChangeProperty(
+ xcffib.xproto.PropMode.Replace,
+ wid,
+ net_wm_name,
+ utf8_string,
+ 8,
+ len(title_string.encode("utf-8")),
+ title_string,
+ )
+
+ reply = xproto_test.xproto.GetProperty(
+ False, wid, net_wm_name, xcffib.xproto.GetPropertyType.Any, 0, (2 ** 32) - 1
+ ).reply()
assert reply.value.buf() == title_bytes
assert reply.value.to_utf8() == title_string
- def test_ChangeProperty_WM_PROTOCOLS(self):
- wid = self.conn.generate_id()
- self.create_window(wid=wid)
-
- wm_protocols = self.intern("WM_PROTOCOLS")
-
- wm_delete_window = self.intern("WM_DELETE_WINDOW")
-
- self.xproto.ChangeProperty(xcffib.xproto.PropMode.Replace, wid,
- wm_protocols, xcffib.xproto.Atom.ATOM, 32,
- 1, (wm_delete_window,))
- # For Python 2 only, make sure packing can handle both ints and longs
- if six.PY2:
- self.xproto.ChangeProperty(xcffib.xproto.PropMode.Replace, wid,
- wm_protocols, xcffib.xproto.Atom.ATOM, 32,
- 1, (long(wm_delete_window),))
-
- reply = self.xproto.GetProperty(False, wid, wm_protocols, xcffib.xproto.Atom.ATOM, 0, 1).reply()
+ def test_ChangeProperty_WM_PROTOCOLS(self, xproto_test):
+ wid = xproto_test.conn.generate_id()
+ xproto_test.create_window(wid=wid)
+
+ wm_protocols = xproto_test.intern("WM_PROTOCOLS")
+
+ wm_delete_window = xproto_test.intern("WM_DELETE_WINDOW")
+
+ xproto_test.xproto.ChangeProperty(
+ xcffib.xproto.PropMode.Replace,
+ wid,
+ wm_protocols,
+ xcffib.xproto.Atom.ATOM,
+ 32,
+ 1,
+ (wm_delete_window,),
+ )
+
+ reply = xproto_test.xproto.GetProperty(
+ False, wid, wm_protocols, xcffib.xproto.Atom.ATOM, 0, 1
+ ).reply()
assert reply.value.to_atoms() == (wm_delete_window,)
- wm_take_focus = self.intern("WM_TAKE_FOCUS")
-
- self.xproto.ChangeProperty(xcffib.xproto.PropMode.Replace, wid,
- wm_protocols, xcffib.xproto.Atom.ATOM, 32,
- 1, (wm_take_focus,))
+ wm_take_focus = xproto_test.intern("WM_TAKE_FOCUS")
- reply = self.xproto.GetProperty(False, wid, wm_protocols, xcffib.xproto.Atom.ATOM, 0, 1).reply()
+ xproto_test.xproto.ChangeProperty(
+ xcffib.xproto.PropMode.Replace,
+ wid,
+ wm_protocols,
+ xcffib.xproto.Atom.ATOM,
+ 32,
+ 1,
+ (wm_take_focus,),
+ )
+
+ reply = xproto_test.xproto.GetProperty(
+ False, wid, wm_protocols, xcffib.xproto.Atom.ATOM, 0, 1
+ ).reply()
assert reply.value.to_atoms() == (wm_take_focus,)
- def test_GetAtomName(self):
+ def test_GetAtomName(self, xproto_test):
wm_protocols = "WM_PROTOCOLS"
- atom = self.intern(wm_protocols)
- atom_name = self.xproto.GetAtomName(atom).reply().name
+ atom = xproto_test.intern(wm_protocols)
+ atom_name = xproto_test.xproto.GetAtomName(atom).reply().name
assert atom_name.to_string() == wm_protocols
- def test_KillClient(self):
- self.xeyes()
-
- self.conn.flush()
+ def test_KillClient(self, xproto_test):
+ xproto_test.xeyes()
- e1 = self.conn.wait_for_event()
- self.xproto.KillClient(e1.window)
+ e1 = xproto_test.conn.wait_for_event()
+ xproto_test.xproto.KillClient(e1.window)
# one is MapRequest and the other is DestroyNotify, they may be in
# either order
for _ in range(2):
- self.conn.flush()
- k1 = self.conn.wait_for_event()
+ xproto_test.conn.flush()
+ k1 = xproto_test.conn.wait_for_event()
if isinstance(k1, xcffib.xproto.DestroyNotifyEvent):
assert e1.window == k1.window
return
assert False, "no DestroyNotifyEvent"
- def test_connect(self):
+ def test_connect(self, xproto_test):
c = xcffib.connect()
c.invalid()
assert c.has_error() == 0
c.disconnect()
- def test_auth_connect(self):
+ def test_auth_connect(self, xproto_test):
authname = six.b("MIT-MAGIC-COOKIE-1")
- authdata = six.b("\xa5\xcf\x95\xfa\x19\x49\x03\x60\xaf\xe4\x1e\xcd\xa3\xe2\xad\x47")
+ authdata = six.b(
+ "\xa5\xcf\x95\xfa\x19\x49\x03\x60\xaf\xe4\x1e\xcd\xa3\xe2\xad\x47"
+ )
- authstr = authname + six.b(':') + authdata
+ authstr = authname + six.b(":") + authdata
- conn = xcffib.connect(display=os.environ['DISPLAY'], auth=authstr)
+ conn = xcffib.connect(display=os.environ["DISPLAY"], auth=authstr)
assert conn.get_setup().roots[0].root > 0
# This is an adaptation of the test from #27
- def test_build_atom_cache(self):
+ def test_build_atom_cache(self, xproto_test):
# This will hold the forward *and* reverse lookups for any given atom
atoms = {}
cookies = []
# Batch the replies by creating a list of cookies first:
for i in range(1, 10000):
- c = self.conn.core.GetAtomName(i)
+ c = xproto_test.conn.core.GetAtomName(i)
cookies.append((i, c))
for i, c in cookies:
try:
name = c.reply().name.to_string()
except xcffib.xproto.BadAtom:
continue
- atoms.update({i: name}) # Lookup by number
- atoms.update({name: i}) # Lookup by name
+ atoms.update({i: name}) # Lookup by number
+ atoms.update({name: i}) # Lookup by name
- def test_wrap(self):
+ def test_wrap(self, xproto_test):
c = xcffib.connect()
c.invalid()
c2 = xcffib.wrap(xcffib.ffi.cast("long", c._conn))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/test/test_crazy_window_script.py new/xcffib-0.12.1/test/test_crazy_window_script.py
--- old/xcffib-0.11.1/test/test_crazy_window_script.py 2019-12-29 01:30:22.000000000 +0100
+++ new/xcffib-0.12.1/test/test_crazy_window_script.py 2022-05-03 23:36:42.000000000 +0200
@@ -23,7 +23,6 @@
"""
This is mostly stolen from qtile's tests/scripts/window.py
"""
-from __future__ import print_function
import os
import sys
import struct
@@ -31,15 +30,14 @@
import xcffib
import xcffib.xproto
from xcffib.xproto import EventMask
-from xcffib.testing import XvfbTest
-class TestWindow(XvfbTest):
- def test_the_script(self):
+class TestWindow:
+ def test_the_script(self, xcffib_test):
NAME = "one"
for i in range(20):
try:
- conn = xcffib.connect(os.environ['DISPLAY'])
+ conn = xcffib.connect(os.environ["DISPLAY"])
except xcffib.ConnectionException:
time.sleep(0.1)
continue
@@ -48,51 +46,104 @@
sys.exit(1)
break
else:
- print("Could not open window on display %s" % (sys.argv[1]), file=sys.stderr)
+ print(
+ "Could not open window on display %s" % (sys.argv[1]), file=sys.stderr
+ )
sys.exit(1)
screen = conn.get_setup().roots[conn.pref_screen]
window = conn.generate_id()
- background = conn.core.AllocColor(screen.default_colormap, 0x2828, 0x8383, 0xCECE).reply().pixel # Color "#2883ce"
- conn.core.CreateWindow(xcffib.CopyFromParent, window, screen.root,
- 100, 100, 100, 100, 1,
- xcffib.xproto.WindowClass.InputOutput, screen.root_visual,
- xcffib.xproto.CW.BackPixel | xcffib.xproto.CW.EventMask,
- [background, xcffib.xproto.EventMask.StructureNotify | xcffib.xproto.EventMask.Exposure])
-
- conn.core.ChangeProperty(xcffib.xproto.PropMode.Replace,
- window, xcffib.xproto.Atom.WM_NAME,
- xcffib.xproto.Atom.STRING, 8, len(NAME),
- NAME)
+ background = (
+ conn.core.AllocColor(screen.default_colormap, 0x2828, 0x8383, 0xCECE)
+ .reply()
+ .pixel
+ ) # Color "#2883ce"
+ conn.core.CreateWindow(
+ xcffib.CopyFromParent,
+ window,
+ screen.root,
+ 100,
+ 100,
+ 100,
+ 100,
+ 1,
+ xcffib.xproto.WindowClass.InputOutput,
+ screen.root_visual,
+ xcffib.xproto.CW.BackPixel | xcffib.xproto.CW.EventMask,
+ [
+ background,
+ xcffib.xproto.EventMask.StructureNotify
+ | xcffib.xproto.EventMask.Exposure,
+ ],
+ )
+
+ conn.core.ChangeProperty(
+ xcffib.xproto.PropMode.Replace,
+ window,
+ xcffib.xproto.Atom.WM_NAME,
+ xcffib.xproto.Atom.STRING,
+ 8,
+ len(NAME),
+ NAME,
+ )
wm_protocols = "WM_PROTOCOLS"
- wm_protocols = conn.core.InternAtom(0, len(wm_protocols), wm_protocols).reply().atom
+ wm_protocols = (
+ conn.core.InternAtom(0, len(wm_protocols), wm_protocols).reply().atom
+ )
wm_delete_window = "WM_DELETE_WINDOW"
- wm_delete_window = conn.core.InternAtom(0, len(wm_delete_window), wm_delete_window).reply().atom
+ wm_delete_window = (
+ conn.core.InternAtom(0, len(wm_delete_window), wm_delete_window)
+ .reply()
+ .atom
+ )
- conn.core.ChangeProperty(xcffib.xproto.PropMode.Replace,
- window, wm_protocols,
- xcffib.xproto.Atom.ATOM, 32, 1,
- [wm_delete_window])
-
- conn.core.ConfigureWindow(window,
- xcffib.xproto.ConfigWindow.X | xcffib.xproto.ConfigWindow.Y |
- xcffib.xproto.ConfigWindow.Width | xcffib.xproto.ConfigWindow.Height |
- xcffib.xproto.ConfigWindow.BorderWidth,
- [0, 0, 100, 100, 1])
+ conn.core.ChangeProperty(
+ xcffib.xproto.PropMode.Replace,
+ window,
+ wm_protocols,
+ xcffib.xproto.Atom.ATOM,
+ 32,
+ 1,
+ [wm_delete_window],
+ )
+
+ conn.core.ConfigureWindow(
+ window,
+ xcffib.xproto.ConfigWindow.X
+ | xcffib.xproto.ConfigWindow.Y
+ | xcffib.xproto.ConfigWindow.Width
+ | xcffib.xproto.ConfigWindow.Height
+ | xcffib.xproto.ConfigWindow.BorderWidth,
+ [0, 0, 100, 100, 1],
+ )
conn.core.MapWindow(window)
conn.flush()
- conn.core.ConfigureWindow(window,
- xcffib.xproto.ConfigWindow.X | xcffib.xproto.ConfigWindow.Y |
- xcffib.xproto.ConfigWindow.Width | xcffib.xproto.ConfigWindow.Height |
- xcffib.xproto.ConfigWindow.BorderWidth,
- [0, 0, 100, 100, 1])
+ conn.core.ConfigureWindow(
+ window,
+ xcffib.xproto.ConfigWindow.X
+ | xcffib.xproto.ConfigWindow.Y
+ | xcffib.xproto.ConfigWindow.Width
+ | xcffib.xproto.ConfigWindow.Height
+ | xcffib.xproto.ConfigWindow.BorderWidth,
+ [0, 0, 100, 100, 1],
+ )
# now kill the window from the "wm" side via WM_DELETE_WINDOW protocol
- WM_PROTOCOLS = self.conn.core.InternAtom(False, len("WM_PROTOCOLS"), "WM_PROTOCOLS").reply().atom
- WM_DELETE_WINDOW = self.conn.core.InternAtom(False, len("WM_DELETE_WINDOW"), "WM_DELETE_WINDOW").reply().atom
+ WM_PROTOCOLS = (
+ xcffib_test.conn.core.InternAtom(False, len("WM_PROTOCOLS"), "WM_PROTOCOLS")
+ .reply()
+ .atom
+ )
+ WM_DELETE_WINDOW = (
+ xcffib_test.conn.core.InternAtom(
+ False, len("WM_DELETE_WINDOW"), "WM_DELETE_WINDOW"
+ )
+ .reply()
+ .atom
+ )
vals = [
33, # ClientMessageEvent
32, # Format
@@ -105,10 +156,10 @@
0,
0,
]
- e = struct.pack('BBHII5I', *vals)
- self.conn.core.SendEvent(False, window, EventMask.NoEvent, e)
+ e = struct.pack("BBHII5I", *vals)
+ xcffib_test.conn.core.SendEvent(False, window, EventMask.NoEvent, e)
- self.conn.flush()
+ xcffib_test.conn.flush()
while 1:
conn.flush()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/test/test_fakeinput.py new/xcffib-0.12.1/test/test_fakeinput.py
--- old/xcffib-0.11.1/test/test_fakeinput.py 2019-12-29 01:30:22.000000000 +0100
+++ new/xcffib-0.12.1/test/test_fakeinput.py 2022-05-03 23:36:42.000000000 +0200
@@ -2,46 +2,45 @@
import xcffib.xproto
import xcffib.xtest
-from .testing import XcffibTest
-class TestConnection(XcffibTest):
- def test_fakeinput(self):
- xtest = self.conn(xcffib.xtest.key)
-
- setup = self.conn.get_setup()
- screen = setup.roots[0]
- def test(x, y):
- # motion
- xtest.FakeInput(
- 6,
- 0,
- xcffib.xproto.Time.CurrentTime,
- screen.root,
- x,
- y,
- 0)
-
- # press
- xtest.FakeInput(
- 4,
- 1,
- xcffib.xproto.Time.CurrentTime,
- screen.root,
- 0,
- 0,
- 0)
-
- # release
- xtest.FakeInput(
- 5,
- 1,
- xcffib.xproto.Time.CurrentTime,
- screen.root,
- 2,
- 2,
- 0)
- self.conn.flush()
- test(50, 10)
+def test_fakeinput(xcffib_test):
+ xtest = xcffib_test.conn(xcffib.xtest.key)
- # we shouldn't get any errors
- self.conn.poll_for_event()
+ setup = xcffib_test.conn.get_setup()
+ screen = setup.roots[0]
+
+ def test(x, y):
+ # motion
+ xtest.FakeInput(
+ 6,
+ 0,
+ xcffib.xproto.Time.CurrentTime,
+ screen.root,
+ x,
+ y,
+ 0)
+
+ # press
+ xtest.FakeInput(
+ 4,
+ 1,
+ xcffib.xproto.Time.CurrentTime,
+ screen.root,
+ 0,
+ 0,
+ 0)
+
+ # release
+ xtest.FakeInput(
+ 5,
+ 1,
+ xcffib.xproto.Time.CurrentTime,
+ screen.root,
+ 2,
+ 2,
+ 0)
+ xcffib_test.conn.flush()
+ test(50, 10)
+
+ # we shouldn't get any errors
+ xcffib_test.conn.poll_for_event()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/test/test_python_code.py new/xcffib-0.12.1/test/test_python_code.py
--- old/xcffib-0.11.1/test/test_python_code.py 2019-12-29 01:30:22.000000000 +0100
+++ new/xcffib-0.12.1/test/test_python_code.py 2022-06-18 16:35:59.000000000 +0200
@@ -20,9 +20,10 @@
import sys
from xcffib.xproto import EventMask
-from .testing import XcffibTest
+from .conftest import XcffibTest
-class TestPythonCode(XcffibTest):
+
+class TestPythonCode:
def test_struct_pack_uses_List(self):
# suppose we have a list of ints...
@@ -65,9 +66,9 @@
assert om[1] == "Event1,0"
assert om[2] == "Event1,1"
- def test_create_ClientMessageEvent(self):
- wm_protocols = self.intern("WM_PROTOCOLS")
- wm_delete_window = self.intern("WM_DELETE_WINDOW")
+ def test_create_ClientMessageEvent(self, xcffib_test):
+ wm_protocols = xcffib_test.intern("WM_PROTOCOLS")
+ wm_delete_window = xcffib_test.intern("WM_DELETE_WINDOW")
# should be exactly 20 bytes
data = [
@@ -81,11 +82,11 @@
union = xcffib.xproto.ClientMessageData.synthetic(data, "I" * 5)
assert list(union.data32) == data
- wid = self.conn.generate_id()
- self.create_window(wid=wid)
+ wid = xcffib_test.conn.generate_id()
+ xcffib_test.create_window(wid=wid)
- wm_protocols = self.intern("WM_PROTOCOLS")
- wm_delete_window = self.intern("WM_DELETE_WINDOW")
+ wm_protocols = xcffib_test.intern("WM_PROTOCOLS")
+ wm_delete_window = xcffib_test.intern("WM_DELETE_WINDOW")
e = xcffib.xproto.ClientMessageEvent.synthetic(
format=32,
@@ -94,18 +95,18 @@
data=union
)
- self.xproto.SendEvent(False, wid, EventMask.NoEvent, e.pack())
- self.conn.flush()
+ xcffib_test.xproto.SendEvent(False, wid, EventMask.NoEvent, e.pack())
+ xcffib_test.conn.flush()
- e = self.conn.wait_for_event()
+ e = xcffib_test.conn.wait_for_event()
assert isinstance(e, xcffib.xproto.ClientMessageEvent)
assert e.window == wid
assert list(e.data.data32) == data
- def test_pack_from_event(self):
- wm_protocols = self.intern("WM_PROTOCOLS")
- wm_delete_window = self.intern("WM_DELETE_WINDOW")
- wid = self.conn.generate_id()
+ def test_pack_from_event(self, xcffib_test):
+ wm_protocols = xcffib_test.intern("WM_PROTOCOLS")
+ wm_delete_window = xcffib_test.intern("WM_DELETE_WINDOW")
+ wid = xcffib_test.conn.generate_id()
# should be exactly 20 bytes
data = [
@@ -126,9 +127,9 @@
e2 = xcffib.xproto.ClientMessageEvent(e)
- def test_get_image(self):
+ def test_get_image(self, xcffib_test):
# adapted from: https://gist.github.com/liftoff/4741790
- setup = self.conn.get_setup()
+ setup = xcffib_test.conn.get_setup()
screen = setup.roots[0]
width = screen.width_in_pixels
height = screen.height_in_pixels
@@ -137,12 +138,12 @@
# GetImage requires an output format as the first arg. We want ZPixmap:
output_format = xcffib.xproto.ImageFormat.ZPixmap
plane_mask = 2**32 - 1 # No idea what this is but it works!
- reply = self.conn.core.GetImage(
+ reply = xcffib_test.conn.core.GetImage(
output_format, root, 0, 0, width, height, plane_mask).reply()
reply.data.buf()
-class TestXcffibTestGenerator(object):
+class TestXcffibTestGenerator:
def test_XcffibTest_generator(self):
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/test/testing.py new/xcffib-0.12.1/test/testing.py
--- old/xcffib-0.11.1/test/testing.py 2019-12-29 01:30:22.000000000 +0100
+++ new/xcffib-0.12.1/test/testing.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,69 +0,0 @@
-# Copyright 2014 Tycho Andersen
-#
-# 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.
-
-import xcffib
-from xcffib.testing import XvfbTest
-from xcffib.xproto import EventMask
-
-
-class XcffibTest(XvfbTest):
- """ A home for common functions needed for xcffib testing. """
-
- def setUp(self):
- XvfbTest.setUp(self)
- self.xproto = xcffib.xproto.xprotoExtension(self.conn)
-
- def tearDown(self):
- self.xproto = None
- XvfbTest.tearDown(self)
-
- @property
- def default_screen(self):
- return self.conn.setup.roots[self.conn.pref_screen]
-
- def create_window(self, wid=None, x=0, y=0, w=1, h=1, is_checked=False):
- if wid is None:
- wid = self.conn.generate_id()
- return self.xproto.CreateWindow(
- self.default_screen.root_depth,
- wid,
- self.default_screen.root,
- x, y, w, h,
- 0,
- xcffib.xproto.WindowClass.InputOutput,
- self.default_screen.root_visual,
- xcffib.xproto.CW.BackPixel | xcffib.xproto.CW.EventMask,
- [
- self.default_screen.black_pixel,
- xcffib.xproto.EventMask.StructureNotify
- ],
- is_checked=is_checked
- )
-
- def xeyes(self):
- # Enable CreateNotify
- self.xproto.ChangeWindowAttributes(
- self.default_screen.root,
- xcffib.xproto.CW.EventMask,
- [
- EventMask.SubstructureNotify |
- EventMask.StructureNotify |
- EventMask.SubstructureRedirect
- ]
- )
-
- self.spawn(['xeyes'])
-
- def intern(self, name):
- return self.xproto.InternAtom(False, len(name), name).reply().atom
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/xcffib/__init__.py new/xcffib-0.12.1/xcffib/__init__.py
--- old/xcffib-0.11.1/xcffib/__init__.py 2020-11-29 16:55:26.000000000 +0100
+++ new/xcffib-0.12.1/xcffib/__init__.py 2022-09-25 16:44:39.000000000 +0200
@@ -37,8 +37,8 @@
soname = "libxcb.so"
lib = ffi.dlopen(soname)
-__xcb_proto_version__ = "1.14"
-__version__ = "0.11.1"
+__xcb_proto_version__ = "1.14.1"
+__version__ = "0.12.1"
X_PROTOCOL = lib.X_PROTOCOL
X_PROTOCOL_REVISION = lib.X_PROTOCOL_REVISION
@@ -126,10 +126,11 @@
@classmethod
def synthetic(cls, data, format):
self = cls.__new__(cls)
+ self.__init__(len(data))
self.buf = data
self.offset = 0
self.size = len(data)
- self.size
+ return self
class CffiUnpacker(Unpacker):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/xcffib/testing.py new/xcffib-0.12.1/xcffib/testing.py
--- old/xcffib-0.11.1/xcffib/testing.py 2020-11-29 16:55:26.000000000 +0100
+++ new/xcffib-0.12.1/xcffib/testing.py 2022-09-25 16:44:39.000000000 +0200
@@ -44,7 +44,7 @@
return display, f
-class XvfbTest(object):
+class XvfbTest:
""" A helper class for testing things with nosetests. This class will run
each test in its own fresh xvfb, leaving you with an xcffib connection to
@@ -61,7 +61,13 @@
def spawn(self, cmd):
""" Spawn a command but swallow its output. """
- return subprocess.Popen(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+ return subprocess.Popen(cmd)
+
+ def _restore_display(self):
+ if self._old_display is None:
+ del os.environ['DISPLAY']
+ else:
+ os.environ['DISPLAY'] = self._old_display
def setUp(self):
self._old_display = os.environ.get('DISPLAY')
@@ -74,7 +80,11 @@
# xtrace's default display is :9; obviously this won't work
# concurrently, but it's not the default so...
os.environ['DISPLAY'] = ':9'
- self.conn = self._connect_to_xvfb()
+ try:
+ self.conn = self._connect_to_xvfb()
+ except AssertionError:
+ self._restore_display()
+ raise
def tearDown(self):
try:
@@ -100,11 +110,8 @@
# cleaned it up during a test.
if e.errno != errno.ENOENT:
raise
-
- if self._old_display is None:
- del os.environ['DISPLAY']
- else:
- os.environ['DISPLAY'] = self._old_display
+ finally:
+ self._restore_display()
def __enter__(self):
self.setUp()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/xcffib.egg-info/PKG-INFO new/xcffib-0.12.1/xcffib.egg-info/PKG-INFO
--- old/xcffib-0.11.1/xcffib.egg-info/PKG-INFO 2020-11-29 16:55:27.000000000 +0100
+++ new/xcffib-0.12.1/xcffib.egg-info/PKG-INFO 2022-09-25 16:44:39.000000000 +0200
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: xcffib
-Version: 0.11.1
+Version: 0.12.1
Summary: A drop in replacement for xpyb, an XCB python binding
Home-page: http://github.com/tych0/xcffib
Author: Tycho Andersen
Author-email: tycho(a)tycho.pizza
License: Apache License 2.0
-Description: UNKNOWN
Keywords: xcb xpyb cffi x11 x windows
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
@@ -19,3 +18,7 @@
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries
+License-File: LICENSE
+
+UNKNOWN
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xcffib-0.11.1/xcffib.egg-info/SOURCES.txt new/xcffib-0.12.1/xcffib.egg-info/SOURCES.txt
--- old/xcffib-0.11.1/xcffib.egg-info/SOURCES.txt 2020-11-29 16:55:27.000000000 +0100
+++ new/xcffib-0.12.1/xcffib.egg-info/SOURCES.txt 2022-09-25 16:44:39.000000000 +0200
@@ -3,11 +3,11 @@
README.md
setup.py
test/__init__.py
+test/conftest.py
test/test_connection.py
test/test_crazy_window_script.py
test/test_fakeinput.py
test/test_python_code.py
-test/testing.py
xcffib/__init__.py
xcffib/bigreq.py
xcffib/composite.py
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-csv23 for openSUSE:Factory checked in at 2022-10-01 17:42:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-csv23 (Old)
and /work/SRC/openSUSE:Factory/.python-csv23.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-csv23"
Sat Oct 1 17:42:12 2022 rev:3 rq:1006503 version:0.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-csv23/python-csv23.changes 2021-12-25 20:16:33.441245293 +0100
+++ /work/SRC/openSUSE:Factory/.python-csv23.new.2275/python-csv23.changes 2022-10-01 17:42:18.337577126 +0200
@@ -1,0 +2,6 @@
+Tue Sep 27 15:24:11 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam(a)suse.com>
+
+- Update to 0.3.4
+ * Drop Python 3.6 support.
+
+-------------------------------------------------------------------
Old:
----
csv23-0.3.3.zip
New:
----
csv23-0.3.4.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-csv23.spec ++++++
--- /var/tmp/diff_new_pack.z3TuQL/_old 2022-10-01 17:42:19.821579832 +0200
+++ /var/tmp/diff_new_pack.z3TuQL/_new 2022-10-01 17:42:19.825579840 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-csv23
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-csv23
-Version: 0.3.3
+Version: 0.3.4
Release: 0
License: MIT
Summary: Python 2/3 unicode CSV compatibility layer
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openmpi4 for openSUSE:Factory checked in at 2022-10-01 17:42:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openmpi4 (Old)
and /work/SRC/openSUSE:Factory/.openmpi4.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openmpi4"
Sat Oct 1 17:42:11 2022 rev:8 rq:1006489 version:4.1.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/openmpi4/openmpi4.changes 2022-09-06 13:01:02.722968840 +0200
+++ /work/SRC/openSUSE:Factory/.openmpi4.new.2275/openmpi4.changes 2022-10-01 17:42:17.533575659 +0200
@@ -1,0 +2,16 @@
+Fri Sep 23 10:24:16 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Replace btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch
+ by btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch to add ConnectX4 VF suppor
+
+-------------------------------------------------------------------
+Thu Sep 8 09:32:41 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Enable libfabric on all arch
+- Switch to external libevent for all flavors
+- Switch to external hwloc and PMIx for HPC builds
+- Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages
+- Add patch btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch to support
+ ConnectX 5 and 6 VF
+
+-------------------------------------------------------------------
Old:
----
openmpi-4.1.4.0.ffb0adcdd6.tar.zst
New:
----
btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
openmpi-4.1.4.0.ffb0adcdd677.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openmpi4.spec ++++++
--- /var/tmp/diff_new_pack.aq5CfU/_old 2022-10-01 17:42:18.065576630 +0200
+++ /var/tmp/diff_new_pack.aq5CfU/_new 2022-10-01 17:42:18.073576644 +0200
@@ -117,9 +117,14 @@
%global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER})
%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}
%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}
+%{bcond_without pmix}
+%{bcond_without hwloc}
+%else
+%{bcond_with pmix}
+%{bcond_with hwloc}
%endif
-%define git_ver .0.ffb0adcdd6
+%define git_ver .0.ffb0adcdd677
#############################################################################
#
@@ -134,12 +139,13 @@
License: BSD-3-Clause
Group: Development/Libraries/Parallel
URL: https://www.open-mpi.org/
-Source0: openmpi-%{version}%{git_ver}.tar.zst
+Source0: openmpi-%{version}%{git_ver}.tar.bz2
Source2: openmpi4-rpmlintrc
Source3: macros.hpc-openmpi
Source4: mpivars.sh
Source5: mpivars.csh
Patch1: orted-mpir-add-version-to-shared-library.patch
+Patch2: btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
Provides: mpi
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
@@ -147,10 +153,13 @@
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: hostname
+BuildRequires: libevent-devel
+BuildRequires: libfabric-devel
BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel
BuildRequires: libtool
-BuildRequires: zstd
+# net-tools is required to run hostname
+BuildRequires: net-tools
%if 0%{?testsuite}
BuildArch: noarch
BuildRequires: %{package_name} = %{version}
@@ -161,6 +170,12 @@
BuildRequires: libucs-devel
BuildRequires: libuct-devel
%endif
+%if %{with hwloc}
+BuildRequires: hwloc-devel
+%endif
+%if %{with pmix}
+BuildRequires: pmix-devel
+%endif
%if %{without hpc}
BuildRequires: Modules
BuildRequires: gcc-c++
@@ -181,7 +196,6 @@
%ifarch %{ix86} x86_64
BuildRequires: infinipath-psm-devel
-BuildRequires: libfabric-devel
%endif
%ifarch x86_64
@@ -360,9 +374,11 @@
Group: Development/Libraries/Parallel
Provides: openmpi-runtime-config = %{version}
Conflicts: otherproviders(openmpi-runtime-config)
+%if %{without pmix}
# OpenMPI4 is PMIx enabled
Provides: pmix-runtime-config = %{version}
Conflicts: otherproviders(pmix-runtime-config)
+%endif
%description -n %{pname}%{m_f_ver}-config
OpenMPI is an implementation of the Message Passing Interface, a
@@ -399,6 +415,7 @@
%endif
%setup -q -n openmpi-%{version}%{git_ver}
%patch1
+%patch2
%if %{without hpc}
cat > %{_sourcedir}/baselibs.conf <<EOF
@@ -442,9 +459,17 @@
--enable-builtin-atomics \
--with-libltdl=%{_prefix} \
--with-verbs \
+ --with-libfabric \
--enable-mpi-thread-multiple \
--disable-wrapper-rpath \
--with-slurm \
+ --with-libevent=external \
+%if %{with hwloc}
+ --with-hwloc=external \
+%endif
+%if %{with pmix}
+ --with-pmix=external \
+%endif
%if 0%{?with_ucx}
--with-ucx \
--with-ucx-libdir=/usr/%_lib \
@@ -595,8 +620,10 @@
rm -f %{buildroot}%{_sysconfdir}/openmpi-default-hostfile
rm -f %{buildroot}%{_sysconfdir}/openmpi-mca-params.conf
rm -f %{buildroot}%{_sysconfdir}/openmpi-totalview.tcl
+%if %{without pmix}
rm -f %{buildroot}%{_sysconfdir}/pmix-mca-params.conf
%endif
+%endif
%if %{without hpc}
%post
@@ -678,8 +705,10 @@
%{mpi_datadir}/openmpi/mca-btl-openib-device-params.ini
%{mpi_datadir}/openmpi/*-data.txt
%{mpi_datadir}/openmpi/help-*.txt
+%if %{without pmix}
%dir %{mpi_datadir}/pmix
%{mpi_datadir}/pmix/help-*.txt
+%endif
%files %{!?with_hpc:libs}%{?with_hpc:-n lib%{name}}
%defattr(-,root,root)
@@ -687,7 +716,7 @@
%dir %mpi_libdir/
%mpi_libdir/*.so.*
%{mpi_libdir}/openmpi/*.so
-%if 0%{!?build_static_devel:1}
+%if %{without pmix}
%dir %mpi_libdir/pmix/
%{mpi_libdir}/pmix/*.so
%endif
@@ -727,7 +756,9 @@
%{mpi_bindir}/shmemfort
%endif
%{mpi_datadir}/openmpi/openmpi-valgrind.supp
+%if %{without pmix}
%{mpi_datadir}/pmix/pmix-valgrind.supp
+%endif
%files docs
%defattr(-, root, root, -)
@@ -754,7 +785,9 @@
%files -n %{pname}%{m_f_ver}-config
%config %{_sysconfdir}/openmpi-default-hostfile
%config %{_sysconfdir}/openmpi-mca-params.conf
+%if %{without pmix}
%config %{_sysconfdir}/pmix-mca-params.conf
+%endif
%{_sysconfdir}/openmpi-totalview.tcl
%endif
++++++ _service ++++++
--- /var/tmp/diff_new_pack.aq5CfU/_old 2022-10-01 17:42:18.113576717 +0200
+++ /var/tmp/diff_new_pack.aq5CfU/_new 2022-10-01 17:42:18.117576724 +0200
@@ -7,11 +7,12 @@
<param name="filename">openmpi</param>
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">v(.*)</param>
- <param name="revision">v4.1.4</param>
+ <param name="versionrewrite-replacement">\1</param>
+ <param name="revision">ffb0adcdd677a02ab396145c40352f8189132b86</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">openmpi*.tar</param>
- <param name="compression">zst</param>
+ <param name="compression">bz2</param>
</service>
</services>
++++++ btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch ++++++
commit 034e90d7efb94011d7018266586588801c3afdbc
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
Date: Tue Sep 13 15:48:03 2022 +0200
btl: openib: Add VF support for ConnectX 4, 5 and 6
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini
index c46c303a35d5..b9949de235b8 100644
--- opal/mca/btl/openib/mca-btl-openib-device-params.ini
+++ opal/mca/btl/openib/mca-btl-openib-device-params.ini
@@ -174,7 +174,7 @@ max_inline_data = 256
[Mellanox ConnectX4]
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
-vendor_part_id = 4115,4117
+vendor_part_id = 4115,4116,4117,4118
use_eager_rdma = 1
mtu = 4096
max_inline_data = 256
@@ -183,7 +183,7 @@ max_inline_data = 256
[Mellanox ConnectX5]
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
-vendor_part_id = 4119,4121
+vendor_part_id = 4119,4120,4121,4122
use_eager_rdma = 1
mtu = 4096
max_inline_data = 256
@@ -192,7 +192,7 @@ max_inline_data = 256
[Mellanox ConnectX6]
vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
-vendor_part_id = 4123
+vendor_part_id = 4123,4124
use_eager_rdma = 1
mtu = 4096
max_inline_data = 256
++++++ openmpi-4.1.4.0.ffb0adcdd6.tar.zst -> openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/openmpi4/openmpi-4.1.4.0.ffb0adcdd6.tar.zst /work/SRC/openSUSE:Factory/.openmpi4.new.2275/openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 differ: char 1, line 1
++++++ openmpi4-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.aq5CfU/_old 2022-10-01 17:42:18.205576885 +0200
+++ /var/tmp/diff_new_pack.aq5CfU/_new 2022-10-01 17:42:18.209576892 +0200
@@ -6,4 +6,5 @@
addFilter("openmpi.*-libs.* rpath-in-buildconfig")
addFilter("openmpi.*-libs.* shared-lib-calls-exit")
addFilter("openmpi.*-libs.* useless-provides")
+addFilter("libopenmpi.* shlib-policy-name-error")
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libXxf86vm for openSUSE:Factory checked in at 2022-10-01 17:42:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libXxf86vm (Old)
and /work/SRC/openSUSE:Factory/.libXxf86vm.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libXxf86vm"
Sat Oct 1 17:42:07 2022 rev:10 rq:1007249 version:1.1.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/libXxf86vm/libXxf86vm.changes 2015-03-16 09:36:45.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libXxf86vm.new.2275/libXxf86vm.changes 2022-10-01 17:42:15.933572741 +0200
@@ -1,0 +2,20 @@
+Thu Sep 29 19:21:39 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- modernize spec file, add license
+
+-------------------------------------------------------------------
+Tue Sep 27 09:40:35 UTC 2022 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- Update to version 1.1.5
+ * Update README for gitlab migration
+ * Update configure.ac bug URL for gitlab migration
+ * Fix spelling/wording issues
+ * gitlab CI: add a basic build test
+ * Fix -Wsign-compare warning
+ * Variable scope reductions as suggested by cppcheck
+ * Update GetOldReq to use _XGetRequest()
+ * autogen.sh: use quoted string variables
+ * autogen: add default patch prefix
+ * autogen.sh: use exec instead of waiting for configure to finish
+
+-------------------------------------------------------------------
Old:
----
libXxf86vm-1.1.4.tar.bz2
New:
----
libXxf86vm-1.1.5.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libXxf86vm.spec ++++++
--- /var/tmp/diff_new_pack.efdsXC/_old 2022-10-01 17:42:16.317573441 +0200
+++ /var/tmp/diff_new_pack.efdsXC/_new 2022-10-01 17:42:16.317573441 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libXxf86vm
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,26 +12,25 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-Name: libXxf86vm
%define lname libXxf86vm1
-Version: 1.1.4
+Name: libXxf86vm
+Version: 1.1.5
Release: 0
Summary: XFree86-VidMode X extension library
License: MIT
Group: Development/Libraries/C and C++
-Url: http://xorg.freedesktop.org/
-
+URL: https://xorg.freedesktop.org/
#Git-Clone: git://anongit.freedesktop.org/xorg/lib/libXxf86vm
#Git-Web: http://cgit.freedesktop.org/xorg/lib/libXxf86vm/
-Source: http://xorg.freedesktop.org/releases/individual/lib/%{name}-%{version}.tar.…
+Source: https://xorg.freedesktop.org/releases/individual/lib/%{name}-%{version}.tar…
Source1: baselibs.conf
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
#git#BuildRequires: autoconf >= 2.60, automake, libtool
BuildRequires: fdupes
+BuildRequires: grep
BuildRequires: pkgconfig
BuildRequires: pkgconfig(x11) >= 1.6
BuildRequires: pkgconfig(xext)
@@ -45,11 +44,11 @@
XFree86-VidModeExtension which allows the video modes to be queried
and adjusted dynamically and mode switching to be controlled.
-%package -n %lname
+%package -n %{lname}
Summary: XFree86-VidMode X extension library
Group: System/Libraries
-%description -n %lname
+%description -n %{lname}
These functions provide aninterface to the server extension
XFree86-VidModeExtension which allows the video modes to be queried
and adjusted dynamically and mode switching to be controlled.
@@ -57,7 +56,7 @@
%package devel
Summary: Development files for the XFree86-VidMode X extension library
Group: Development/Libraries/C and C++
-Requires: %lname = %version
+Requires: %{lname} = %{version}
%description devel
These functions provide aninterface to the server extension
@@ -65,33 +64,31 @@
and adjusted dynamically and mode switching to be controlled.
This package contains the development headers for the library found
-in %lname.
+in %{lname}.
%prep
%setup -q
%build
%configure --disable-static
-make %{?_smp_mflags}
+%make_build
%install
-make install DESTDIR="%buildroot"
-rm -f "%buildroot/%_libdir"/*.la
-%fdupes %buildroot/%_prefix
-
-%post -n %lname -p /sbin/ldconfig
-
-%postun -n %lname -p /sbin/ldconfig
-
-%files -n %lname
-%defattr(-,root,root)
-%_libdir/libXxf86vm.so.1*
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+%fdupes %{buildroot}/%{_prefix}
+
+%post -n %{lname} -p /sbin/ldconfig
+%postun -n %{lname} -p /sbin/ldconfig
+
+%files -n %{lname}
+%license COPYING
+%{_libdir}/libXxf86vm.so.1*
%files devel
-%defattr(-,root,root)
-%_includedir/X11/*
-%_libdir/libXxf86vm.so
-%_libdir/pkgconfig/xxf86vm.pc
-%_mandir/man3/*
+%{_includedir}/X11/*
+%{_libdir}/libXxf86vm.so
+%{_libdir}/pkgconfig/xxf86vm.pc
+%{_mandir}/man3/*
%changelog
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-cloudpickle for openSUSE:Factory checked in at 2022-10-01 17:42:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cloudpickle (Old)
and /work/SRC/openSUSE:Factory/.python-cloudpickle.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cloudpickle"
Sat Oct 1 17:42:08 2022 rev:16 rq:1007420 version:2.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cloudpickle/python-cloudpickle.changes 2021-01-26 14:44:33.287237114 +0100
+++ /work/SRC/openSUSE:Factory/.python-cloudpickle.new.2275/python-cloudpickle.changes 2022-10-01 17:42:16.461573704 +0200
@@ -1,0 +2,31 @@
+Sat Oct 1 11:24:59 UTC 2022 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 2.2.0:
+ * Improve compatibility with "nogil" Python and 3.11
+ * Fix compatibility with Python 3.11
+ * Add Python 3.10 to tox config
+ * Fix #440: Incorrect pickles for subclasses of generic classes
+ * Extend test_abc to include abstract properties
+ * Add support for abc.abstract* methods
+ * Add test for multiprocessing.Lock error
+
+-------------------------------------------------------------------
+Mon Sep 26 21:21:21 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam(a)suse.com>
+
+- Update to 2.1.0
+ * Support for pickling abc.abstractproperty, abc.abstractclassmethod, and abc.abstractstaticmethod. (PR #450)
+ * Support for pickling subclasses of generic classes. (PR #448)
+ * Support and CI configuration for Python 3.11. (PR #467)
+ * Support for the experimental nogil variant of CPython (PR #470)
+
+- Update to 2.0.0
+ * Python 3.5 is no longer supported.
+ * Support for registering modules to be serialised by value. This allows code defined in local modules to be serialised
+ and executed remotely without those local modules installed on the remote machine. (PR #417)
+ * Fix a side effect altering dynamic modules at pickling time. (PR #426)
+ * Support for pickling type annotations on Python 3.10 as per PEP 563 (PR #400)
+ * Stricter parametrized type detection heuristics in _is_parametrized_type_hint to limit false positives. (PR #409)
+ * Support pickling / depickling of OrderedDict KeysView, ValuesView, and ItemsView, following similar strategy for vanilla Python dictionaries. (PR #423)
+ * Suppressed a source of non-determinism when pickling dynamically defined functions and handles the deprecation of co_lnotab in Python 3.10+. (PR #428)
+
+-------------------------------------------------------------------
Old:
----
cloudpickle-1.6.0.tar.gz
New:
----
cloudpickle-2.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cloudpickle.spec ++++++
--- /var/tmp/diff_new_pack.Iq7NAr/_old 2022-10-01 17:42:16.849574411 +0200
+++ /var/tmp/diff_new_pack.Iq7NAr/_new 2022-10-01 17:42:16.853574419 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-cloudpickle
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
Name: python-cloudpickle
-Version: 1.6.0
+Version: 2.2.0
Release: 0
Summary: Extended pickling support for Python objects
License: BSD-3-Clause
++++++ cloudpickle-1.6.0.tar.gz -> cloudpickle-2.2.0.tar.gz ++++++
++++ 2691 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package Mesa for openSUSE:Factory checked in at 2022-10-01 17:42:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/Mesa (Old)
and /work/SRC/openSUSE:Factory/.Mesa.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Mesa"
Sat Oct 1 17:42:06 2022 rev:452 rq:1006922 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/Mesa/Mesa.changes 2022-09-23 14:15:12.081978157 +0200
+++ /work/SRC/openSUSE:Factory/.Mesa.new.2275/Mesa.changes 2022-10-01 17:42:14.821570713 +0200
@@ -1,0 +2,15 @@
+Thu Sep 29 10:00:03 UTC 2022 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- re-disable video codecs due to possible patent issues
+ https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258
+
+-------------------------------------------------------------------
+Tue Sep 27 11:08:54 UTC 2022 - Stefan Dirsch <sndirsch(a)suse.com>
+
+- Pass -Dvideo-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec to
+ meson, keep support for hardware codecs inside vaapi, vdpau and
+ vulkan. These were previously enabled automatically.
+- enabled "swrast" and "amd" Vulkan drivers on riscv64, which is
+ upstream default anyway ...
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Mesa.spec ++++++
--- /var/tmp/diff_new_pack.5cyFaq/_old 2022-10-01 17:42:15.705572325 +0200
+++ /var/tmp/diff_new_pack.5cyFaq/_new 2022-10-01 17:42:15.709572333 +0200
@@ -29,6 +29,11 @@
%define _lto_cflags %{nil}
%endif
+# Possible patent issues, see
+# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258
+# for more details
+%define video_codecs 0
+
%define drivers 0
%define glamor 1
@@ -68,6 +73,10 @@
%define with_vulkan 1
%define vulkan_drivers swrast,amd,broadcom,freedreno
%endif
+ %ifarch riscv64
+ %define with_vulkan 1
+ %define vulkan_drivers swrast,amd
+ %endif
%endif
%ifarch aarch64 %{arm} ppc64 ppc64le riscv64 s390x %{ix86} x86_64
@@ -813,6 +822,9 @@
-Dshared-llvm=true \
%endif
%if "%{flavor}" == "drivers"
+%if %{video_codecs}
+ -Dvideo-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec \
+%endif
%if %{gallium_loader}
-Dgallium-vdpau=true \
-Dgallium-xvmc=true \
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gdb for openSUSE:Factory checked in at 2022-10-01 17:42:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdb (Old)
and /work/SRC/openSUSE:Factory/.gdb.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb"
Sat Oct 1 17:42:04 2022 rev:166 rq:1006865 version:12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2022-09-25 15:34:11.151461484 +0200
+++ /work/SRC/openSUSE:Factory/.gdb.new.2275/gdb.changes 2022-10-01 17:42:11.889565365 +0200
@@ -1,0 +2,27 @@
+Thu Sep 29 08:25:06 UTC 2022 - Fabian Vogt <fvogt(a)suse.com>
+
+- Add patch to fix build with readline 8.2:
+ * gdb-add-support-for-readline-8.2.patch
+
+-------------------------------------------------------------------
+Wed Sep 28 11:50:45 UTC 2022 - Tom de Vries <tdevries(a)suse.com>
+
+- Patches added:
+ * gdb-testsuite-fix-gdb.mi-mi-sym-info.exp-on-opensuse-tumbleweed.patch
+- Maintenance script qa.sh:
+ * Add PR26873 kfails.
+
+-------------------------------------------------------------------
+Fri Sep 23 09:46:57 UTC 2022 - Tom de Vries <tdevries(a)suse.com>
+
+- Maintenance script qa-remote.sh:
+ * Make rpm matching yet more precise.
+- Update patch:
+ * gdb-tdep-fix-powerpc-ieee-128-bit-format-arg-passing.patch
+- Add patches:
+ * gdb-handle-pending-c-after-rl_callback_read_char.patch
+ * gdb-testsuite-fix-have_mpx-test.patch
+ * gdb-symtab-fix-handling-of-dw_tag_unspecified_type.patch
+ * gdb-testsuite-fix-gdb.dwarf2-dw2-unspecified-type-foo.c-with-m32.patch
+
+-------------------------------------------------------------------
New:
----
gdb-add-support-for-readline-8.2.patch
gdb-handle-pending-c-after-rl_callback_read_char.patch
gdb-symtab-fix-handling-of-dw_tag_unspecified_type.patch
gdb-testsuite-fix-gdb.dwarf2-dw2-unspecified-type-foo.c-with-m32.patch
gdb-testsuite-fix-gdb.mi-mi-sym-info.exp-on-opensuse-tumbleweed.patch
gdb-testsuite-fix-have_mpx-test.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.KaZPLm/_old 2022-10-01 17:42:13.721568707 +0200
+++ /var/tmp/diff_new_pack.KaZPLm/_new 2022-10-01 17:42:13.725568714 +0200
@@ -341,6 +341,12 @@
Patch2027: fix-for-gdb.base-solib-search.exp-test.patch
Patch2028: make-gdb.ada-float-bits.exp-more-generic.patch
Patch2029: gdb-testsuite-fix-gdb.threads-killed-outside.exp-on-aarch64.patch
+Patch2030: gdb-tdep-fix-powerpc-ieee-128-bit-format-arg-passing.patch
+Patch2031: gdb-symtab-fix-handling-of-dw_tag_unspecified_type.patch
+Patch2032: gdb-handle-pending-c-after-rl_callback_read_char.patch
+Patch2033: gdb-testsuite-fix-have_mpx-test.patch
+Patch2034: gdb-testsuite-fix-gdb.dwarf2-dw2-unspecified-type-foo.c-with-m32.patch
+Patch2035: gdb-add-support-for-readline-8.2.patch
# Backports from master, not yet available in next release.
@@ -378,8 +384,8 @@
Patch2113: gdb-testsuite-fix-gdb.ada-literals.exp-with-aarch64.patch
# https://sourceware.org/bugzilla/show_bug.cgi?id=29423#c8
Patch2114: gdb-fix-watchpoints-triggered.patch
-# https://sourceware.org/bugzilla/show_bug.cgi?id=29543#c5
-Patch2115: gdb-tdep-fix-powerpc-ieee-128-bit-format-arg-passing.patch
+# https://sourceware.org/pipermail/gdb-patches/2022-September/192172.html
+Patch2115: gdb-testsuite-fix-gdb.mi-mi-sym-info.exp-on-opensuse-tumbleweed.patch
# Debug patches.
@@ -771,6 +777,12 @@
%patch2027 -p1
%patch2028 -p1
%patch2029 -p1
+%patch2030 -p1
+%patch2031 -p1
+%patch2032 -p1
+%patch2033 -p1
+%patch2034 -p1
+%patch2035 -p1
%patch2100 -p1
%patch2101 -p1
++++++ gdb-add-support-for-readline-8.2.patch ++++++
From 1add37b567a7dee39d99f37b37802034c3fce9c4 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab(a)linux-m68k.org>
Date: Sun, 20 Mar 2022 14:01:54 +0100
Subject: [PATCH] Add support for readline 8.2
In readline 8.2 the type of rl_completer_word_break_characters changed to
include const.
---
gdb/completer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gdb/completer.c b/gdb/completer.c
index d3900ae2014..a51c16ac7f8 100644
--- a/gdb/completer.c
+++ b/gdb/completer.c
@@ -36,7 +36,7 @@
calling a hook instead so we eliminate the CLI dependency. */
#include "gdbcmd.h"
-/* Needed for rl_completer_word_break_characters() and for
+/* Needed for rl_completer_word_break_characters and for
rl_filename_completion_function. */
#include "readline/readline.h"
@@ -2011,7 +2011,7 @@ gdb_completion_word_break_characters_throw ()
rl_basic_quote_characters = NULL;
}
- return rl_completer_word_break_characters;
+ return (char *) rl_completer_word_break_characters;
}
char *
--
2.31.1
++++++ gdb-handle-pending-c-after-rl_callback_read_char.patch ++++++
[gdb] Handle pending ^C after rl_callback_read_char
In completion tests in various test-cases, we've been running into these
"clearing input line" timeouts:
...
(gdb) $cmd^GPASS: gdb.gdb/unittest.exp: tab complete "$cmd"
FAIL: gdb.gdb/unittest.exp: tab complete "$cmd" (clearing input line) (timeout)
...
where $cmd == "maintenance selftest name_that_does_not_exist".
AFAIU, the following scenario happens:
- expect sends "$cmd\t"
- gdb detects the stdin event, and calls rl_callback_read_char until it
comes to handle \t
- readline interprets the \t as completion, tries to complete, fails to do so,
outputs a bell (^G)
- expect sees the bell, and proceeds to send ^C
- readline is still in the call to rl_callback_read_char, and stores the
signal in _rl_caught_signal
- readline returns from the call to rl_callback_read_char, without having
handled _rl_caught_signal
- gdb goes to wait for the next event
- expect times out waiting for "Quit", the expected reaction for ^C
Fix this by handling pending signals after each call to rl_callback_read_char.
The fix is only available for readline 8.x, if --with-system-readline provides
an older version, then the fix is disabled due to missing function
rl_check_signals.
Tested on x86_64-linux.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=27813
---
gdb/event-top.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 96df89e0901..c7aa9e7d06a 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -186,6 +186,22 @@ gdb_rl_callback_read_char_wrapper_noexcept () noexcept
TRY_SJLJ
{
rl_callback_read_char ();
+#if RL_VERSION_MAJOR >= 8
+ /* It can happen that readline (while in rl_callback_read_char)
+ received a signal, but didn't handle it yet. Make sure it's handled
+ now. If we don't do that we run into two related problems:
+ - we have to wait for another event triggering
+ rl_callback_read_char before the signal is handled
+ - there's no guarantee that the signal will be processed before the
+ event. */
+ while (rl_pending_signal () != 0)
+ /* Do this in a while loop, in case rl_check_signals also leaves a
+ pending signal. I'm not sure if that's possible, but it seems
+ better to handle the scenario than to assert. */
+ rl_check_signals ();
+#else
+ /* Unfortunately, rl_check_signals is not available. */
+#endif
if (after_char_processing_hook)
(*after_char_processing_hook) ();
}
++++++ gdb-symtab-fix-handling-of-dw_tag_unspecified_type.patch ++++++
[gdb/symtab] Fix handling of DW_TAG_unspecified_type
Currently, the test-case contained in this patch fails:
...
(gdb) p (int) foo ()^M
Invalid cast.^M
(gdb) FAIL: gdb.dwarf2/dw2-unspecified-type.exp: p (int) foo ()
...
because DW_TAG_unspecified_type is translated as void.
There's some code in read_unspecified_type that marks the type as stub, but
that's only active for ada:
...
if (cu->lang () == language_ada)
type->set_is_stub (true);
...
Fix this by:
- marking the type as a stub for all languages, and
- handling the stub return type case in call_function_by_hand_dummy.
Tested on x86_64-linux.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29558
---
gdb/dwarf2/read.c | 6 +-
gdb/infcall.c | 2 +-
.../gdb.dwarf2/dw2-unspecified-type-foo.c | 22 +++++++
gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.c | 25 ++++++++
gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp | 72 ++++++++++++++++++++++
5 files changed, 123 insertions(+), 4 deletions(-)
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 94b12773d3e..631a6df3635 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -18744,9 +18744,9 @@ read_unspecified_type (struct die_info *die, struct dwarf2_cu *cu)
/* In Ada, an unspecified type is typically used when the description
of the type is deferred to a different unit. When encountering
such a type, we treat it as a stub, and try to resolve it later on,
- when needed. */
- if (cu->per_cu->lang == language_ada)
- type->set_is_stub (true);
+ when needed.
+ Mark this as a stub type for all languages though. */
+ type->set_is_stub (true);
return set_die_type (die, type, cu);
}
diff --git a/gdb/infcall.c b/gdb/infcall.c
index f8c812c8f61..57cfa8875a5 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -817,7 +817,7 @@ call_function_by_hand_dummy (struct value *function,
"target calling convention."),
get_function_name (funaddr, name_buf, sizeof (name_buf)));
- if (values_type == NULL)
+ if (values_type == NULL || values_type->is_stub ())
values_type = default_return_type;
if (values_type == NULL)
{
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c
new file mode 100644
index 00000000000..b1e3a8b98e4
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2022 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+int
+foo (void)
+{
+ asm ("foo_label: .globl foo_label");
+}
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.c b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.c
new file mode 100644
index 00000000000..e3218205560
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.c
@@ -0,0 +1,25 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2022 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+extern int foo (void);
+
+int
+main (void)
+{
+ int res = foo ();
+ return res;
+}
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp
new file mode 100644
index 00000000000..20c31dc5740
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type.exp
@@ -0,0 +1,72 @@
+# Copyright 2022 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+ return 0
+}
+
+standard_testfile .c -foo.c dwz.S
+
+set foo_res \
+ [function_range foo \
+ [list ${srcdir}/${subdir}/$srcfile ${srcdir}/${subdir}/$srcfile2]]
+lassign $foo_res \
+ foo_start foo_len
+set foo_end "$foo_start + $foo_len"
+
+# Create the DWARF.
+set asm_file [standard_output_file $srcfile3]
+Dwarf::assemble $asm_file {
+ global foo_start foo_end
+ declare_labels unspecified_type_label
+
+ cu {} {
+ compile_unit {
+ {language @DW_LANG_Mips_Assembler}
+ } {
+ unspecified_type_label: unspecified_type {}
+
+ DW_TAG_subprogram {
+ {name foo}
+ {low_pc $foo_start addr}
+ {high_pc $foo_end addr}
+ {type :$unspecified_type_label}
+ }
+
+ }
+ }
+}
+
+if [prepare_for_testing "failed to prepare" $testfile \
+ "${asm_file} ${srcfile} ${srcfile2}" {}] {
+ return -1
+}
+
+if ![runto_main] {
+ return -1
+}
+
+# Print the function type. Return type should be stub type, which is printed
+# as void.
+gdb_test "ptype foo" "type = void \\(void\\)"
+
+# Call the function, casting the function to the correct function type.
+gdb_test "p ((int (*) ()) foo) ()" " = 0"
+
+# Call the function, casting the function result to the correct type.
+gdb_test "p (int) foo ()" " = 0"
++++++ gdb-tdep-fix-powerpc-ieee-128-bit-format-arg-passing.patch ++++++
--- /var/tmp/diff_new_pack.KaZPLm/_old 2022-10-01 17:42:14.057569319 +0200
+++ /var/tmp/diff_new_pack.KaZPLm/_new 2022-10-01 17:42:14.057569319 +0200
@@ -1,13 +1,33 @@
[gdb/tdep] Fix PowerPC IEEE 128-bit format arg passing
-https://sourceware.org/bugzilla/show_bug.cgi?id=29543#c5
+On a powerpc system with gcc 12 built to default to 128-bit IEEE long double,
+I run into:
+...
+(gdb) print find_max_long_double_real(4, ldc1, ldc2, ldc3, ldc4)^M
+$8 = 0 + 0i^M
+(gdb) FAIL: gdb.base/varargs.exp: print \
+ find_max_long_double_real(4, ldc1, ldc2, ldc3, ldc4)
+...
+
+This is due to incorrect handling of the argument in ppc64_sysv_abi_push_param.
+
+Fix this and similar cases, and expand the test-case to test handling of
+homogeneous aggregates.
+
+Tested on ppc64le-linux, power 10.
+
+Co-Authored-By: Ulrich Weigand <uweigand(a)de.ibm.com>
+Tested-by: Carl Love <cel(a)us.ibm.com>
+Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29543
---
- gdb/ppc-sysv-tdep.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ gdb/ppc-sysv-tdep.c | 25 +++++++++++++++++++------
+ gdb/testsuite/gdb.base/varargs.c | 28 ++++++++++++++++++++++++++++
+ gdb/testsuite/gdb.base/varargs.exp | 2 ++
+ 3 files changed, 49 insertions(+), 6 deletions(-)
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
-index b7106542b5d..2cdf4658e35 100644
+index b7106542b5d..5a8761d64e7 100644
--- a/gdb/ppc-sysv-tdep.c
+++ b/gdb/ppc-sysv-tdep.c
@@ -1444,7 +1444,7 @@ ppc64_sysv_abi_push_param (struct gdbarch *gdbarch,
@@ -19,4 +39,112 @@
ppc64_sysv_abi_push_vreg (gdbarch, val, argpos);
}
else if (type->code () == TYPE_CODE_FLT
+@@ -1514,7 +1514,10 @@ ppc64_sysv_abi_push_param (struct gdbarch *gdbarch,
+ }
+ else
+ {
+- ppc64_sysv_abi_push_val (gdbarch, val, TYPE_LENGTH (type), 0, argpos);
++ /* Align == 0 is correct for ppc64_sysv_abi_push_freg,
++ Align == 16 is correct for ppc64_sysv_abi_push_vreg.
++ Default to 0. */
++ int align = 0;
+
+ /* The ABI (version 1.9) specifies that structs containing a
+ single floating-point value, at any level of nesting of
+@@ -1532,7 +1535,10 @@ ppc64_sysv_abi_push_param (struct gdbarch *gdbarch,
+ if (TYPE_LENGTH (type) == 16
+ && (gdbarch_long_double_format (gdbarch)
+ == floatformats_ia64_quad))
+- ppc64_sysv_abi_push_vreg (gdbarch, val, argpos);
++ {
++ ppc64_sysv_abi_push_vreg (gdbarch, val, argpos);
++ align = 16;
++ }
+ else
+ ppc64_sysv_abi_push_freg (gdbarch, type, val, argpos);
+ }
+@@ -1556,8 +1562,10 @@ ppc64_sysv_abi_push_param (struct gdbarch *gdbarch,
+ && (gdbarch_long_double_format (gdbarch)
+ == floatformats_ia64_quad))
+ /* IEEE FLOAT128, args in vector registers. */
+- ppc64_sysv_abi_push_vreg (gdbarch, elval, argpos);
+-
++ {
++ ppc64_sysv_abi_push_vreg (gdbarch, elval, argpos);
++ align = 16;
++ }
+ else if (eltype->code () == TYPE_CODE_FLT
+ || eltype->code () == TYPE_CODE_DECFLOAT)
+ /* IBM long double and all other floats and decfloats, args
+@@ -1567,9 +1575,14 @@ ppc64_sysv_abi_push_param (struct gdbarch *gdbarch,
+ && eltype->is_vector ()
+ && tdep->vector_abi == POWERPC_VEC_ALTIVEC
+ && TYPE_LENGTH (eltype) == 16)
+- ppc64_sysv_abi_push_vreg (gdbarch, elval, argpos);
++ {
++ ppc64_sysv_abi_push_vreg (gdbarch, elval, argpos);
++ align = 16;
++ }
+ }
+ }
++
++ ppc64_sysv_abi_push_val (gdbarch, val, TYPE_LENGTH (type), align, argpos);
+ }
+ }
+
+diff --git a/gdb/testsuite/gdb.base/varargs.c b/gdb/testsuite/gdb.base/varargs.c
+index cacb29d89e7..fcadcee6fb3 100644
+--- a/gdb/testsuite/gdb.base/varargs.c
++++ b/gdb/testsuite/gdb.base/varargs.c
+@@ -45,6 +45,16 @@ long double _Complex ldc2 = 2.0L + 2.0Li;
+ long double _Complex ldc3 = 3.0L + 3.0Li;
+ long double _Complex ldc4 = 4.0L + 4.0Li;
+
++struct sldc
++{
++ long double _Complex ldc;
++};
++
++struct sldc sldc1 = { 1.0L + 1.0Li };
++struct sldc sldc2 = { 2.0L + 2.0Li };
++struct sldc sldc3 = { 3.0L + 3.0Li };
++struct sldc sldc4 = { 4.0L + 4.0Li };
++
+ #endif
+
+ int
+@@ -201,4 +211,22 @@ find_max_long_double_real (int num_vals, ...)
+ }
+
+
++long double _Complex
++find_max_struct_long_double_real (int num_vals, ...)
++{
++ long double _Complex max = 0.0L + 0.0iL;
++ struct sldc x;
++ va_list argp;
++ int i;
++
++ va_start(argp, num_vals);
++ for (i = 0; i < num_vals; i++)
++ {
++ x = va_arg (argp, struct sldc);
++ if (creall (max) < creal (x.ldc)) max = x.ldc;
++ }
++
++ return max;
++}
++
+ #endif /* TEST_COMPLEX */
+diff --git a/gdb/testsuite/gdb.base/varargs.exp b/gdb/testsuite/gdb.base/varargs.exp
+index e778af031cf..f3d413e4de6 100644
+--- a/gdb/testsuite/gdb.base/varargs.exp
++++ b/gdb/testsuite/gdb.base/varargs.exp
+@@ -107,4 +107,6 @@ if [support_complex_tests] {
+ set test "print find_max_long_double_real(4, ldc1, ldc2, ldc3, ldc4)"
+ gdb_test $test ".*= 4 \\+ 4i"
+
++ set test "print find_max_struct_long_double_real(4, sldc1, sldc2, sldc3, sldc4)"
++ gdb_test $test ".*= 4 \\+ 4i"
+ }
++++++ gdb-testsuite-fix-gdb.dwarf2-dw2-unspecified-type-foo.c-with-m32.patch ++++++
[gdb/testsuite] Fix gdb.dwarf2/dw2-unspecified-type-foo.c with -m32
When running test-case gdb.dwarf2/dw2-unspecified-type-foo.c with target board
unix/-m32, I run into:
...
(gdb) PASS: gdb.dwarf2/dw2-unspecified-type.exp: ptype foo
p ((int (*) ()) foo) ()^M
$1 = -135698472^M
...
Add the missing "return 0" in foo, which fixes this.
Tested on x86_64-linux.
---
gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c
index b1e3a8b98e4..c92e18b898f 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-unspecified-type-foo.c
@@ -19,4 +19,5 @@ int
foo (void)
{
asm ("foo_label: .globl foo_label");
+ return 0;
}
++++++ gdb-testsuite-fix-gdb.mi-mi-sym-info.exp-on-opensuse-tumbleweed.patch ++++++
[gdb/testsuite] Fix gdb.mi/mi-sym-info.exp on openSUSE Tumbleweed
On openSUSE Tumbleweed, I run into:
...
FAIL: gdb.mi/mi-sym-info.exp: List all functions from debug information only
...
The problem is in matching this string:
...
{name="_start",type="void (void)",description="void _start(void);"}
...
using regexp fun_re, which requires a line field:
...
set fun_re \
"\{line=\"$decimal\",name=${qstr},type=${qstr},description=${qstr}\}"
...
Fix this by making the line field optional in fun_re.
Tested on x86_64-linux.
---
gdb/testsuite/gdb.mi/mi-sym-info.exp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gdb/testsuite/gdb.mi/mi-sym-info.exp b/gdb/testsuite/gdb.mi/mi-sym-info.exp
index 7b936061759..2f723ece882 100644
--- a/gdb/testsuite/gdb.mi/mi-sym-info.exp
+++ b/gdb/testsuite/gdb.mi/mi-sym-info.exp
@@ -38,7 +38,8 @@ mi_clean_restart $binfile
mi_runto_main
set qstr "\"\[^\"\]+\""
-set fun_re "\{line=\"$decimal\",name=${qstr},type=${qstr},description=${qstr}\}"
+set fun_re \
+ "\{(?:line=\"$decimal\",)?name=${qstr},type=${qstr},description=${qstr}\}"
set type_re "\{(?:line=\"$decimal\",)*name=${qstr}\}"
set sym_list "\\\[${fun_re}(?:,$fun_re)*\\\]"
set type_sym_list "\\\[${type_re}(?:,$type_re)*\\\]"
++++++ gdb-testsuite-fix-have_mpx-test.patch ++++++
[gdb/testsuite] Fix have_mpx test
When testing on openSUSE Leap 15.4 I ran into this FAIL:
...
FAIL: gdb.arch/i386-mpx-map.exp: NULL address of the pointer
...
and likewise for all the other mpx tests.
The problem is that have_mpx is supposed to return 0, but it doesn't because
it tries to match this output:
...
builtin_spawn -ignore SIGHUP temp/20294/have_mpx-2-20294.x^M
No MPX support^M
No MPX support^M
...
using:
...
&& ![string equal $output "No MPX support\r\n"]]
...
Fix this by matching using a regexp instead.
Tested on x86_64-linux.
---
gdb/testsuite/lib/gdb.exp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 3bfd59109bc..25c1572a53a 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -8364,7 +8364,7 @@ gdb_caching_proc have_mpx {
set status [lindex $result 0]
set output [lindex $result 1]
set status [expr ($status == 0) \
- && ![string equal $output "No MPX support\r\n"]]
+ && ![regexp "^No MPX support\r\n" $output]]
remote_file build delete $obj
++++++ qa-remote.sh ++++++
--- /var/tmp/diff_new_pack.KaZPLm/_old 2022-10-01 17:42:14.265569698 +0200
+++ /var/tmp/diff_new_pack.KaZPLm/_new 2022-10-01 17:42:14.269569706 +0200
@@ -54,14 +54,16 @@
mkdir -p $dir
fi
- if [ ! -f $dir/gdb-testresults-12.1-*.$arch.rpm ]; then
+ rpm=$(echo $dir/gdb-testresults-12.1-*.*.rpm)
+ rpm=$(for f in $rpm; do echo $f; done | grep -v nosrc)
+ if [ ! -f $rpm ]; then
osc getbinaries -q -M testsuite -d $dir $c $arch
fi
if [ ! -d $pkgs/gdb-testresults.$c.$arch ]; then
(
cd $dir
- extract gdb-testresults-12.1-*.$arch.rpm
+ extract $rpm
)
fi
++++++ qa.sh ++++++
--- /var/tmp/diff_new_pack.KaZPLm/_old 2022-10-01 17:42:14.285569735 +0200
+++ /var/tmp/diff_new_pack.KaZPLm/_new 2022-10-01 17:42:14.289569742 +0200
@@ -241,6 +241,10 @@
# https://sourceware.org/bugzilla/show_bug.cgi?id=25038
"FAIL: gdb.reverse/test_ioctl_TCSETSW.exp: handle TCSETSW"
+
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=26873
+ "FAIL: gdb.threads/watchthreads-threaded.exp: threaded watch loop \(GDB internal error\)"
+
) # kfail
kfail_sle12=(
@@ -422,6 +426,8 @@
# https://sourceware.org/bugzilla/show_bug.cgi?id=28667
"record-full.c:[0-9]*: internal-error: ptid_t record_full_wait_1\(target_ops\*, ptid_t, target_waitstatus\*, target_wait_flags\): Assertion \`\(options & TARGET_WNOHANG\) != 0' failed."
+ # https://sourceware.org/bugzilla/show_bug.cgi?id=26873
+ "infrun.c:[0-9]*: internal-error: resume_1: Assertion \`!\(thread_has_single_step_breakpoints_set \(tp\) && step\)' failed."
)
kfail_re=$(join "|" "${kfail[@]}")
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package virtualbox for openSUSE:Factory checked in at 2022-10-01 17:42:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtualbox (Old)
and /work/SRC/openSUSE:Factory/.virtualbox.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox"
Sat Oct 1 17:42:00 2022 rev:243 rq:1006482 version:6.1.38
Changes:
--------
--- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes 2022-09-18 17:32:09.233758887 +0200
+++ /work/SRC/openSUSE:Factory/.virtualbox.new.2275/virtualbox.changes 2022-10-01 17:42:07.313557019 +0200
@@ -1,0 +2,5 @@
+Tue Sep 27 17:23:12 UTC 2022 - Larry Finger <Larry.Finger(a)gmail.com>
+
+- Add a "Provides: virtualbox-guest-x11" to virtualbox-guest-tools. boo#1203735
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.HOq9z2/_old 2022-10-01 17:42:09.309560659 +0200
+++ /var/tmp/diff_new_pack.HOq9z2/_new 2022-10-01 17:42:09.313560667 +0200
@@ -300,6 +300,7 @@
+
##########################################
%package qt
@@ -318,11 +319,6 @@
%description qt
This package contains the code for the GUI used to control VMs.
-
-
-
-#########################################
-
%package websrv
Summary: WebService GUI part for %{name}
Group: System/Emulators/PC
@@ -339,6 +335,7 @@
###########################################
+
%package guest-tools
Summary: VirtualBox guest tools
Group: System/Emulators/PC
@@ -351,6 +348,7 @@
Provides: %{name}-ose-guest-tools = %{version}
Obsoletes: %{name}-ose-guest-tools < %{version}
Obsoletes: virtualbox-guest-x11
+Provides: virtualbox-guest-x11
Obsoletes: xorg-x11-driver-virtualbox-ose
%if ! 0%{?suse_version} > 1325
Requires(pre): net-tools-deprecated
@@ -362,6 +360,7 @@
+
###########################################
%package -n python3-%{name}
@@ -384,6 +383,7 @@
+
###########################################
%package devel
@@ -401,6 +401,7 @@
+
###########################################
%package host-source
@@ -435,6 +436,7 @@
+
###########################################
%package guest-desktop-icons
@@ -449,6 +451,7 @@
+
###########################################
++++++ UserManual.pdf ++++++
(binary differes)
++++++ vboxweb-service.sh ++++++
--- /var/tmp/diff_new_pack.HOq9z2/_old 2022-10-01 17:42:09.617561221 +0200
+++ /var/tmp/diff_new_pack.HOq9z2/_new 2022-10-01 17:42:09.621561228 +0200
@@ -158,6 +158,10 @@
if [ -n "$PID" ]; then
echo "$PID" > $PIDFILE
RETVAL=0
+ firewall-cmd --permanent --new-service=vboxweb
+ firewall-cmd --permanent --service=vboxweb --set-description="service to remotely manage VirtualBox"
+ firewall-cmd --permanent --add-port=18083/tcp --zone=internal --service=vboxweb
+ firewall-cmd --permanent --set-short="vboxweb" --service=vboxweb
succ_msg "VirtualBox web service started"
else
RETVAL=1
++++++ virtualbox-60-vboxdrv.rules ++++++
--- /var/tmp/diff_new_pack.HOq9z2/_old 2022-10-01 17:42:09.637561257 +0200
+++ /var/tmp/diff_new_pack.HOq9z2/_new 2022-10-01 17:42:09.641561265 +0200
@@ -1,5 +1,5 @@
KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"
-KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="root", MODE="0666"
+KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="root", MODE="0660"
KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root", GROUP="root", MODE="0600"
SUBSYSTEM=="usb_device", ACTION=="add", RUN+="/usr/lib/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/lib/virtualbox/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
++++++ virtualbox-60-vboxguest.rules ++++++
--- /var/tmp/diff_new_pack.HOq9z2/_old 2022-10-01 17:42:09.665561308 +0200
+++ /var/tmp/diff_new_pack.HOq9z2/_new 2022-10-01 17:42:09.669561316 +0200
@@ -1,5 +1,5 @@
KERNEL=="vboxguest", NAME="vboxguest", OWNER="root", MODE="0660" ENV{ID_INPUT}="1", ENV{ID_INPUT_MOUSE}="1"
-KERNEL=="vboxuser", NAME="vboxuser", OWNER="vboxadd", MODE="0666"
+KERNEL=="vboxuser", NAME="vboxuser", OWNER="vboxadd", MODE="0660"
#KERNEL=="vboxuser", NAME="vboxuser", OWNER="root", MODE="0660", TAG+="uaccess"
ACTION=="add|change", SUBSYSTEM=="drm", KERNEL=="card[0-9]", SUBSYSTEMS=="pci", ATTRS{vendor}=="0x15ad", ATTRS{device}=="0x0405", TAG+="systemd", ENV{SYSTEMD_WANTS}="vboxclient.service"
1
0