Andreas, Thanks for reporting the issue. We can add 'Conflicts: ifupdown'. Infact earlier versions of ifupdown2 did have the "Conflicts: ifupdown"...but in order to have both ifupdown and ifupdown2 co-exist, we removed the "Conflicts: ifupdown" in the recent versions of ifupdown2. We did this primarily to not confuse existing applications that already depend on ifupdown...keeping them both available seemed to be a better option.
Coming back to the problem you hit: - ifupdown2 does not divert /etc/default/networking (Julien can re-confirm). - One thing that i do see not happening cleanly after the purge of ifupdown2 is passing ownership of /lib/systemd/system/networking.service to ifupdown (same thing you are pointing out) Which makes me think that, /lib/system/system/networking.service should also be diverted by ifupdown2. so, one fix in ifupdown2 would be: preinstall - divert /lib/system/system/networking.service postrm - restore diverted /lib/system/system/networking.service Will you be ok with such a fix ?. Thanks!. On 2/9/17, 7:42 PM, Julien Fortin wrote: > Hello Andreas, > > Thanks for the reporting this issue. > I will take a look at this early next week. > > Best, > Julien Fortin > > > On Mon, Feb 6, 2017 at 3:59 AM, Andreas Beckmann <a...@debian.org> wrote: > >> Package: ifupdown2 >> Version: 1.0~git20170114-1 >> Severity: serious >> User: debian...@lists.debian.org >> Usertags: piuparts >> >> >> Hi, >> >> despite of all the diversion magic being performed, ifupdown2 >> comes with >> Provides+Replaces: ifupdown >> but without a corresponding Breaks or Conflicts: ifupdown. >> This causes files to disappear after the sequence: >> >> install ifupdown >> install ifupdown2 >> remove+purge ifupdown2 >> >> and ifupdown is no longer functional (but dpkg still thinks >> it is correctly installed). >> >> >> >From the attached log (scroll to the bottom...): >> >> 0m28.7s ERROR: FAIL: After purging files have disappeared: >> /etc/default/networking owned by: ifupdown2 >> /etc/systemd/system/multi-user.target.wants/ not owned >> /etc/systemd/system/multi-user.target.wants/networking.service -> >> /lib/systemd/system/networking.service not owned >> /etc/systemd/system/network-online.target.wants/ not owned >> /etc/systemd/system/network-online.target.wants/networking.service -> >> /lib/systemd/system/networking.service not owned >> /lib/systemd/system/networking.service owned by: ifupdown2 >> /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/ >> not owned >> /var/lib/systemd/deb-systemd-helper-enabled/multi-user. >> target.wants/networking.service not owned >> /var/lib/systemd/deb-systemd-helper-enabled/network-online.target.wants/ >> not owned >> /var/lib/systemd/deb-systemd-helper-enabled/network-online. >> target.wants/networking.service not owned >> /var/lib/systemd/deb-systemd-helper-enabled/networking.service.dsh-also >> not owned >> >> (note that "owned by: ifupdown2" is misleading - the ownership was only >> recorded after ifupdown2 was installed and had taken over these files) >> >> Diversions cannot be used for /etc/default/networking! >> >> To allow switching back from ifupdown2 to ifupdown, ifupdown will >> probably need a matching Provides+Replaces+Conflicts: ifupdown, >> (against the virtual ifupdown package, not against ifupdown2) >> but I haven't tested that. >> >> >> Andreas >>