** Description changed: + [ Impact ] + + * After installing the ssh-import-id package on a noble schroot (or any minimal environment where the python3-launchpadlib package is not installed), running the command `ssh-import-id` (no argument needed to demonstrate the issue) fails with the following error: + > [...] + > ModuleNotFoundError: No module named 'launchpadlib'. + This is also a problem when building a core24 snap that uses `ssh-import-id` as a staged package. + + As it turns out, the new feature introduced by bug 1745538 made the + launchpadlib python module a required runtime dependency of ssh-import- + id. However the dependency is not declared on the ssh-import-id binary + package. + + * The fix that was merged for plucky adds python3-launchpadlib as a + Depends fields for ssh-import-id. + + [ Test Plan ] + + 1. Using a minimal schroot: + a. Create a noble schroot using (mk-sbuild) + $ mk-sbuild noble --name noble-ssh-import-id + + b. Enter the (s)chroot (here on amd64), install the ssh-import-id package and run it: + $ schroot -c noble-ssh-import-id-amd64 -u root + (noble-ssh-import-id-amd64) # apt install ssh-import-id + (noble-ssh-import-id-amd64) # ssh-import-id + + 2. Using a core24 based snap + a. Clone a tests-snap repository that uses ssh-import-id: + $ git clone https://git.launchpad.net/~ogayot/+git/ssh-import-id-test-snap + b. Build the snap: + $ snapcraft pack + c. Install the snap: + $ sudo snap install --devmode testsnap_0.1_amd64.snap + d. Run the snap and observe the result: + $ testsnap lp:ogayot + + [ Where problems could occur ] + + * The upload introduces a new dependency on python3-launchpadlib. This + means that upgrading a system that was previously affected (i.e., ssh- + import-id was installed but python3-launchpadlib wasn't), will pull + python3-launchpadlib and other transitive dependencies. While this is + required to fix ssh-import-id, the extra "cost" might come as a surprise + for some users when upgrading their system. + + [ Other Info ] + + * The regression was introduced in bug 1745538 + + [ Original description ] + After installing ssh-import-id in a schroot on noble, running it fails: # ssh-import-id ogayot Traceback (most recent call last): - File "/usr/bin/ssh-import-id", line 33, in <module> - sys.exit(load_entry_point('ssh-import-id==5.11', 'console_scripts', 'ssh-import-id')()) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/bin/ssh-import-id", 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/ssh_import_id/__init__.py", line 33, in <module> - from launchpadlib.launchpad import Launchpad + File "/usr/bin/ssh-import-id", line 33, in <module> + sys.exit(load_entry_point('ssh-import-id==5.11', 'console_scripts', 'ssh-import-id')()) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/bin/ssh-import-id", 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/ssh_import_id/__init__.py", line 33, in <module> + from launchpadlib.launchpad import Launchpad ModuleNotFoundError: No module named 'launchpadlib' This appears to be a regression caused by bug 1745538 ; adding support for launchpad teams. Looking at the code, we have python3-launchpadlib as a build-depends but not a depends on the binary package.
** Summary changed: - ssh-import-id fails if python3-launchpadlib is not installed + [SRU] ssh-import-id fails if python3-launchpadlib is not installed ** Description changed: [ Impact ] - * After installing the ssh-import-id package on a noble schroot (or any minimal environment where the python3-launchpadlib package is not installed), running the command `ssh-import-id` (no argument needed to demonstrate the issue) fails with the following error: + * After installing the ssh-import-id package on a noble schroot (or any minimal environment where the python3-launchpadlib package is not installed), running the command `ssh-import-id` (no argument needed to demonstrate the issue) fails with the following error: > [...] > ModuleNotFoundError: No module named 'launchpadlib'. This is also a problem when building a core24 snap that uses `ssh-import-id` as a staged package. As it turns out, the new feature introduced by bug 1745538 made the launchpadlib python module a required runtime dependency of ssh-import- id. However the dependency is not declared on the ssh-import-id binary package. - * The fix that was merged for plucky adds python3-launchpadlib as a + * The fix that was merged for plucky adds python3-launchpadlib as a Depends fields for ssh-import-id. [ Test Plan ] - 1. Using a minimal schroot: - a. Create a noble schroot using (mk-sbuild) - $ mk-sbuild noble --name noble-ssh-import-id + 1. Using a minimal schroot. If testing for oracular, substitute "noble" with "oracular": + a. Create a noble schroot (here using mk-sbuild) + $ mk-sbuild noble --name noble-ssh-import-id - b. Enter the (s)chroot (here on amd64), install the ssh-import-id package and run it: - $ schroot -c noble-ssh-import-id-amd64 -u root - (noble-ssh-import-id-amd64) # apt install ssh-import-id - (noble-ssh-import-id-amd64) # ssh-import-id + b. Enter the (s)chroot (here on amd64), install the ssh-import-id package and run it: + $ schroot -c noble-ssh-import-id-amd64 -u root + (noble-ssh-import-id-amd64) # apt install ssh-import-id + (noble-ssh-import-id-amd64) # ssh-import-id 2. Using a core24 based snap - a. Clone a tests-snap repository that uses ssh-import-id: - $ git clone https://git.launchpad.net/~ogayot/+git/ssh-import-id-test-snap - b. Build the snap: - $ snapcraft pack - c. Install the snap: - $ sudo snap install --devmode testsnap_0.1_amd64.snap - d. Run the snap and observe the result: - $ testsnap lp:ogayot + a. Clone a tests-snap repository that uses ssh-import-id: + $ git clone https://git.launchpad.net/~ogayot/+git/ssh-import-id-test-snap + b. Build the snap: + $ snapcraft pack + c. Install the snap: + $ sudo snap install --devmode testsnap_0.1_amd64.snap + d. Run the snap and observe the result: + $ testsnap lp:ogayot [ Where problems could occur ] - * The upload introduces a new dependency on python3-launchpadlib. This + * The upload introduces a new dependency on python3-launchpadlib. This means that upgrading a system that was previously affected (i.e., ssh- import-id was installed but python3-launchpadlib wasn't), will pull python3-launchpadlib and other transitive dependencies. While this is required to fix ssh-import-id, the extra "cost" might come as a surprise for some users when upgrading their system. [ Other Info ] - * The regression was introduced in bug 1745538 + * The regression was introduced in bug 1745538 [ Original description ] After installing ssh-import-id in a schroot on noble, running it fails: # ssh-import-id ogayot Traceback (most recent call last): File "/usr/bin/ssh-import-id", line 33, in <module> sys.exit(load_entry_point('ssh-import-id==5.11', 'console_scripts', 'ssh-import-id')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/bin/ssh-import-id", 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/ssh_import_id/__init__.py", line 33, in <module> from launchpadlib.launchpad import Launchpad ModuleNotFoundError: No module named 'launchpadlib' This appears to be a regression caused by bug 1745538 ; adding support for launchpad teams. Looking at the code, we have python3-launchpadlib as a build-depends but not a depends on the binary package. ** Description changed: [ Impact ] * After installing the ssh-import-id package on a noble schroot (or any minimal environment where the python3-launchpadlib package is not installed), running the command `ssh-import-id` (no argument needed to demonstrate the issue) fails with the following error: > [...] > ModuleNotFoundError: No module named 'launchpadlib'. This is also a problem when building a core24 snap that uses `ssh-import-id` as a staged package. As it turns out, the new feature introduced by bug 1745538 made the launchpadlib python module a required runtime dependency of ssh-import- id. However the dependency is not declared on the ssh-import-id binary package. * The fix that was merged for plucky adds python3-launchpadlib as a - Depends fields for ssh-import-id. + Depends field for ssh-import-id. [ Test Plan ] 1. Using a minimal schroot. If testing for oracular, substitute "noble" with "oracular": a. Create a noble schroot (here using mk-sbuild) $ mk-sbuild noble --name noble-ssh-import-id b. Enter the (s)chroot (here on amd64), install the ssh-import-id package and run it: $ schroot -c noble-ssh-import-id-amd64 -u root (noble-ssh-import-id-amd64) # apt install ssh-import-id (noble-ssh-import-id-amd64) # ssh-import-id 2. Using a core24 based snap a. Clone a tests-snap repository that uses ssh-import-id: $ git clone https://git.launchpad.net/~ogayot/+git/ssh-import-id-test-snap b. Build the snap: $ snapcraft pack c. Install the snap: $ sudo snap install --devmode testsnap_0.1_amd64.snap d. Run the snap and observe the result: $ testsnap lp:ogayot [ Where problems could occur ] * The upload introduces a new dependency on python3-launchpadlib. This means that upgrading a system that was previously affected (i.e., ssh- import-id was installed but python3-launchpadlib wasn't), will pull python3-launchpadlib and other transitive dependencies. While this is required to fix ssh-import-id, the extra "cost" might come as a surprise for some users when upgrading their system. [ Other Info ] * The regression was introduced in bug 1745538 [ Original description ] After installing ssh-import-id in a schroot on noble, running it fails: # ssh-import-id ogayot Traceback (most recent call last): File "/usr/bin/ssh-import-id", line 33, in <module> sys.exit(load_entry_point('ssh-import-id==5.11', 'console_scripts', 'ssh-import-id')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/bin/ssh-import-id", 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/ssh_import_id/__init__.py", line 33, in <module> from launchpadlib.launchpad import Launchpad ModuleNotFoundError: No module named 'launchpadlib' This appears to be a regression caused by bug 1745538 ; adding support for launchpad teams. Looking at the code, we have python3-launchpadlib as a build-depends but not a depends on the binary package. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2085898 Title: [SRU] ssh-import-id fails if python3-launchpadlib is not installed To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ssh-import-id/+bug/2085898/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
