import CS python-websockets-14.2-2.el9

This commit is contained in:
AlmaLinux RelEng Bot 2026-05-20 04:53:22 -04:00
parent 2a8c6d384c
commit d4c64ea378
4 changed files with 61 additions and 32 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/websockets-11.0.3.tar.gz SOURCES/websockets-14.2.tar.gz

View File

@ -1 +1 @@
3a82ef3e6015d985564ed04d2fbc308e0ee8d187 SOURCES/websockets-11.0.3.tar.gz b30f7f15e69192894d232e8097f49006865203e0 SOURCES/websockets-14.2.tar.gz

View File

@ -0,0 +1,37 @@
diff --git a/experiments/compression/corpus.py b/experiments/compression/corpus.py
index 56e2621..c8bd343 100644
--- a/experiments/compression/corpus.py
+++ b/experiments/compression/corpus.py
@@ -10,16 +10,17 @@ import time
def github_commits():
OAUTH_TOKEN = getpass.getpass("OAuth Token? ")
- COMMIT_API = (
- f'curl -H "Authorization: token {OAUTH_TOKEN}" '
- f"https://api.github.com/repos/python-websockets/websockets/git/commits/:sha"
- )
+
+ def fetch_commit(sha):
+ url = f"https://api.github.com/repos/python-websockets/websockets/git/commits/{sha}"
+ headers = ["-H", f"Authorization: token {OAUTH_TOKEN}"]
+ cmd = ["curl"] + headers + [url]
+ return subprocess.check_output(cmd)
commits = []
head = subprocess.check_output(
- "git rev-parse origin/main",
- shell=True,
+ ["git", "rev-parse", "origin/main"],
text=True,
).strip()
todo = [head]
@@ -27,7 +28,7 @@ def github_commits():
while todo:
sha = todo.pop(0)
- commit = subprocess.check_output(COMMIT_API.replace(":sha", sha), shell=True)
+ commit = fetch_commit(sha)
commits.append(commit)
seen.add(sha)
for parent in json.loads(commit)["parents"]:

View File

@ -1,30 +1,26 @@
%global pypi_name websockets %global pypi_name websockets
%ifarch x86_64
%bcond_without tests
%endif
Name: python-%{pypi_name} Name: python-%{pypi_name}
Version: 11.0.3 Version: 14.2
Release: 6%{?dist} Release: 2%{?dist}
Summary: Implementation of the WebSocket Protocol for Python Summary: Implementation of the WebSocket Protocol for Python
License: BSD License: BSD-3-Clause
URL: https://github.com/aaugustin/websockets URL: https://github.com/aaugustin/websockets
Source0: %{url}/archive/%{version}/%{pypi_name}-%{version}.tar.gz Source0: %{pypi_source %{pypi_name}}
# remove shell=True from experiments/compression/corpus.py
Patch0: remove-shell-true.patch
BuildRequires: gcc BuildRequires: gcc
%if %{with tests}
BuildRequires: python3dist(pytest)
%endif
%global _description %{expand: %global _description %{expand:
websockets is a library for developing WebSocket servers and clients in websockets is a library for developing WebSocket servers and clients in
Python. It implements RFC 6455 with a focus on correctness and simplicity. It Python. It implements RFC 6455 with a focus on correctness and simplicity. It
passes the Autobahn Testsuite. passes the Autobahn Testsuite.
Built on top of Pythons asynchronous I/O support introduced in PEP 3156, it Built on top of Python's asynchronous I/O support introduced in PEP 3156, it
provides an API based on coroutines, making it easy to write highly concurrent provides an API based on coroutines, making it easy to write highly concurrent
applications.} applications.}
@ -39,25 +35,19 @@ BuildRequires: python3-devel
%prep %prep
%autosetup -n %{pypi_name}-%{version} -p1 %autosetup -n %{pypi_name}-%{version} -p1
# Upstream uses a src package but does not specify this explicitly in the # Create setup.cfg to fix package name metadata
# pyproject.toml. This causes the build to fail on CentOS Stream 9 and RHEL 9. cat > setup.cfg <<EOF
# Workaround this problem by adding a very small setup.cfg file that specifies where
# the source code lives inside `src`.
%if %{defined el9}
cat << EOF > setup.cfg
[metadata] [metadata]
name = websockets name = websockets
[options] [options]
package_dir= packages = find:
=src package_dir =
packages=find: = src
[options.packages.find] [options.packages.find]
where=src where = src
EOF EOF
%endif
%generate_buildrequires %generate_buildrequires
%pyproject_buildrequires %pyproject_buildrequires
@ -72,17 +62,19 @@ EOF
%check %check
%pyproject_check_import %pyproject_check_import
%if %{with tests}
# Skip some tests that require network connectivity and/or a running daemon.
# Investigate: test_server_shuts_down_* tests hang or fail on Python 3.12
%pytest -v --ignore compliance --ignore tests/sync -k "not test_explicit_host_port and not test_server_shuts_down"
%endif
%files -n python3-%{pypi_name} -f %{pyproject_files} %files -n python3-%{pypi_name} -f %{pyproject_files}
%doc README.rst %doc README.rst
%changelog %changelog
* Thu Apr 09 2026 Kseniia Nivnia <knivnia@redhat.com> - 14.2-2
- Bump revision to address packaging issues
Resolves: RHEL-157865
* Tue Sep 09 2025 Kseniia Nivnia <knivnia@redhat.com> - 14.2-1
- Update to 14.2 and add patch to remove shell=True
Resolves: RHEL-113034
* Tue Jan 30 2024 Major Hayden <mhayden@redhat.com> - 11.0.3-6 * Tue Jan 30 2024 Major Hayden <mhayden@redhat.com> - 11.0.3-6
- Bump revision to add gating.yaml - Bump revision to add gating.yaml