Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#72824 - [Inkscape] Missing package dependency on python-lockfile

Attached to Project: Arch Linux
Opened by Christopher Parish (cparish) - Tuesday, 23 November 2021, 18:33 GMT
Last edited by Christian Hesse (eworm) - Monday, 24 July 2023, 07:53 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Lukas Fleischer (lfleischer)
Christian Hesse (eworm)
Architecture All
Severity Very Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
Inkscape requires the python lockfile module to open the built-in GUI Extension management page

Additional info:
Version: Inkscape 1.1.1-3

Steps to reproduce:
Install Inkscape
Open Extensions -> Manage Extensions
Operation fails with backtrace complaining about missing lockfile module

Fix:
Add python-lockfile as a dependency
This task depends upon

Closed by  Christian Hesse (eworm)
Monday, 24 July 2023, 07:53 GMT
Reason for closing:  Fixed
Additional comments about closing:  inkscape 1.3-1
Comment by Christian Hesse (eworm) - Thursday, 02 December 2021, 21:04 GMT
I do not have python-lockfile installed, but I can not reproduce.
Can you show the backtrace? Possibly an installed extension depends on python-lockfile?
Comment by Christopher Parish (cparish) - Thursday, 02 December 2021, 22:47 GMT
I did some more poking, and the crash only happens with python-cachecontrol installed without python-lockfile. cachecontrol has an optional for lockfile, but it appears inkscape presumes the entire cachecontrol library is available if instantiatable.

The inkscape build/packaging scripts for Windows and Mac both include cachecontrol and lockfile explicitly. I'm not sure about the linux appimage one. It's not included at the first level, but I can't say if it's pulled in as a dependency of another package.

Backtrace:
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/cachecontrol/caches/file_cache.py", line 72, in __init__
from lockfile import LockFile
ModuleNotFoundError: No module named 'lockfile'
Comment by phil (nlufr) - Friday, 24 March 2023, 21:07 GMT
Hello, same problem with this version: inkscape-1.2.2-4-x86_64.pkg.tar.zst


<frozen importlib._bootstrap>:671: ImportWarning: DynamicImporter.exec_module() not found; falling back to load_module()
<frozen importlib._bootstrap>:671: ImportWarning: DynamicImporter.exec_module() not found; falling back to load_module()
An error occured with the extensions manager!
Trying to self-update the package... Failed to update!

Please delete the package manually! (see location below)


Please report this error
------------------------

Report URL: https://gitlab.com/inkscape/extras/extension-manager/-/issues
Location: /usr/share/inkscape/extensions/inkman/inkman/inkman
inkscape-extension-manager: 1.0

Not done
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/cachecontrol/caches/file_cache.py", line 77, in __init__
from lockfile import LockFile
ModuleNotFoundError: No module named 'lockfile'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/share/inkscape/extensions/inkman/inkman/manage_extensions.py", line 61, in recovery_run
run(args)
File "/usr/share/inkscape/extensions/inkman/inkman/manage_extensions.py", line 36, in run
from inkman.targets import TARGETS
File "/usr/share/inkscape/extensions/inkman/inkman/inkman/targets.py", line 9, in <module>
ExtensionsTarget("extension", "Extensions", "extensions", True, filters=("*.inx",)),
File "/usr/share/inkscape/extensions/inkman/inkman/inkman/target.py", line 49, in __init__
self.archive = RemoteArchive(category)
File "/usr/share/inkscape/extensions/inkman/inkman/inkman/remote.py", line 111, in __init__
cache=FileCache(CACHE_DIR),
File "/usr/lib/python3.10/site-packages/cachecontrol/caches/file_cache.py", line 87, in __init__
raise ImportError(notice)
ImportError:
NOTE: In order to use the FileCache you must have
lockfile installed. You can install it via pip:
pip install lockfile

Loading...