Package: release.debian.org
Severity: normal
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:bcnc
User: [email protected]
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 <[email protected]>  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 <[email protected]>
+From: Ronald Schellberg <[email protected]>
+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 <[email protected]>
 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 <[email protected]>
+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

Reply via email to