Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package archmage for openSUSE:Factory 
checked in at 2026-06-22 17:44:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/archmage (Old)
 and      /work/SRC/openSUSE:Factory/.archmage.new.1956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "archmage"

Mon Jun 22 17:44:52 2026 rev:5 rq:1361163 version:0.4.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/archmage/archmage.changes        2026-01-17 
21:43:37.816085477 +0100
+++ /work/SRC/openSUSE:Factory/.archmage.new.1956/archmage.changes      
2026-06-22 17:45:24.187329496 +0200
@@ -1,0 +2,10 @@
+Mon Jun 22 14:14:13 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Add archmage-fix-bytes-regex.patch: fix "archmage -c pdf" crashing
+  with "cannot use a string pattern on a bytes-like object" by using
+  bytes regex patterns on the bytes content (boo#1178542)
+- Register the archmage.1 man page as an update-alternatives slave so
+  the shipped /usr/share/man/man1/archmage.1.gz symlink is managed
+  (boo#1202977)
+
+-------------------------------------------------------------------

New:
----
  archmage-fix-bytes-regex.patch

----------(New B)----------
  New:
- Add archmage-fix-bytes-regex.patch: fix "archmage -c pdf" crashing
  with "cannot use a string pattern on a bytes-like object" by using
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ archmage.spec ++++++
--- /var/tmp/diff_new_pack.b5sszj/_old  2026-06-22 17:45:25.851387819 +0200
+++ /var/tmp/diff_new_pack.b5sszj/_new  2026-06-22 17:45:25.875388660 +0200
@@ -24,6 +24,8 @@
 Group:          Productivity/Archiving/Compression
 URL:            https://github.com/dottedmag/archmage
 Source:         
https://github.com/dottedmag/archmage/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM archmage-fix-bytes-regex.patch boo#1178542 -- fix 
"archmage -c pdf" crash by matching the bytes data with bytes regex patterns
+Patch0:         archmage-fix-bytes-regex.patch
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
@@ -51,7 +53,7 @@
 the format used by Microsoft HTML Help, and is also known as Compiled HTML.
 
 %prep
-%autosetup
+%autosetup -p1
 
 %build
 echo %{version} > RELEASE-VERSION
@@ -59,6 +61,10 @@
 
 %install
 %pyproject_install
+# %%pyproject_install writes timestamp-based .pyc whose embedded source mtime
+# drifts from the installed .py mtime (python-bytecode-inconsistent-mtime).
+# Recompile with hash-based invalidation (PEP 552), which has no mtime 
dependency.
+%python_expand $python -m compileall --invalidation-mode=checked-hash -f -o 0 
-o 1 %{buildroot}%{$python_sitelib}/archmage
 install -Dpm 0644 %{name}.1 \
   %{buildroot}%{_mandir}/man1/%{name}.1
 %python_clone -a %{buildroot}%{_bindir}/archmage
@@ -69,7 +75,7 @@
 %pytest
 
 %post
-%python_install_alternative archmage
+%python_install_alternative archmage archmage.1
 
 %postun
 %python_uninstall_alternative archmage

++++++ archmage-fix-bytes-regex.patch ++++++
--- a/archmage/CHM.py   2026-06-22 15:00:23.910023836 +0200
+++ b/archmage/CHM.py   2026-06-22 15:00:23.958029180 +0200
@@ -493,17 +493,17 @@
                 data = self.lower_links(data)
 
             # Delete unwanted HTML elements.
-            data = re.sub("<div .*teamlib\\.gif.*\\/div>", "", data)
-            data = re.sub("<a href.*>\\[ Team LiB \\]<\\/a>", "", data)
+            data = re.sub(b"<div .*teamlib\\.gif.*\\/div>", b"", data)
+            data = re.sub(b"<a href.*>\\[ Team LiB \\]<\\/a>", b"", data)
             data = re.sub(
-                "<table.*larrow\\.gif.*rarrow\\.gif.*<\\/table>", "", data
+                b"<table.*larrow\\.gif.*rarrow\\.gif.*<\\/table>", b"", data
             )
-            data = re.sub("<a href.*next\\.gif[^>]*><\\/a>", "", data)
-            data = re.sub("<a href.*previous\\.gif[^>]*><\\/a>", "", data)
-            data = re.sub("<a href.*prev\\.gif[^>]*><\\/a>", "", data)
-            data = re.sub('"[^"]*previous\\.gif"', '""', data)
-            data = re.sub('"[^"]*prev\\.gif"', '""', data)
-            data = re.sub('"[^"]*next\\.gif"', '""', data)
+            data = re.sub(b"<a href.*next\\.gif[^>]*><\\/a>", b"", data)
+            data = re.sub(b"<a href.*previous\\.gif[^>]*><\\/a>", b"", data)
+            data = re.sub(b"<a href.*prev\\.gif[^>]*><\\/a>", b"", data)
+            data = re.sub(b'"[^"]*previous\\.gif"', b'""', data)
+            data = re.sub(b'"[^"]*prev\\.gif"', b'""', data)
+            data = re.sub(b'"[^"]*next\\.gif"', b'""', data)
         if data is not None:
             return data
         else:

Reply via email to