Bug 1454505

Summary: NetworkManager-ppp and NetworkManager-glib-devel have incorrect Provides
Product: [Fedora] Fedora Reporter: Stephen Gallagher <sgallagh>
Component: NetworkManagerAssignee: Lubomir Rintel <lkundrak>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 26CC: bgalvani, code, dcbw, fgiudici, lkundrak, lrintel, sacpatil, thaller, yaneti
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-05-29 12:09:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1400162    
Attachments:
Description Flags
dist-git patch to correct Requires/Provides sgallagh: review? (lrintel)

Description Stephen Gallagher 2017-05-23 00:12:54 UTC
Created attachment 1281273 [details]
dist-git patch to correct Requires/Provides

Description of problem:
The -ppp and -glib-devel subpackages are marked as `Provides: NetworkManager = %{epoch}:%{version}-%{release}`. However, these packages do not provide that functionality, they require it. I suspect that this was a packaging typo that was overlooked because it would be uncommon to try to install these separate from the main NetworkManager. However, in the modularity world, we discovered that the depsolver for the "installer" module was attempting to use NetworkManager-ppp to satisfy our dependency for NetworkManager, which resulted in failures.

Version-Release number of selected component (if applicable):
NetworkManager-1.8.0-3.fc27
NetworkManager-1.8.0-3.fc26

How reproducible:
Every time

Steps to Reproduce:
1. `dnf repoquery --provides NetworkManager-ppp`


Actual results:
NetworkManager = 1:1.8.0-1.fc26
NetworkManager-ppp = 1:1.8.0-1.fc26
NetworkManager-ppp(x86-64) = 1:1.8.0-1.fc26
libnm-ppp-plugin.so()(64bit)


Expected results:
NetworkManager-ppp = 1:1.8.0-1.fc26
NetworkManager-ppp(x86-64) = 1:1.8.0-1.fc26
libnm-ppp-plugin.so()(64bit)

Additional info:

Comment 1 Sachin 2017-07-16 07:42:55 UTC
I also noticed NetworkManager-ppp need to be install after upgrading from f25 to f26 due to missing libnm-ppp-plugin.so with failed with an error when trying to connect via PPPoE,
~~~
Jul 16 12:36:12 nubia NetworkManager[982]: <warn>  [1500188772.1619] device (enp0s25): PPPoE failed to start: the PPP plugin /usr/lib64/NetworkManager/libnm-ppp-plugin.so is not installed
Jul 16 12:38:48 nubia NetworkManager[982]: <info>  [1500188928.5510] device (enp0s25): state change: ip-config -> failed (reason 'ppp-start-failed') [70 120 12]
~~~

After install
~~~
Jul 16 12:43:59 nubia NetworkManager[982]: <info>  [1500189239.8472] loaded PPP plugin /usr/lib64/NetworkManager/libnm-ppp-plugin.so
Jul 16 12:43:59 nubia NetworkManager[982]: <info>  [1500189239.8478] ppp-manager: starting PPP connection
Jul 16 12:43:59 nubia NetworkManager[982]: <info>  [1500189239.8500] ppp-manager: pppd started with pid 9113
~~~

Not sure if this a right place to mention this

Comment 2 Lubomir Rintel 2017-07-20 21:05:23 UTC
(In reply to Stephen Gallagher from comment #0)
> Created attachment 1281273 [details]
> dist-git patch to correct Requires/Provides

Thanks, applied.

(In reply to Sachin from comment #1)
> I also noticed NetworkManager-ppp need to be install after upgrading from
> f25 to f26 due to missing libnm-ppp-plugin.so with failed with an error when
> trying to connect via PPPoE,
...
> Not sure if this a right place to mention this

Thanks for pointing that out. Seems like it's a depsolver bug, traced in bug #1470922

Comment 3 Yanko Kaneti 2017-07-21 10:14:33 UTC
Err... I resubmitted yesterdays NetworkManager build in f27 (sorry if that was out of place), only to find out that the deps are somewhat wrong.

# rpm -Uhv libnm-gtk-devel-1.8.2-2.fc27.x86_64.rpm  NetworkManager-glib-devel-1.8.2-2.fc27.x86_64.rpm 
error: Failed dependencies:
	NetworkManager-devel >= 1:1.1.0 is needed by libnm-gtk-devel-1.8.2-2.fc27.x86_64
	NetworkManager-devel = 1:1.8.2-2.fc27 is needed by NetworkManager-glib-devel-1:1.8.2-2.fc27.x86_64
	NetworkManager-devel(x86-64) = 1:1.8.2-2.fc27 is needed by NetworkManager-glib-devel-1:1.8.2-2.fc27.x86_64

Comment 4 Beniamino Galvani 2017-07-21 11:54:55 UTC
I think NetworkManager-glib-devel should not depend on on NetworkManager-devel, as the latter does not exist anymore.

Comment 5 Thomas Haller 2017-07-25 04:32:02 UTC
I think the original patch [1] is wrong.
Also, the partial revert [2] is not enough, because it should be a full revert.

[1] https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=03586743f09c8c70b43025bce47d5b064bf8999f

[2] https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=1ac92ac3559c483ba3ed6efaf11843dc3a49adae


The Obsoletes+Provides combo is done that way, to realize a package split.


It surprises me, that according to comment 1, the NetworkManager-ppp plugin was not automatically installed on upgrade. That is precisely the point of having

  Provides: NetworkManager = %{epoch}:%{version}-%{release}
  Obsoletes: NetworkManager < %{obsoletes_ppp_plugin}

I think, [1] should be fully reverted and comment 1 should be investigated why the split didn't work on upgrade.

Comment 6 Stephen Gallagher 2017-07-26 16:01:37 UTC
Sorry if that patch turned out to be incorrect. But the fact is that the depsolver is seeing NetworkManager-ppp as being sufficient to meet a dependency on "NetworkManager", which causes problems. So that will need fixing.

Comment 7 Thomas Haller 2017-07-26 16:45:23 UTC
(In reply to Thomas Haller from comment #5)

> The Obsoletes+Provides combo is done that way, to realize a package split.

what I said here was wrong (discussed with Lubomir).

I agree now, current master is correct as-is.

Comment 8 Fedora End Of Life 2018-05-03 08:27:25 UTC
This message is a reminder that Fedora 26 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 26. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '26'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 26 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 9 Fedora End Of Life 2018-05-29 12:09:10 UTC
Fedora 26 changed to end-of-life (EOL) status on 2018-05-29. Fedora 26
is no longer maintained, which means that it will not receive any
further security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.