--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: bcnc@packages.debian.org, gagath@debian.org
Control: affects -1 + src:bcnc
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package bcnc
[ Reason ]
Bug #1085358 makes multiple lines of "SyntaxError" appear when users
install the `bcnc` package using apt.
This bug was just fixed in unstable.
I believe it also should reach trixie as well, because the error
messages appearing on install, while seemingly harmless, may disturb
users installing the package from trixie.
[ Impact ]
If the unblock is not granted, users installing `bcnc` might panic
when seeing the warnings appearing in apt output and report bugs about
it.
[ Tests ]
The autopkgtests, while trivial, passed. I also installed the unstable
package locally using apt and the SyntaxError did not appear anymore
with the fix. The program started fine in a desktop environment.
[ Risks ]
This change is seen as trivial. Regression could occur if the regexes
would get different semantics due to the fix, but I believe it will not
be the case as the patch only fixes the unknown escape sequences with
the use of "raw" Python strings. As the regexes themselves do not use
escape sequences, this should be fine.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
[ Other info ]
Some minor changes appear in the 0006 patch (s/Author/From/ and the
likes) after being imported and exported by gpp-pq. No functional
changes on this, the 0006 patch applies correctly and contains the same
information as before.
unblock bcnc/0.9.14.318+ds-5
diff -Nru bcnc-0.9.14.318+ds/debian/changelog bcnc-0.9.14.318+ds/debian/changelog
--- bcnc-0.9.14.318+ds/debian/changelog 2025-02-27 21:25:24.000000000 +0100
+++ bcnc-0.9.14.318+ds/debian/changelog 2025-06-06 16:21:06.000000000 +0200
@@ -1,3 +1,9 @@
+bcnc (0.9.14.318+ds-5) unstable; urgency=medium
+
+ * fix SyntaxWarning: invalid escape sequence (Closes: #1085358)
+
+ -- Agathe Porte <gagath@debian.org> Fri, 06 Jun 2025 16:21:06 +0200
+
bcnc (0.9.14.318+ds-4.1) unstable; urgency=medium
* Non-maintainer upload.
diff -Nru bcnc-0.9.14.318+ds/debian/patches/0006-fix-dynamic-loading-python3.13.patch bcnc-0.9.14.318+ds/debian/patches/0006-fix-dynamic-loading-python3.13.patch
--- bcnc-0.9.14.318+ds/debian/patches/0006-fix-dynamic-loading-python3.13.patch 2025-02-27 21:24:36.000000000 +0100
+++ bcnc-0.9.14.318+ds/debian/patches/0006-fix-dynamic-loading-python3.13.patch 2025-06-06 16:17:03.000000000 +0200
@@ -1,5 +1,7 @@
-Description: Fix dynamic loading of controllers and plugins in Python 3.13
-Author: Ronald Schellberg <1888300+rschell@users.noreply.github.com>
+From: Ronald Schellberg <1888300+rschell@users.noreply.github.com>
+Date: Fri, 6 Jun 2025 16:02:38 +0200
+Subject: Fix dynamic loading of controllers and plugins in Python 3.13
+
Origin: backport
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1094892
Forwarded: https://github.com/vlachoudis/bCNC/pull/1911
@@ -7,7 +9,12 @@
Reviewed-by: Simon Quigley <tsimonq2@debian.org>
Last-Update: 2025-02-27
---
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+ bCNC/Sender.py | 4 ++--
+ bCNC/ToolsPage.py | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/bCNC/Sender.py b/bCNC/Sender.py
+index b4e0743..ee7c1fd 100644
--- a/bCNC/Sender.py
+++ b/bCNC/Sender.py
@@ -139,8 +139,8 @@ class Sender:
@@ -21,6 +28,8 @@
except (ImportError, AttributeError):
typ, val, tb = sys.exc_info()
traceback.print_exception(typ, val, tb)
+diff --git a/bCNC/ToolsPage.py b/bCNC/ToolsPage.py
+index 7faffbc..2c87210 100644
--- a/bCNC/ToolsPage.py
+++ b/bCNC/ToolsPage.py
@@ -1096,8 +1096,8 @@ class Tools:
diff -Nru bcnc-0.9.14.318+ds/debian/patches/0007-fix-SyntaxWarning-invalid-escape-sequence.patch bcnc-0.9.14.318+ds/debian/patches/0007-fix-SyntaxWarning-invalid-escape-sequence.patch
--- bcnc-0.9.14.318+ds/debian/patches/0007-fix-SyntaxWarning-invalid-escape-sequence.patch 1970-01-01 01:00:00.000000000 +0100
+++ bcnc-0.9.14.318+ds/debian/patches/0007-fix-SyntaxWarning-invalid-escape-sequence.patch 2025-06-06 16:17:03.000000000 +0200
@@ -0,0 +1,83 @@
+From: Agathe Porte <gagath@debian.org>
+Date: Fri, 6 Jun 2025 16:07:06 +0200
+Subject: fix SyntaxWarning: invalid escape sequence
+
+Fixed in upstream commit 4cec48c7881d4a249ceb6f540e22e60d3e4f2040,
+but since it is a very big cleanup commit manually fix the escape
+sequences so that the warning disappears upon install.
+
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1085358
+Forwarded: not-needed
+Applied-Upstream: https://github.com/vlachoudis/bCNC/commit/4cec48c7881d4a249ceb6f540e22e60d3e4f2040
+---
+ bCNC/CNC.py | 2 +-
+ bCNC/CNCList.py | 2 +-
+ bCNC/lib/svg_elements.py | 6 +++---
+ bCNC/plugins/driller.py | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/bCNC/CNC.py b/bCNC/CNC.py
+index 72dd0d1..9f62318 100644
+--- a/bCNC/CNC.py
++++ b/bCNC/CNC.py
+@@ -1984,7 +1984,7 @@ class Block(list):
+ pat = OPPAT.match(name)
+ if pat is not None:
+ ops = pat.group(2)
+- ops = re.split('\W+', ops)
++ ops = re.split(r'\W+', ops)
+ if op in ops: return True
+ return False
+
+diff --git a/bCNC/CNCList.py b/bCNC/CNCList.py
+index 80108cc..2c9ed72 100644
+--- a/bCNC/CNCList.py
++++ b/bCNC/CNCList.py
+@@ -635,7 +635,7 @@ class CNCListbox(Listbox):
+ if not self._items: return
+ all_items = self._items
+ sel_items = list(map(int,self.curselection()))
+- mreg = re.compile("^\((.*)\)$")
++ mreg = re.compile(r"^\((.*)\)$")
+ change = False
+ for i in sel_items:
+ my_item = all_items[i]
+diff --git a/bCNC/lib/svg_elements.py b/bCNC/lib/svg_elements.py
+index 016093f..15350b5 100644
+--- a/bCNC/lib/svg_elements.py
++++ b/bCNC/lib/svg_elements.py
+@@ -145,7 +145,7 @@ SVG_VALUE_NON_SCALING_STROKE = 'non-scaling-stroke'
+ PATTERN_WS = r'[\s\t\n]*'
+ PATTERN_COMMA = r'(?:\s*,\s*|\s+|(?=-))'
+ PATTERN_COMMAWSP = r'[ ,\t\n\x09\x0A\x0C\x0D]+'
+-PATTERN_FLOAT = '[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?'
++PATTERN_FLOAT = r'[-+]?[0-9]*\.?[0-9]+(?:[eE][-+]?[0-9]+)?'
+ PATTERN_LENGTH_UNITS = 'cm|mm|Q|in|pt|pc|px|em|cx|ch|rem|vw|vh|vmin|vmax'
+ PATTERN_ANGLE_UNITS = 'deg|grad|rad|turn'
+ PATTERN_TIME_UNITS = 's|ms'
+@@ -167,10 +167,10 @@ PATTERN_TRANSFORM_UNITS = PATTERN_LENGTH_UNITS + '|' \
+ + PATTERN_ANGLE_UNITS + '|' \
+ + PATTERN_PERCENT
+
+-REGEX_IRI = re.compile('url\(#?(.*)\)')
++REGEX_IRI = re.compile(r'url\(#?(.*)\)')
+ REGEX_FLOAT = re.compile(PATTERN_FLOAT)
+ REGEX_COORD_PAIR = re.compile('(%s)%s(%s)' % (PATTERN_FLOAT, PATTERN_COMMA, PATTERN_FLOAT))
+-REGEX_TRANSFORM_TEMPLATE = re.compile('(?u)(%s)%s\(([^)]+)\)' % (PATTERN_TRANSFORM, PATTERN_WS))
++REGEX_TRANSFORM_TEMPLATE = re.compile(r'(?u)(%s)%s\(([^)]+)\)' % (PATTERN_TRANSFORM, PATTERN_WS))
+ REGEX_TRANSFORM_PARAMETER = re.compile('(%s)%s(%s)?' % (PATTERN_FLOAT, PATTERN_WS, PATTERN_TRANSFORM_UNITS))
+ REGEX_COLOR_HEX = re.compile(r'^#?([0-9A-Fa-f]{3,8})$')
+ REGEX_COLOR_RGB = re.compile(
+diff --git a/bCNC/plugins/driller.py b/bCNC/plugins/driller.py
+index c25fdd3..43a2cf5 100644
+--- a/bCNC/plugins/driller.py
++++ b/bCNC/plugins/driller.py
+@@ -92,7 +92,7 @@ class Tool(Plugin):
+ if (line=="M95" or line=="%"): header = False
+ if line[0]=="T":
+ # Tools
+- m = re.match('(T\d+)C(.+)',line)
++ m = re.match(r'(T\d+)C(.+)',line)
+ data["tools"][m.group(1)]={"diameter":float(m.group(2)),"holes":[]}
+ if line=="ICI": incrementcoord = True
+ if header==False:
diff -Nru bcnc-0.9.14.318+ds/debian/patches/series bcnc-0.9.14.318+ds/debian/patches/series
--- bcnc-0.9.14.318+ds/debian/patches/series 2025-02-27 21:18:42.000000000 +0100
+++ bcnc-0.9.14.318+ds/debian/patches/series 2025-06-06 16:17:03.000000000 +0200
@@ -4,3 +4,4 @@
0004-__main__.py-use-python3-shebang.patch
0005-bCNC.desktop-add-Categories.patch
0006-fix-dynamic-loading-python3.13.patch
+0007-fix-SyntaxWarning-invalid-escape-sequence.patch
--- End Message ---