Build and packaging library
  • Python 43.9%
  • Makefile 40.9%
  • Shell 15.2%
Find a file
Jan Lindemann a19679fecc lib.ec.ssh.AsyncSSH: Revert "Reuse connection"
This reverts commit 04fef1e67a.

Reusing AsyncSSH's connection is fine and fast, but only if it's not
combined with the AsyncRunner. See commit 67e51cf0 why it was
introduced in the first place, along with a reasoning why it may be a
bad idea. Looks like we're now reaping what we sowed.

The current plan to get this to fly is to sprinkle async / await all
over the code paths to App.os_release(). That is a lot of churn, so
postpone and revert for now to keep CI working.

  File "~/local/src/jw.dev/proj/jw-pkg/scripts/jw/pkg/lib/ec/ssh/AsyncSSH.py", line 463, in _run_ssh
    return await self._run_on_conn(
           ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "~/local/src/jw.dev/proj/jw-pkg/scripts/jw/pkg/lib/ec/ssh/AsyncSSH.py", line 403, in _run_on_conn
    proc = await conn.create_process(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    )
    ^
  File "/usr/lib/python3.13/site-packages/asyncssh/connection.py", line 4492, in create_process
    chan, process = await self.create_session(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
        SSHClientProcess, *args, **kwargs) # type: ignore
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/asyncssh/connection.py", line 4385, in create_session
    session = await chan.create(session_factory, command, subsystem,
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
                                bool(self._agent_forward_path))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/asyncssh/channel.py", line 1149, in create
    packet = await self._open(b'session')
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/asyncssh/channel.py", line 717, in _open
    return await self._open_waiter

^^^^^^^^^^^^^^^^^^^^^^^

RuntimeError: Task <Task pending name='Task-1' coro=<App.__run() running at ~/local/src/jw.dev/proj/jw-pkg/scripts/jw/pkg/lib/App.py:137> cb=[_run_until_complete_cb() at /usr/lib64/python3.13/asyncio/base_events.py:181]> got Future <Future pending> attached to a different loop

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-16 16:07:11 +02:00
.github/workflows build-package.yaml: Add workflow 2026-04-13 17:23:13 +02:00
bin bin, make, scripts: Re-add files necessary for packaging jw-build 2025-11-14 11:22:50 +01:00
conf scripts/usr-bin: Install symlink /usr/bin/jw-pkg 2026-04-06 15:58:11 +02:00
make cmds.projects.CmdCanonicalizeRemotes: Add command 2026-04-13 12:23:02 +02:00
scripts Remove /srv/git from janware Git URLs 2026-04-13 12:15:37 +02:00
src lib.ec.ssh.AsyncSSH: Revert "Reuse connection" 2026-04-16 16:07:11 +02:00
.gitignore Everywhere: Rename package "jw-build" to "jw-pkg" 2025-11-28 13:35:56 +01:00
HASH Release 1.0.0-204@suse-tumbleweed/x86_64 2026-04-16 11:54:54 +00:00
Makefile make: Replace RPM -> PKG 2026-03-16 14:57:50 +01:00
RELEASES Release 1.0.0-204@suse-tumbleweed/x86_64 2026-04-16 11:54:54 +00:00
VERSION Start version: 1.0.0-204 2026-04-16 11:54:09 +00:00