Comment 14 for bug 1794825

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Looks like this in postinst:
  deb-systemd-invoke $_dh_action 'ibacm.service' 'ibacm.socket' >/dev/null || true
I already had a bug (with Debian) about debhelpers and that socket+service should not start both but I fail to find it atm.
I also get the feeling I miss something here :-/

Well it is a fast and easy to iterate on experiments for now.

Note: as with my other tests the trigger to the ibacm socket can easily be reproduced with:
$ echo "Hello World2"| netcat -U /run/ibacm-unix.sock

Tests:
#1 - Upgrading from broken state to the fixed PPA: working
     This no more has the restart, so the upgrade works (otherwise it was failed postinst).
     The systemd services stay "as they are" which is socket up and service failed (ok).
     A connect to the socket after the upgrade tries to start the service (ok if working,
     propagating the fail to the socket if failing)
       ibacm.socket: Failed with result 'service-start-limit-hit'.
     That is ok, package upgrade fixed the package install status and socket activation woudl
     still work.
#2 - fresh install from fixed PPA: working
     The service is loaded and enabled and the socket is active
     A connect to the socket tries to start the service (ok if working,
     propagating the fail to the socket if failing)

Overall:
- the package postinst stopped to be broken
- the module for it has to be available late (when the socket is used) instead of on-install
  allowing some hotplug
- It isn't too important if it fails on the condition check or as it does now

The log is correct:
  /var/log/ibacm.log:
  [...]
  2018-10-16T10:55:11.560: acm_open_devices: ERROR - unable to get device list
  2018-10-16T10:55:11.560: main: ERROR - unable to open any devices

That said, upstream or at least Debian (which I think is the same in this case) would need to agree to drop the sysV script.

I'll propose it there (PR that is already linked) and on the Mailing list once I rebased my tests for them.