Hi, On Wed, Dec 04, 2019 at 10:24:40PM +0500, Andrey Rahmatullin wrote:
> > One of the options I had in my original proposal was that we could drop the > > requirement for transitions through apt, and instead provide transition > > scripts that use dpkg's --force options to go through an invalid state > > instead of requiring all intermediate states to be valid. > I think apt already does that sometimes? Yes, but as far as I've understood that is a different resolver than the regular dependency solver. The regular solver avoids including operations in the solution that require too many follow-up operations to get back into a valid state, because searching the solution space there takes a long time. The aptitude resolver can do that, but it can go into a state where it needs to make a lot of attempts to find a solution. This is what I described in my earlier mail to -devel about libgtk pulling in systemd-sysv through dbus-user-session. The alternative using dbus-x11 exists, but the regular apt resolver doesn't find it, while aptitude does after about thirty seconds. The resolver that avoids dpkg errors reorders operations to remove invalid states, and when it finds that it cannot avoid going through one, it grumbles and does so -- which is why once you give apt the solution "maybe if you install dbus-x11", it will come up with a working plan. > > I'd be in favour of always including units along with init scripts, ideally > > as a strong requirement so we can disable the init script compatibility > > layer in systemd, and the same for cron files and timer units. > The relevant policy bug is #941198. I see no problem with going forward with this change, because it is not going to be affected by GR outcome. We want to be able to have systemd unit files for services in any case. Simon