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 <[email protected]> wrote:
>
>> Package: ifupdown2
>> Version: 1.0~git20170114-1
>> Severity: serious
>> User: [email protected]
>> 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
>>