Bug 1406454
Summary: | Conflicting files between NetworkManager sub-packages | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Lukas Slebodnik <lslebodn> |
Component: | NetworkManager | Assignee: | Lubomir Rintel <lkundrak> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | bgalvani, dcbw, fgiudici, lkundrak, lslebodn, psimerda, thaller |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | NetworkManager-1.6-0.2.rc1.fc26 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-01-20 16:54:54 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: |
Description
Lukas Slebodnik
2016-12-20 15:06:04 UTC
(In reply to Lukas Slebodnik from comment #0) Error: Transaction check error: file /usr/share/locale/de/LC_MESSAGES/NetworkManager.mo from install of Networ6_64 file /usr/share/locale/pl/LC_MESSAGES/NetworkManager.mo from install of Networ6_64 Do you happen to have the full error message? Sorry, there was some problem with copy&paste which I did not notice [root@host /]# rpm -qa NetworkManager* NetworkManager-1.5.2-4.fc26.x86_64 NetworkManager-team-1.5.2-4.fc26.x86_64 NetworkManager-libnm-1.5.2-4.fc26.x86_64 NetworkManager-wifi-1.5.2-4.fc26.x86_64 NetworkManager-glib-1.5.2-4.fc26.x86_64 [root@362bd8c36200 /]# dnf update -y NetworkManager Last metadata expiration check: 0:11:55 ago on Wed Jan 11 16:43:47 2017 UTC. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: NetworkManager x86_64 1:1.5.3-4.fc26 rawhide 1.5 M NetworkManager-libnm x86_64 1:1.5.3-4.fc26 rawhide 1.2 M NetworkManager-team x86_64 1:1.5.3-4.fc26 rawhide 121 k NetworkManager-wifi x86_64 1:1.5.3-4.fc26 rawhide 148 k Transaction Summary ================================================================================ Upgrade 4 Packages Total size: 2.9 M Downloading Packages: [SKIPPED] NetworkManager-1.5.3-4.fc26.x86_64.rpm: Already downloaded [SKIPPED] NetworkManager-libnm-1.5.3-4.fc26.x86_64.rpm: Already downloaded [SKIPPED] NetworkManager-wifi-1.5.3-4.fc26.x86_64.rpm: Already downloaded [SKIPPED] NetworkManager-team-1.5.3-4.fc26.x86_64.rpm: Already downloaded Running transaction check Transaction check succeeded. Running transaction test The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'dnf clean packages'. Error: Transaction check error: file /usr/share/locale/de/LC_MESSAGES/NetworkManager.mo from install of NetworkManager-libnm-1:1.5.3-4.fc26.x86_64 conflicts with file from package NetworkManager-glib-1:1.5.2-4.fc26.x86_64 file /usr/share/locale/pl/LC_MESSAGES/NetworkManager.mo from install of NetworkManager-libnm-1:1.5.3-4.fc26.x86_64 conflicts with file from package NetworkManager-glib-1:1.5.2-4.fc26.x86_64 Error Summary ------------- And here is and output with wildcard [root@362bd8c36200 /]# dnf update -y 'NetworkManager*' Last metadata expiration check: 0:13:58 ago on Wed Jan 11 16:43:47 2017 UTC. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: NetworkManager x86_64 1:1.5.3-4.fc26 rawhide 1.5 M NetworkManager-glib x86_64 1:1.5.3-4.fc26 rawhide 1.1 M NetworkManager-libnm x86_64 1:1.5.3-4.fc26 rawhide 1.2 M NetworkManager-team x86_64 1:1.5.3-4.fc26 rawhide 121 k NetworkManager-wifi x86_64 1:1.5.3-4.fc26 rawhide 148 k Transaction Summary ================================================================================ Upgrade 5 Packages Total size: 4.0 M Downloading Packages: [SKIPPED] NetworkManager-1.5.3-4.fc26.x86_64.rpm: Already downloaded [SKIPPED] NetworkManager-libnm-1.5.3-4.fc26.x86_64.rpm: Already downloaded [SKIPPED] NetworkManager-wifi-1.5.3-4.fc26.x86_64.rpm: Already downloaded [SKIPPED] NetworkManager-team-1.5.3-4.fc26.x86_64.rpm: Already downloaded [SKIPPED] NetworkManager-glib-1.5.3-4.fc26.x86_64.rpm: Already downloaded //rest is not important The problem is that the package NetworkManager-glib does not require any subpacakge. IIRC it's against fedora packaging policies (but it might optional. %package glib Summary: Libraries for adding NetworkManager support to applications (old API). Group: Development/Libraries Requires: dbus >= %{dbus_version} Requires: dbus-glib >= %{dbus_glib_version} %description glib This package contains the libraries that make it easier to use some NetworkManager functionality from applications that use glib. This is the older NetworkManager API. See also NetworkManager-libnm. Yeah, this is a bit inconvenient. However, NetworkManager-glib and NetworkManager are indeed independent and can be installed without each other yet share the same translation domain. Thus the dependencies reflect the actual relationship. On the other hand, the error message is rather helpful and indicates which package is the offending one and should be updated too; so whoever decides to selectively update the packages should be able to resolve the situation. The best bet here is to remove NetworkManager-glib (and eventually switch whatever still needs it to NetworkManager-libnm). As for the packaging guidelines, I don't believe they clearly forbid this. They forbid file conflicts across packages, but it's not clear to me if it applies to source on binary packages (given non-conflicting versions of the packages built from the same source are guaranteed to be in the repositories). A possible solution to this would be to split the translations to a separate package, but given the overhead and the legacy status of the -glib subpackage I'd strongly oppose this. Another possible half-solution would be to take advantage of Suggests or Recommends on the -glib subpackage, so dnf would offer to update NM on -glib update (not sure it would work the other way around). My preferred solution, given the severity and the general eeekiness of the possible solutions is to WONTFIX this. (In reply to Lubomir Rintel from comment #5) > Yeah, this is a bit inconvenient. However, NetworkManager-glib and > NetworkManager are indeed independent and can be installed without each > other yet share the same translation domain. Thus the dependencies reflect > the actual relationship. > > On the other hand, the error message is rather helpful and indicates which > package is the offending one and should be updated too; so whoever decides > to selectively update the packages should be able to resolve the situation. > > The best bet here is to remove NetworkManager-glib (and eventually switch > whatever still needs it to NetworkManager-libnm). > That would be the best solution. Here are packages required on my system. [root@host ~]# dnf remove NetworkManager-glib Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: NetworkManager-glib x86_64 1:1.5.3-4.fc26 @rawhide 5.8 M NetworkManager-vpnc-gnome x86_64 1:1.2.4-1.fc26 @rawhide 151 k libnm-gtk x86_64 1.4.0-1.fc26 @rawhide 225 k network-manager-applet x86_64 1.4.0-1.fc26 @rawhide 403 k nm-connection-editor x86_64 1.4.0-1.fc26 @rawhide 5.3 M Removing unused dependencies: libnma But there seems to be more packages [root@host ~]# dnf repoquery --whatrequires NetworkManager-glib | grep x86_64 Last metadata expiration check: 2:45:58 ago on Wed Jan 11 16:23:15 2017 CET. NetworkManager-fortisslvpn-gnome-0:1.2.4-1.fc26.x86_64 NetworkManager-glib-devel-1:1.5.3-4.fc26.x86_64 NetworkManager-iodine-gnome-0:1.2.0-1.fc25.x86_64 NetworkManager-l2tp-gnome-0:1.2.4-1.fc26.x86_64 NetworkManager-libreswan-gnome-0:1.2.4-1.fc25.x86_64 NetworkManager-openconnect-gnome-0:1.2.4-3.fc26.x86_64 NetworkManager-openvpn-gnome-1:1.2.6-1.fc26.x86_64 NetworkManager-pptp-gnome-1:1.2.4-1.fc26.x86_64 NetworkManager-ssh-gnome-0:1.2.1-0.fc26.x86_64 NetworkManager-sstp-gnome-1:1.2.0-1.fc26.x86_64 NetworkManager-strongswan-gnome-0:1.4.0-2.fc26.x86_64 NetworkManager-vpnc-gnome-1:1.2.4-1.fc26.x86_64 anaconda-core-0:26.18-1.fc26.x86_64 cinnamon-0:3.2.8-1.fc26.x86_64 cinnamon-control-center-0:3.2.1-1.fc26.x86_64 cinnamon-settings-daemon-0:3.2.1-1.fc26.x86_64 dnssec-trigger-0:0.13-0.4.20150714svn.fc24.x86_64 gnome-initial-setup-0:3.23.1-1.fc26.x86_64 gnome-shell-0:3.23.2-3.fc26.x86_64 krb5-auth-dialog-0:3.20.0-1.fc25.x86_64 libnm-gtk-0:1.4.0-1.fc26.x86_64 network-manager-applet-0:1.4.0-1.fc26.x86_64 nm-connection-editor-0:1.4.0-1.fc26.x86_64 nntpgrab-core-0:0.7.2-13.fc24.x86_64 strongswan-charon-nm-0:5.5.0-2.fc26.x86_64 tracker-0:1.11.2-1.fc26.x86_64 > As for the packaging guidelines, I don't believe they clearly forbid this. > They forbid file conflicts across packages, but it's not clear to me if it > applies to source on binary packages (given non-conflicting versions of the > packages built from the same source are guaranteed to be in the > repositories). > But it does not tell dnf to upgrade all sub-pacakges at once. What about adding conflict to NetworkManager-glib e.g. Conflicts: NetworkManager < %{version}-%{release} ^^^^^^^^^^^^^^ or some other sub-package It might help dnf to update other sub-packages as well I didn't tested it. > A possible solution to this would be to split the translations to a separate > package, but given the overhead and the legacy status of the -glib > subpackage I'd strongly oppose this. Another possible half-solution would be > to take advantage of Suggests or Recommends on the -glib subpackage, so dnf > would offer to update NM on -glib update (not sure it would work the other > way around). > > My preferred solution, given the severity and the general eeekiness of the > possible solutions is to WONTFIX this. If the conflict does not solve it or you can provide reason why solution with conflict is bad idea then I will be fine with WONTFIX. (In reply to Lukas Slebodnik from comment #6) > > As for the packaging guidelines, I don't believe they clearly forbid this. > > They forbid file conflicts across packages, but it's not clear to me if it > > applies to source on binary packages (given non-conflicting versions of the > > packages built from the same source are guaranteed to be in the > > repositories). > > > But it does not tell dnf to upgrade all sub-pacakges at once. > > What about adding conflict to NetworkManager-glib > e.g. > > Conflicts: NetworkManager < %{version}-%{release} > ^^^^^^^^^^^^^^ > or some other sub-package > There should be a Conflict with older version of NetworkManager-libnm because NetworkManager-libnm and NetworkManager-glib own the same files sh$ rpm -qf /usr/share/locale/en_GB/LC_MESSAGES/NetworkManager.mo NetworkManager-libnm-1.5.3-5.fc26.x86_64 NetworkManager-glib-1.5.3-5.fc26.x86_64 fixed upstream: https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?id=b85b8ed6fa6c664fc3cf0472234a5fe9384011e0 now you would get: Error: package NetworkManager-glib-1:1.7.0-16671.bd0e88f445.fc25.x86_64 conflicts with NetworkManager-libnm < 1:1.7.0-16671.bd0e88f445.fc25 provided by NetworkManager-libnm-1:1.7.0-16668.22722b7732.fc25.x86_64 (try to add '--allowerasing' to command line to replace conflicting packages) (In reply to Thomas Haller from comment #8) > fixed upstream: > > https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/ > ?id=b85b8ed6fa6c664fc3cf0472234a5fe9384011e0 > > > > now you would get: > > Error: package NetworkManager-glib-1:1.7.0-16671.bd0e88f445.fc25.x86_64 > conflicts with NetworkManager-libnm < 1:1.7.0-16671.bd0e88f445.fc25 provided > by NetworkManager-libnm-1:1.7.0-16668.22722b7732.fc25.x86_64 > (try to add '--allowerasing' to command line to replace conflicting packages) I cannot see such problem [root@host ~]# dnf update NetworkManager Last metadata expiration check: 0:27:19 ago on Sun Jan 29 17:35:53 2017 CET. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Upgrading: NetworkManager x86_64 1:1.6-0.2.rc1.fc26 rawhide 1.7 M NetworkManager-glib x86_64 1:1.6-0.2.rc1.fc26 rawhide 1.1 M NetworkManager-libnm x86_64 1:1.6-0.2.rc1.fc26 rawhide 1.2 M NetworkManager-team x86_64 1:1.6-0.2.rc1.fc26 rawhide 122 k NetworkManager-wifi x86_64 1:1.6-0.2.rc1.fc26 rawhide 155 k Transaction Summary ================================================================================ Upgrade 5 Packages Total download size: 4.3 M Is this ok [y/N]: y Downloading Packages: (1/5): NetworkManager-wifi-1.6-0.2.rc1.fc26.x86 152 kB/s | 155 kB 00:01 (2/5): NetworkManager-team-1.6-0.2.rc1.fc26.x86 95 kB/s | 122 kB 00:01 (3/5): NetworkManager-libnm-1.6-0.2.rc1.fc26.x8 152 kB/s | 1.2 MB 00:07 (4/5): NetworkManager-glib-1.6-0.2.rc1.fc26.x86 161 kB/s | 1.1 MB 00:07 (5/5): NetworkManager-1.6-0.2.rc1.fc26.x86_64.r 187 kB/s | 1.7 MB 00:09 -------------------------------------------------------------------------------- Total 395 kB/s | 4.3 MB 00:11 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Upgrading : NetworkManager-libnm-1:1.6-0.2.rc1.fc26.x86_64 1/10 Upgrading : NetworkManager-1:1.6-0.2.rc1.fc26.x86_64 2/10 Upgrading : NetworkManager-wifi-1:1.6-0.2.rc1.fc26.x86_64 3/10 Upgrading : NetworkManager-team-1:1.6-0.2.rc1.fc26.x86_64 4/10 Upgrading : NetworkManager-glib-1:1.6-0.2.rc1.fc26.x86_64 5/10 Cleanup : NetworkManager-team-1:1.6-0.1.rc1.fc26.x86_64 6/10 Cleanup : NetworkManager-wifi-1:1.6-0.1.rc1.fc26.x86_64 7/10 Cleanup : NetworkManager-1:1.6-0.1.rc1.fc26.x86_64 8/10 Cleanup : NetworkManager-libnm-1:1.6-0.1.rc1.fc26.x86_64 9/10 Cleanup : NetworkManager-glib-1:1.6-0.1.rc1.fc26.x86_64 10/10 Verifying : NetworkManager-1:1.6-0.2.rc1.fc26.x86_64 1/10 Verifying : NetworkManager-libnm-1:1.6-0.2.rc1.fc26.x86_64 2/10 Verifying : NetworkManager-wifi-1:1.6-0.2.rc1.fc26.x86_64 3/10 Verifying : NetworkManager-team-1:1.6-0.2.rc1.fc26.x86_64 4/10 Verifying : NetworkManager-glib-1:1.6-0.2.rc1.fc26.x86_64 5/10 Verifying : NetworkManager-1:1.6-0.1.rc1.fc26.x86_64 6/10 Verifying : NetworkManager-glib-1:1.6-0.1.rc1.fc26.x86_64 7/10 Verifying : NetworkManager-libnm-1:1.6-0.1.rc1.fc26.x86_64 8/10 Verifying : NetworkManager-team-1:1.6-0.1.rc1.fc26.x86_64 9/10 Verifying : NetworkManager-wifi-1:1.6-0.1.rc1.fc26.x86_64 10/10 Upgraded: NetworkManager.x86_64 1:1.6-0.2.rc1.fc26 NetworkManager-glib.x86_64 1:1.6-0.2.rc1.fc26 NetworkManager-libnm.x86_64 1:1.6-0.2.rc1.fc26 NetworkManager-team.x86_64 1:1.6-0.2.rc1.fc26 NetworkManager-wifi.x86_64 1:1.6-0.2.rc1.fc26 Complete! I think --best would help. Anyway. thank you very much for fix. |