Package: swupdate
Version: 2024.12.1+dfsg-3, 2025.12+dfsg-3
Severity: important

Dear Maintainer,

When applying an update image using swupdate-client with the following command:
```
swupdate-client -v <update-image.swu>
```

the update fails with the error:
```
swupdate_async_start returns -1
```

However, running the update directly with:
```
swupdate -v -i <update-image.swu>
```
works without any issues.


Observations:
- The swupdate.service creates the control and progress IPC sockets under: 
/run/swupdate
- By default, swupdate-client attempts to locate the IPC sockets under: /tmp/
- As a result, swupdate-client fails to connect to the running swupdate daemon 
and exits with the error mentioned above.
- From reviewing the source code, it appears that the socket path resolution 
depends on the environment variables: RUNTIME_DIRECTORY / TMPDIR else it 
fallbacks to /tmp.



Suggested Solution:
To ensure consistent IPC socket paths between the daemon and the client, I 
suggest explicitly configuring the socket paths in the Debian defconfig:
```
CONFIG_SOCKET_CTRL_PATH="/run/swupdate/sockinstctrl"
CONFIG_SOCKET_PROGRESS_PATH="/run/swupdate/swupdateprog"
```

This aligns both the daemon (started via systemd) and swupdate-client to use 
/run/swupdate, preventing the swupdate_async_start returns -1 error caused by 
mismatched socket paths.

Please find the attached patch for your review.

Thanks & Regards,
Badrikesh

Attachment: 0001-Align-SWUpdate-client-socket-paths-with-daemon-Runti.patch
Description: 0001-Align-SWUpdate-client-socket-paths-with-daemon-Runti.patch

Reply via email to