Updating Mutter with DNF is impossible. The list of packages to install and upgrade appears, but when you continue it errors out with: Error: transaction check vs depsolve: typelib(Cogl) = 2.0 is needed by mutter-3.22.0-6.mga6.x86_64 However, "urpmi --auto-update" has no problem finding and installing the needed lib64cogl-gir2.0-1.22.2-1.mga6 package, and thus no problem updating Mutter. I have _not_ tried on a 32bit system
I was able to reproduce this issue with an install from the Mageia 6 sta1 GNOME LiveDVD. Name-Version-Release tested against: dnf-1.1.10-2.mga6 libsolv-0.6.23-3.mga6 The issue also occurs with the versions of libsolv and dnf shipped in the sta1 LiveDVD: dnf-1.1.9-3.mga6 libsolv-0.6.22-3.mga6 Reproduction steps: 1. Install Mageia 6 sta1 GNOME LiveDVD 2. Run the following prep commands as root on installed system: - dnf upgrade dnf* *solv* - dnf config-manager --set-disabled cauldron-x86_64 cauldron-updates-x86_64 - dnf config-manager --set-enabled mageia-x86_64-nonfree updates-x86_64-nonfree 3. Run either "dnf distro-sync" or "dnf upgrade" Additional info: Debug solver data collected: http://kinginuyasha.enanocms.org/downloads/mga19509.tar.xz
Status: NEW => ASSIGNED
A repoquery with DNF verifies that it can find it: [~]$ dnf repoquery --whatprovides "typelib(Cogl) = 2.0" --qf "%{name}-%{epoch}:%{version}-%{release}.%{arch}: %{repoid}" Last metadata expiration check: 0:13:39 ago on Sun Oct 2 11:55:36 2016. lib64cogl-gir2.0-0:1.22.2-1.mga6.x86_64: mageia-x86_64 Repository queries along with debug solver data with various modes of dnf upgrade/distro-sync actions have been included into the archive: http://kinginuyasha.enanocms.org/downloads/mga19509.tar.xz
I had the same issue here: ----------------------------- Running transaction check Error: transaction check vs depsolve: typelib(Cogl) = 2.0 is needed by mutter-3.22.0-6.mga6.x86_64 To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'. You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue. Then I continued with # urpmi --auto-update. 1st) restarting urpmi In order to satisfy the 'lib64mutter-gir3.0|muffin|mutter|libmutter-gir3.0' dependency, one of the following packages is needed: 1- libmutter-gir3.0-3.22.0-6.mga6.i586: GObject Introspection interface description for mutter (to install) 2- muffin-3.0.4-1.mga6.i586: Window and compositing manager based on Clutter (to install) What is your choice? (1-2) urpmi selected i586 packages in a clean x86_64 installation as dependencies. 2nd) Disabled i586-repos for urpmi. Then I could successfully upgrade including mutter just like Marja did. NB: I have snapshots for all steps. So I can retest if needed. Ulrich
CC: (none) => bequimao.de
The issue has been identified to be at createrepo_c, per Michael Schroeder in #rpm-ecosystem. [04:38:26 AM] <mls> It seems that there's logic to remove requires that are also in provides [04:38:44 AM] <mls> but it removes both typelib(Cogl) = 1.0 and typelib(Cogl) = 2.0 [04:38:56 AM] <mls> (It's kinda weird that mutter requires both) [04:47:46 AM] <mls> seems like it really just checks the name and ignores the rest of the dep ;( [04:48:12 AM] <mls> parsehdr.c, line 368 I'm changing the bug accordingly.
Summary: updating Mutter with DNF is impossible [typelib(Cogl) = 2.0 needed by mutter 3.22] => createrepo_c is purging requires with versions different from providesSource RPM: dnf ? => createrepo_c-0.10.0-1.mga6.src.rpm
Summary: createrepo_c is purging requires with versions different from provides => createrepo_c is purging requires with versions different from provides in the same package in metadata
Upstream bug filed: https://github.com/rpm-software-management/createrepo_c/issues/67
See Also: (none) => https://github.com/rpm-software-management/createrepo_c/issues/67
Michael Schroeder has written a patch for it, which I've submitted upstream[1]. I'll be backporting this to our createrepo_c package. [1]: https://github.com/rpm-software-management/createrepo_c/pull/68
Patch backport has been done for Cauldron and infra_5.
See Also: (none) => https://bugs.mageia.org/show_bug.cgi?id=19525
Depends on: (none) => 19525
Priority: Normal => release_blocker
Severity: normal => critical
Submitted to infra_5 infra/updates, we'll need a sysadmin to update the infra_5 and metadata once the package is built.
Status comment: (none) => infra_5 needs to pull updates and regenerate metadataAssignee: ngompa13 => sysadmin-bugsQA Contact: (none) => ngompa13
Target Milestone: --- => Mageia 6
*** Bug 19525 has been marked as a duplicate of this bug. ***
CC: (none) => ngompa13
[root@duvel ~]# rpm -qa --last |grep create lib64createrepo_c0-0.10.0-2.mga5.infra.x86_64 Sat 15 Oct 2016 09:35:21 PM CEST createrepo_c-0.10.0-2.mga5.infra.x86_64 Sat 15 Oct 2016 09:35:21 PM CEST
CC: (none) => tmb
And since that packages have been submitted to core/nonfree/tainted so all medias should be properly re-generated
@Thomas: Well, it'll certainly fix itself for mutter if I kick it by doing a no-change rebuild, but it will definitely not properly update all repositories as-is, because we do "--update". It won't regenerate metadata for packages that haven't changed since the last time. Can you do a one-time regeneration by running the createrepo_c command we use without "--update" across all repositories? That will fix the issue entirely.
Done: for d in $(find /distrib/bootstrap/distrib/cauldron/ -name repodata); do createrepo_c --no-database --workers=10 $(dirname $d) done
CC: (none) => pterjan
I was able to successfully "dnf distro-sync" Mageia 6 sta1 GNOME to the current Cauldron. The metadata appears to be fixed.
Status: ASSIGNED => RESOLVEDResolution: (none) => FIXED
This was incorporated upstream as https://github.com/rpm-software-management/createrepo_c/pull/70
what is the status of this bug then ?
CC: (none) => mageia
createrepo_c-0.10.0-3.mga5 in infra_5 has this fix already deployed, and it's been in Cauldron for just as long. If it hasn't been built/deployed on infra already, it should be, and probably the metadata just needs to be regenerated one more time like done in comment 13. Then this will be completely done with.