2024-08-08 20:36:07 |
Sudip Mukherjee |
description |
Safeeyes uses the imp module, which is incompatible with python 3.12.
```
$ safeeyes
Traceback (most recent call last):
File "/usr/bin/safeeyes", line 33, in <module>
sys.exit(load_entry_point('safeeyes==2.1.5', 'console_scripts', 'safeeyes')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/safeeyes", line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/lib/python3/dist-packages/safeeyes/__main__.py", line 32, in <module>
from safeeyes import utility
File "/usr/lib/python3/dist-packages/safeeyes/utility.py", line 24, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
```
The bug has been fixed upstream (it is just two lines https://github.com/slgobinath/SafeEyes/pull/544), however, there has not been any release since then.
I suggest that we cherrypick the fix in Ubuntu 24.04
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: safeeyes 2.1.5-0.1
ProcVersionSignature: Ubuntu 6.8.0-11.11-generic 6.8.0-rc4
Uname: Linux 6.8.0-11-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.28.0-0ubuntu1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: KDE
Date: Tue Mar 5 18:52:34 2024
InstallationDate: Installed on 2022-12-02 (460 days ago)
InstallationMedia: Kubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809.1)
PackageArchitecture: all
SourcePackage: safeeyes
UpgradeStatus: Upgraded to noble on 2024-02-07 (27 days ago) |
[ Impact ]
safeeyes is completely unusable. It will fail immediately when the user tries to start the application and will crash with the error:
$ safeeyes
Traceback (most recent call last):
File "/usr/bin/safeeyes", line 33, in <module>
sys.exit(load_entry_point('safeeyes==2.1.5', 'console_scripts', 'safeeyes')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/safeeyes", line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/lib/python3/dist-packages/safeeyes/__main__.py", line 32, in <module>
from safeeyes import utility
File "/usr/lib/python3/dist-packages/safeeyes/utility.py", line 24, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
[ Test Plan ]
install safeeyes
1) quick test:
open a terminal and use the command "safeeyes --help"
If the package is not fixed it will crash with the above error.
2) Detailed test:
start safeeyes from the launcher menu.
click on the safeeyes icon in the status bar to open the menu and then click on setting in the menu.
Change the time limits for intervals. ( I used 1 minute for interval between short breaks and interval between long breaks)
Select the "Plugins" tab and disable "Smart Pause".
close the settings.
After the time interval is over "safeeyes" will lock the screen with a message.
[ Where problems could occur ]
This upstream patch is just changing the way it checks python3-croniter module is installed or not at startup. As a worst case scenario if the changed code does not work then safeeyes will not start. But considering the fact the safeeyes is unusable now, the user should not see any new regression than what already exists.
[ Other Info ]
This has been fixed in Debian when v2.1.9 was added and so Oracular is also fixed.
[ Original Bug Description ]
Safeeyes uses the imp module, which is incompatible with python 3.12.
```
$ safeeyes
Traceback (most recent call last):
File "/usr/bin/safeeyes", line 33, in <module>
sys.exit(load_entry_point('safeeyes==2.1.5', 'console_scripts', 'safeeyes')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/bin/safeeyes", line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 995, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/usr/lib/python3/dist-packages/safeeyes/__main__.py", line 32, in <module>
from safeeyes import utility
File "/usr/lib/python3/dist-packages/safeeyes/utility.py", line 24, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
```
The bug has been fixed upstream (it is just two lines https://github.com/slgobinath/SafeEyes/pull/544), however, there has not been any release since then.
I suggest that we cherrypick the fix in Ubuntu 24.04
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: safeeyes 2.1.5-0.1
ProcVersionSignature: Ubuntu 6.8.0-11.11-generic 6.8.0-rc4
Uname: Linux 6.8.0-11-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.28.0-0ubuntu1
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: KDE
Date: Tue Mar 5 18:52:34 2024
InstallationDate: Installed on 2022-12-02 (460 days ago)
InstallationMedia: Kubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809.1)
PackageArchitecture: all
SourcePackage: safeeyes
UpgradeStatus: Upgraded to noble on 2024-02-07 (27 days ago) |
|