Borgmatic 1.9.11 compilation erros with Python 3.10 and 3.11 #1005

Closed
opened 2025-02-23 13:28:55 +00:00 by arkamar · 3 comments

I have noticed following errors while I was creating Gentoo package for Borgmatic 1.9.11. The issue was introduced in commit a0ba5b673b - Add credential loading from file, KeePassXC, and Docker/Podman secrets.. This happens only with Python 3.10.16 and 3.11.11, Python 3.12.9 and 3.13.2 seem to be ok.

python3.11 -m gpep517 install-wheel --destdir=/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install --interpreter=/usr/bin/python3.11 --prefix=/usr --optimize=all /var/tmp/portage/app-backup/borgmatic-1.9.11
/work/borgmatic-1.9.11_python3.11/wheel/borgmatic-1.9.11-py3-none-any.whl
2025-02-23 13:00:08,627 gpep517 INFO Installing /var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/wheel/borgmatic-1.9.11-py3-none-any.whl into /var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_p
ython3.11/install
*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py", line 24
    raise ValueError(f'Cannot load invalid secret name: "{' '.join(credential_parameters)}"')
                                                                                            ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py", line 24
    raise ValueError(f'Cannot load invalid secret name: "{' '.join(credential_parameters)}"')
                                                                                            ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py", line 24
    raise ValueError(f'Cannot load invalid secret name: "{' '.join(credential_parameters)}"')
                                                                                            ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py", line 18
    raise ValueError(f'Cannot load invalid credential: "{' '.join(credential_parameters)}"')
                                                                                           ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py", line 18
    raise ValueError(f'Cannot load invalid credential: "{' '.join(credential_parameters)}"')
                                                                                           ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py", line 18
    raise ValueError(f'Cannot load invalid credential: "{' '.join(credential_parameters)}"')
                                                                                           ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py", line 23
    )
    ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py", line 23
    )
    ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py", line 23
    )
    ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py", line 25
    )
    ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py", line 25
    )
    ^
SyntaxError: f-string: expecting '}'

*** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py'...
  File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py", line 25
    )
    ^
SyntaxError: f-string: expecting '}'
I have noticed following errors while I was creating Gentoo package for Borgmatic 1.9.11. The issue was introduced in commit a0ba5b673b9e - `Add credential loading from file, KeePassXC, and Docker/Podman secrets.`. This happens only with Python 3.10.16 and 3.11.11, Python 3.12.9 and 3.13.2 seem to be ok. ``` python3.11 -m gpep517 install-wheel --destdir=/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install --interpreter=/usr/bin/python3.11 --prefix=/usr --optimize=all /var/tmp/portage/app-backup/borgmatic-1.9.11 /work/borgmatic-1.9.11_python3.11/wheel/borgmatic-1.9.11-py3-none-any.whl 2025-02-23 13:00:08,627 gpep517 INFO Installing /var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/wheel/borgmatic-1.9.11-py3-none-any.whl into /var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_p ython3.11/install *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py", line 24 raise ValueError(f'Cannot load invalid secret name: "{' '.join(credential_parameters)}"') ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py", line 24 raise ValueError(f'Cannot load invalid secret name: "{' '.join(credential_parameters)}"') ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/container.py", line 24 raise ValueError(f'Cannot load invalid secret name: "{' '.join(credential_parameters)}"') ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py", line 18 raise ValueError(f'Cannot load invalid credential: "{' '.join(credential_parameters)}"') ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py", line 18 raise ValueError(f'Cannot load invalid credential: "{' '.join(credential_parameters)}"') ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/file.py", line 18 raise ValueError(f'Cannot load invalid credential: "{' '.join(credential_parameters)}"') ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py", line 23 ) ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py", line 23 ) ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/keepassxc.py", line 23 ) ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py", line 25 ) ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py", line 25 ) ^ SyntaxError: f-string: expecting '}' *** Error compiling '/var/tmp/portage/app-backup/borgmatic-1.9.11/work/borgmatic-1.9.11_python3.11/install/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py'... File "/usr/lib/python3.11/site-packages/borgmatic/hooks/credential/systemd.py", line 25 ) ^ SyntaxError: f-string: expecting '}' ```
Author

The same nested quotes in f-string can be used since PEP 701 introduced in Python 3.12.

The same nested quotes in f-string can be used since [PEP 701](https://docs.python.org/3.12/whatsnew/3.12.html#pep-701-syntactic-formalization-of-f-strings) introduced in Python 3.12.
Owner

Ugh, thank you for filing this one! I really need to get some automated tests against older versions of Python. I've fixed the issue and will put out an updated release momentarily.

Ugh, thank you for filing this one! I really need to get some automated tests against older versions of Python. I've fixed the issue and will put out an updated release momentarily.
Owner

Released in borgmatic 1.9.12!

Released in borgmatic 1.9.12!
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: borgmatic-collective/borgmatic#1005
No description provided.