Package: init-system-helpers Version: 1.56+nmu1 Severity: normal Hi,
I use debhelper to install and enable systemd user units. I noticed that after changing the `WantedBy` value from default.target to graphical.target the new symlink was not created. I attach a GraphViz .dot graph which visualizes a troubling number of states caused by `dpkg -i`. Even more troubling are the facts that: - reinstallation of the same version changes the state, - purging the package (`dpkg -P`) can leave dead symlinks. What do you think about that? About the graph: - version 4.0 has `WantedBy=default.target`, - version 4.3 has `WantedBy=graphical.target`, - `link` is the state of symlinks in /etc/systemd/user/*.target.wants, - `dsh` is the state of the .dsh-also file. At the same time systemctl: - `enable` would add the second link leaving the first one, - `disable` would remove both symlinks even if one of them is no longer referenced by the unit file, - `reenable` would leave only the symlink pointing to the currently selected target. I have some additional questions: Why is `no_link_installed(…)` taken into account when setting $create_links in `enable(…)`[1]? [1]: https://salsa.debian.org/debian/init-system-helpers/-/blob/master/script/deb-systemd-helper Is there a reason not to just use `reenable` in postinst scripts? An old discussion in #717603 suggests[2] that it was intended to take changes in the [Install] section into account. [2]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717603 -- System Information: Debian Release: 10.8 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-14-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages init-system-helpers depends on: ii perl-base 5.28.1-6+deb10u1 init-system-helpers recommends no packages. init-system-helpers suggests no packages. Versions of packages init-system-helpers is related to: pn insserv <none> -- no debconf information -- Marcin Szewczyk http://wodny.org
digraph g { none [ label = "link: (removed)\ndsh: (removed)" ] none -> def_def [ label = "-i 4.0\nwas-enabled" ] def_def [ label = "link: default\ndsh: default" ] def_def -> none [ label = "-P" ] def_def -> def_def [ label = "-i 4.0\nwas-enabled" ] def_def -> def_def_graph [ label = "-i 4.3\nwas-enabled" ] def_def_graph [ label = "link: default\ndsh: default, graphical" ] def_def_graph -> def_graph [ label = "-i 4.3\nwas-disabled" ] def_def_graph -> none [ label = "-P" ] def_graph [ label = "link: default\ndsh: graphical" ] def_graph -> def_graph [ label = "-i 4.3\nwas-disabled" ] def_graph -> def_dead [ label = "-P" ] def_dead [ label = "link: default (dead)\ndsh: (removed)" ] none -> graph_graph [ label = "-i 4.3\nwas-enabled" ] graph_graph [ label = "link: graph\ndsh: graph" ] graph_graph -> none [ label = "-P"] }