Lot of SyntaxWarning messages during install

Bug #2054869 reported by corrado venturini
This bug report is a duplicate of:  Bug #2029480: SyntaxWarnings with Python3.12. Edit Remove
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
HPLIP
Confirmed
Undecided
Unassigned
hplip (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Ubuntu 24.04 lot of SyntaxWarning messages during install

running python rtupdate hooks for python3.12...
/usr/share/hplip/base/LedmWifi.py:34: SyntaxWarning: invalid escape sequence '\d'
  http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I)
/usr/share/hplip/base/device.py:49: SyntaxWarning: invalid escape sequence '\d'
  http_result_pat = re.compile("""HTTP/\d.\d\s(\d+)""", re.I)
/usr/share/hplip/base/g.py:304: SyntaxWarning: invalid escape sequence '\|'
  spinner = "\|/-\|/-"
/usr/share/hplip/base/g.py:354: SyntaxWarning: invalid escape sequence '\d'
  m = re.search('python(\d(\.\d){0,2})', ext_path) #get the python version where the .so file is found
/usr/share/hplip/base/imagesize.py:186: SyntaxWarning: invalid escape sequence '\#'
  re.compile('\#define\s+\S+\s+\d+') : ('image/x-xbitmap', xbmsize),
/usr/share/hplip/base/imagesize.py:187: SyntaxWarning: invalid escape sequence '\/'
  re.compile('\/\* XPM \*\/') : ('image/x-xpixmap', xpmsize),
/usr/share/hplip/base/imagesize.py:189: SyntaxWarning: invalid escape sequence '\*'
  re.compile('^II\*\x00') : ('image/tiff', tiffsize),
/usr/share/hplip/base/logger.py:439: SyntaxWarning: invalid escape sequence '\<'
  elem_start = re.findall("(\<\W{0,1}\w+) ?", line)[0]

ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: hplip 3.22.10+dfsg0-2ubuntu2
ProcVersionSignature: Ubuntu 6.6.0-14.14-generic 6.6.3
Uname: Linux 6.6.0-14-generic x86_64
ApportVersion: 2.28.0-0ubuntu1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Sat Feb 24 10:31:07 2024
InstallationDate: Installed on 2024-02-20 (4 days ago)
InstallationMedia: Ubuntu 24.04 LTS "Noble Numbat" - Daily amd64 (20240220)
Lpstat: Error: command ['lpstat', '-v'] failed with exit code 1: lpstat: No destinations added.
MachineType: Gigabyte Technology Co., Ltd. H510M H
Papersize: a4
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-6.6.0-14-generic root=UUID=46acaa02-3641-4fce-877b-03fb0f9525e5 ro quiet splash vt.handoff=7
SourcePackage: hplip
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/25/2022
dmi.bios.release: 5.19
dmi.bios.vendor: American Megatrends International, LLC.
dmi.bios.version: F14
dmi.board.asset.tag: Default string
dmi.board.name: H510M H
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.board.version: x.x
dmi.chassis.asset.tag: Default string
dmi.chassis.type: 3
dmi.chassis.vendor: Default string
dmi.chassis.version: Default string
dmi.modalias: dmi:bvnAmericanMegatrendsInternational,LLC.:bvrF14:bd03/25/2022:br5.19:svnGigabyteTechnologyCo.,Ltd.:pnH510MH:pvr-CF:rvnGigabyteTechnologyCo.,Ltd.:rnH510MH:rvrx.x:cvnDefaultstring:ct3:cvrDefaultstring:skuDefaultstring:
dmi.product.family: H510 MB
dmi.product.name: H510M H
dmi.product.sku: Default string
dmi.product.version: -CF
dmi.sys.vendor: Gigabyte Technology Co., Ltd.

Revision history for this message
corrado venturini (corradoventu) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in hplip (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I think some of the warnings are valid, but not all. What regular expression standard is being followed? If it's POSIX then valid values for QUOTED_CHAR are documented in https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html

Revision history for this message
corrado venturini (corradoventu) wrote :

There were also other similar error reports:

/usr/lib/rhythmbox/plugins/alternative-toolbar/alttoolbar_plugins.py:171: SyntaxWarning: invalid escape sequence '\('
  translation = re.sub('\(..\)', '', translation, flags=re.DOTALL)
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/AstrawebParser.py:64: SyntaxWarning: invalid escape sequence '\/'
  url = re.split('(\/display[^"]*)', entry)[1]
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/AstrawebParser.py:66: SyntaxWarning: invalid escape sequence '\/'
  title = re.split('(\/display[^>]*)([^<]*)', entry)[2][1:].strip()
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/AstrawebParser.py:97: SyntaxWarning: invalid escape sequence '\/'
  lyrics = re.split('(<font face=arial size=2>)(.*)(<\/font><br></td><td*)', result)[2]
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/JetlyricsParser.py:50: SyntaxWarning: invalid escape sequence '\.'
  m = re.search('<a href=\'(http://jetlyrics\.com/viewlyrics\.php\?id=[0-9]*)\'>', result)
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/JlyricParser.py:49: SyntaxWarning: invalid escape sequence '\.'
  m = re.search('<div class=\'title\'><a href=\'(/artist/[^\.]*\.html)\'>', result)
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/TerraParser.py:39: SyntaxWarning: invalid escape sequence '\w'
  pattern = re.compile("&(#?\w+?);")
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/WinampcnParser.py:87: SyntaxWarning: invalid escape sequence '\['
  lrcplaintext = re.sub('\[.*?\]', '', lrcplaintext)
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/lyrics.py:44: SyntaxWarning: invalid escape sequence '\('
  LYRIC_TITLE_STRIP=["\(live[^\)]*\)", "\(acoustic[^\)]*\)", "\([^\)]*mix\)", "\([^\)]*version\)", "\([^\)]*edit\)", "\(feat[^\)]*\)"]
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/lyrics.py:44: SyntaxWarning: invalid escape sequence '\('
  LYRIC_TITLE_STRIP=["\(live[^\)]*\)", "\(acoustic[^\)]*\)", "\([^\)]*mix\)", "\([^\)]*version\)", "\([^\)]*edit\)", "\(feat[^\)]*\)"]
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/lyrics.py:44: SyntaxWarning: invalid escape sequence '\('
  LYRIC_TITLE_STRIP=["\(live[^\)]*\)", "\(acoustic[^\)]*\)", "\([^\)]*mix\)", "\([^\)]*version\)", "\([^\)]*edit\)", "\(feat[^\)]*\)"]
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/lyrics.py:44: SyntaxWarning: invalid escape sequence '\('
  LYRIC_TITLE_STRIP=["\(live[^\)]*\)", "\(acoustic[^\)]*\)", "\([^\)]*mix\)", "\([^\)]*version\)", "\([^\)]*edit\)", "\(feat[^\)]*\)"]
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/lyrics.py:44: SyntaxWarning: invalid escape sequence '\('
  LYRIC_TITLE_STRIP=["\(live[^\)]*\)", "\(acoustic[^\)]*\)", "\([^\)]*mix\)", "\([^\)]*version\)", "\([^\)]*edit\)", "\(feat[^\)]*\)"]
/usr/lib/x86_64-linux-gnu/rhythmbox/plugins/lyrics/lyrics.py:44: SyntaxWarning: invalid escape sequence '\('
  LYRIC_TITLE_STRIP=["\(live[^\)]*\)", "\(acoustic[^\)]*\)", "\([^\)]*mix\)", "\([^\)]*version\)", "\([^\)]*edit\)", "\(feat[^\)]*\)"]

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I have seen similar warnings also during building of the HPLIP package.

Looking into the Python documentation

    https://docs.python.org/3/library/re.html

I have found out that the search patterns need to be supplied as raw strings:

    '^\d+' -> r'^\d+'

or backslashes need to get quoted:

    '^\d+' -> '^\\d+'

As HPLIP contains hundreds of regular expressions it would be very awkward to distro-patch this for Debian and Ubuntu, as the upstream code is all the time changing.

An upstream fix would be the best solution.

Adding upstream task ...

Changed in hplip:
status: New → Incomplete
status: Incomplete → Confirmed
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

To the upstream developers of HPLIP:

In a recent version of Python (3.12?) backslashes in regular expressions need to get quoted or the expressions defined as raw strings (r'...'). Could you change it that way? Using raw strings should not break older versions of Python.

Revision history for this message
zdohnal (zdohnal) wrote :

I reported the same or similar issue several months ago with patch https://bugs.launchpad.net/hplip/+bug/2029480 .

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package hplip - 3.23.12+dfsg0-0ubuntu4

---------------
hplip (3.23.12+dfsg0-0ubuntu4) noble; urgency=medium

  * Fix FTBFS on armhf due to implicit functions

 -- Simon Chopin <email address hidden> Fri, 22 Mar 2024 15:40:13 +0100

Changed in hplip (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Michun (gerhard-kulzer) wrote :

I'm running Kubuntu noble with backports enabled. hplip is at version 3.23.12+dfsg0-0ubuntu5 and I have the same problems as described above. Python3 upgrade is blocked.

Setting up python3 (3.12.3-0ubuntu1) ...
running python rtupdate hooks for python3.12...
/usr/share/hplip/base/imagesize.py:186: SyntaxWarning: invalid escape sequence '\#'
  re.compile('\#define\s+\S+\s+\d+') : ('image/x-xbitmap', xbmsize),
/usr/share/hplip/base/imagesize.py:187: SyntaxWarning: invalid escape sequence '\/'
  re.compile('\/\* XPM \*\/') : ('image/x-xpixmap', xpmsize),
/usr/share/hplip/base/imagesize.py:189: SyntaxWarning: invalid escape sequence '\*'
  re.compile('^II\*\x00') : ('image/tiff', tiffsize),
/usr/share/hplip/fax/ledmfax.py:46: SyntaxWarning: invalid escape sequence '\d'
  http_result_pat = re.compile(b"""HTTP/\d.\d\s(\d+)""", re.I)
Traceback (most recent call last):
  File "/usr/bin/py3clean", line 210, in <module>
    main()
  File "/usr/bin/py3clean", line 196, in main
    pfiles = set(dpf.from_package(options.package))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/python3/debpython/files.py", line 53, in from_package
    raise Exception("cannot get content of %s" % package_name)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.