public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Maxwell G <maxwell@gtmx.me>
To: git-commits@fedoraproject.org
Subject: [rpms/yt-dlp] rawhide: Update to 2026.06.09. Fixes rhbz#2487407.
Date: Fri, 19 Jun 2026 02:40:02 GMT	[thread overview]
Message-ID: <178183680209.1.8162371931292816027.rpms-yt-dlp-de7ea94edf6c@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/yt-dlp
            Branch : rawhide
            Commit : de7ea94edf6ccd6ffe5db6e9e54760ced5907547
            Author : Maxwell G <maxwell@gtmx.me>
            Date   : 2026-06-18T21:24:05-05:00
            Stats  : +77/-73 in 7 file(s)
            URL    : https://src.fedoraproject.org/rpms/yt-dlp/c/de7ea94edf6ccd6ffe5db6e9e54760ced5907547?branch=rawhide

            Log:
            Update to 2026.06.09. Fixes rhbz#2487407.

- Mitigates CVE-2026-50019, CVE-2026-50023, CVE-2026-50574

---
diff --git a/.gitignore b/.gitignore
index c471764..705448b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -72,3 +72,4 @@
 /yt-dlp-2026.03.03.tar.gz
 /yt-dlp-2026.03.13.tar.gz
 /yt-dlp-2026.03.17.tar.gz
+/yt-dlp-2026.06.09.tar.gz

diff --git a/0001-Fix-curl-beta-version-parsing.patch b/0001-Fix-curl-beta-version-parsing.patch
new file mode 100644
index 0000000..0c6cba2
--- /dev/null
+++ b/0001-Fix-curl-beta-version-parsing.patch
@@ -0,0 +1,25 @@
+From cf3cba84a7aecdbe596e21c71a506b2ce580c28d Mon Sep 17 00:00:00 2001
+From: Maxwell G <maxwell@gtmx.me>
+Date: Thu, 18 Jun 2026 20:20:04 -0500
+Subject: [PATCH 1/2] Fix curl beta version parsing
+
+---
+ yt_dlp/downloader/external.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/yt_dlp/downloader/external.py b/yt_dlp/downloader/external.py
+index 2f127c0..2c62f1d 100644
+--- a/yt_dlp/downloader/external.py
++++ b/yt_dlp/downloader/external.py
+@@ -209,7 +209,7 @@ def available(cls, path=None):
+             return False
+ 
+         cls.exe = path
+-        cls._curl_version = version_tuple(parts[1])
++        cls._curl_version = version_tuple(parts[1], lenient=True)
+         return path
+ 
+     def _make_cmd(self, tmpfilename, info_dict):
+-- 
+2.54.0
+

diff --git a/0002-Restore-compatibility-with-pytest-9.patch b/0002-Restore-compatibility-with-pytest-9.patch
new file mode 100644
index 0000000..41b02dd
--- /dev/null
+++ b/0002-Restore-compatibility-with-pytest-9.patch
@@ -0,0 +1,46 @@
+From b958f102848b73edeec7bb92fff8d4d002ae4b23 Mon Sep 17 00:00:00 2001
+From: Maxwell G <maxwell@gtmx.me>
+Date: Thu, 18 Jun 2026 21:19:45 -0500
+Subject: [PATCH 2/2] Restore compatibility with pytest < 9
+
+---
+ pyproject.toml                   | 4 +---
+ test/test_downloader_external.py | 2 +-
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 8128fb3..8bb3631 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -467,14 +467,12 @@ select = [
+ ]
+ exclude = "*/extractor/lazy_extractors.py,*venv*,*/test/testdata/sigs/player-*.js,.idea,.vscode"
+ 
+-[tool.pytest]
++[tool.pytest.ini_options]
+ addopts = [
+     "-ra",  # summary: all except passed
+     "--tb=short",
+ ]
+ verbosity_test_cases = "1"
+-strict_config = true
+-strict_markers = true
+ markers = [
+     "download",
+ ]
+diff --git a/test/test_downloader_external.py b/test/test_downloader_external.py
+index 0b51c96..d318d3c 100644
+--- a/test/test_downloader_external.py
++++ b/test/test_downloader_external.py
+@@ -132,7 +132,7 @@ class TestDownloaderCookieBehavior:
+         pytest.param(WgetFD, marks=pytest.mark.skipif(not WgetFD.available(), reason='wget unavailable')),
+         pytest.param(Aria2cFD, marks=pytest.mark.skipif(not Aria2cFD.available(), reason='aria2c unavailable')),
+     ])
+-    def test_cookie_behavior(self, /, downloader_cls):
++    def test_cookie_behavior(self, downloader_cls):
+         with FakeYDL() as ydl:
+             downloader = downloader_cls(ydl, {})
+ 
+-- 
+2.54.0
+

diff --git a/16884.patch b/16884.patch
deleted file mode 100644
index c280981..0000000
--- a/16884.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7673da16c5a554099b3fa0764397d8c4eac22a7f Mon Sep 17 00:00:00 2001
-From: Simon Sawicki <contact@grub4k.dev>
-Date: Fri, 5 Jun 2026 22:39:00 +0200
-Subject: [PATCH] Fix tests for python3.15
-
----
- yt_dlp/extractor/youtube/pot/_director.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/yt_dlp/extractor/youtube/pot/_director.py b/yt_dlp/extractor/youtube/pot/_director.py
-index 9e467c809255..a33d48a144e8 100644
---- a/yt_dlp/extractor/youtube/pot/_director.py
-+++ b/yt_dlp/extractor/youtube/pot/_director.py
-@@ -438,9 +438,11 @@ def clean_pot(po_token: str):
-     if not mobj:
-         raise ValueError('Invalid PO Token')
- 
-+    # compat: <=py3.14: padded was added in 3.15 and the default for urlsafe is false
-+    data = mobj.group(1).translate(str.maketrans('-_', '+/'))
-     try:
-         return base64.urlsafe_b64encode(
--            base64.urlsafe_b64decode(mobj.group(1))).decode()
-+            base64.b64decode(data)).decode()
-     except (binascii.Error, ValueError):
-         raise ValueError('Invalid PO Token')
- 

diff --git a/9c1f3cf3373620c593c4e315f276ac134f6beb20.patch b/9c1f3cf3373620c593c4e315f276ac134f6beb20.patch
deleted file mode 100644
index 5a36f1a..0000000
--- a/9c1f3cf3373620c593c4e315f276ac134f6beb20.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 9c1f3cf3373620c593c4e315f276ac134f6beb20 Mon Sep 17 00:00:00 2001
-From: Deltadroid <syphyr@gmail.com>
-Date: Sat, 11 Apr 2026 01:31:55 +0200
-Subject: [PATCH] [ie/youtube] Fix PO token sanitization for Python>=3.14.4
- (#16453)
-
-Ref: https://github.com/python/cpython/issues/145264
-
-Authored by: syphyr
----
- yt_dlp/extractor/youtube/pot/_director.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/yt_dlp/extractor/youtube/pot/_director.py b/yt_dlp/extractor/youtube/pot/_director.py
-index 26e7a6ac1f1b..ae1edc46aeb8 100644
---- a/yt_dlp/extractor/youtube/pot/_director.py
-+++ b/yt_dlp/extractor/youtube/pot/_director.py
-@@ -6,6 +6,7 @@
- import datetime as dt
- import hashlib
- import json
-+import re
- import traceback
- import typing
- import urllib.parse
-@@ -433,9 +434,13 @@ def provider_display_name(provider):
- def clean_pot(po_token: str):
-     # Clean and validate the PO Token. This will strip invalid characters off
-     # (e.g. additional url params the user may accidentally include)
-+    mobj = re.match(r'([^?&#]+)', urllib.parse.unquote(po_token))
-+    if not mobj:
-+        raise ValueError('Invalid PO Token')
-+
-     try:
-         return base64.urlsafe_b64encode(
--            base64.urlsafe_b64decode(urllib.parse.unquote(po_token))).decode()
-+            base64.urlsafe_b64decode(mobj.group(1))).decode()
-     except (binascii.Error, ValueError):
-         raise ValueError('Invalid PO Token')
- 

diff --git a/sources b/sources
index 8b7cd83..8221858 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (yt-dlp-2026.03.17.tar.gz) = 93ac4d162f993f0f98c3bdfb04441f978c737ebdea108910ccbf5dd197be639698aa7377372bebc6b370f6093522737978588c91cade14a652735a3c24adfcf8
+SHA512 (yt-dlp-2026.06.09.tar.gz) = d82c5a1359ae744b44ec0111c2b65a15aa1db861ccbe4f5a56575440c650a08964843a9fd3b2b1a170825768aff00dec6cad32dd7aec56a2f28aba4a1370a3f9

diff --git a/yt-dlp.spec b/yt-dlp.spec
index 43f7bbf..6bd49b4 100644
--- a/yt-dlp.spec
+++ b/yt-dlp.spec
@@ -7,7 +7,7 @@
 %bcond_without tests
 
 Name:           yt-dlp
-Version:        2026.03.17
+Version:        2026.06.09
 Release:        %autorelease
 Summary:        A command-line program to download videos from online video platforms
 
@@ -15,11 +15,9 @@ License:        Unlicense
 URL:            https://github.com/yt-dlp/yt-dlp
 Source:         %{url}/archive/%{version}/yt-dlp-%{version}.tar.gz
 
-# Python 3.15 support patches
-# [ie/youtube] Fix PO token sanitization for Python>=3.14.4 (#16453)
-Patch:          https://github.com/yt-dlp/yt-dlp/commit/9c1f3cf3373620c593c4e315f276ac134f6beb20.patch
-# Fix tests for python3.15 (#16884)
-Patch:          https://github.com/yt-dlp/yt-dlp/pull/16884.patch
+Patch:          0001-Fix-curl-beta-version-parsing.patch
+# Needed for compatibility with Fedora <= 44
+Patch:          0002-Restore-compatibility-with-pytest-9.patch
 
 BuildArch:      noarch
 

                 reply	other threads:[~2026-06-19  2:40 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178183680209.1.8162371931292816027.rpms-yt-dlp-de7ea94edf6c@fedoraproject.org \
    --to=maxwell@gtmx.me \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox