[CentOS-devel] Dependency problems in C5 Extras with gmime, drbd, xfprint, EPEL

Wed Dec 3 18:51:52 UTC 2014
Anssi Johansson <centos at miuku.net>

I found these dependency problems when running repoclosure with the -n 
option, which makes repoclosure consider only the newest versions of 
each package. #1 and #3 are only a problem if EPEL is enabled. I'm not 
sure if these require any action, but I wanted to get these off my chest 
anyway.


Issue #1, gmime:

The following packages are in CentOS 5 Extras:
- gmime-2.2.10-5.el5.centos
- gmime-devel-2.2.10-5.el5.centos
- gmime-sharp-2.2.10-5.el5.centos

EPEL has:
- gmime-2.2.26-1.el5
- gmime-devel-2.2.26-1.el5

Now if someone has gmime-sharp-2.2.10-5.el5.centos and its dependency 
gmime-2.2.10-5.el5.centos installed and runs "yum update" with EPEL 
enabled, there will be a dependency problem. yum would like to update 
gmime to 2.2.26, but it can't, because the old version is required for 
gmime-sharp.


Issue #2, drbd:

The following packages are in CentOS 5 Extras:
- drbd-8.0.16-5.el5.centos
- drbd82-8.2.6-1.el5.centos
- drbd83-8.3.15-2.el5.centos
- kmod-drbd-8.0.16-5.el5_3
- kmod-drbd-xen-8.0.16-5.el5_3
- kmod-drbd82-8.2.6-2
- kmod-drbd82-xen-8.2.6-2
- kmod-drbd83-8.3.15-3.el5.centos
- kmod-drbd83-xen-8.3.15-3.el5.centos

If I install kmod-drbd and its dependency drbd with "yum install 
kmod-drbd" and then run "yum update drbd", yum will attempt to replace 
drbd with drbd82, because drbd82 obsoletes drbd. This will fail, because 
drbd is required by kmod-drbd.


Issue #3, xfprint:

xfprint-4.4.2-1.el5.centos is in CentOS 5 Extras. If I have installed 
that with "yum install xfprint --disablerepo=epel" and then run "yum 
update" with EPEL enabled, I get this:

--> Running transaction check
--> Processing Dependency: libxfce4mcs-client.so.3()(64bit) for package: 
xfprint
--> Processing Dependency: libxfce4mcs-manager.so.3()(64bit) for 
package: xfprint
---> Package libxfce4util.x86_64 0:4.6.2-1.el5 set to be updated
---> Package libxfcegui4.x86_64 0:4.6.4-1.el5 set to be updated
--> Processing Dependency: xfce-mcs-manager >= 4.4.2 for package: xfprint
---> Package xfce4-settings.x86_64 0:4.6.5-3.el5 set to be updated
--> Processing Dependency: libexo-0.3.so.0()(64bit) for package: 
xfce4-settings
---> Package xfconf.x86_64 0:4.6.2-3.el5 set to be updated
--> Running transaction check
---> Package exo.x86_64 0:0.3.107-2.el5 set to be updated
--> Processing Dependency: xfce4-doc for package: exo
--> Processing Dependency: libxfce4mcs-client.so.3()(64bit) for package: 
xfprint
--> Processing Dependency: libxfce4mcs-manager.so.3()(64bit) for 
package: xfprint
--> Processing Dependency: xfce-mcs-manager >= 4.4.2 for package: xfprint
--> Running transaction check
--> Processing Dependency: libxfce4mcs-client.so.3()(64bit) for package: 
xfprint
--> Processing Dependency: libxfce4mcs-manager.so.3()(64bit) for 
package: xfprint
--> Processing Dependency: xfce-mcs-manager >= 4.4.2 for package: xfprint
---> Package xfce4-doc.x86_64 0:4.6.2-3.el5 set to be updated
--> Finished Dependency Resolution
xfprint-4.4.2-1.el5.centos.x86_64 from installed has depsolving problems
   --> Missing Dependency: libxfce4mcs-client.so.3()(64bit) is needed by 
package xfprint-4.4.2-1.el5.centos.x86_64 (installed)
xfprint-4.4.2-1.el5.centos.x86_64 from installed has depsolving problems
   --> Missing Dependency: xfce-mcs-manager >= 4.4.2 is needed by 
package xfprint-4.4.2-1.el5.centos.x86_64 (installed)
xfprint-4.4.2-1.el5.centos.x86_64 from installed has depsolving problems
   --> Missing Dependency: libxfce4mcs-manager.so.3()(64bit) is needed 
by package xfprint-4.4.2-1.el5.centos.x86_64 (installed)
Error: Missing Dependency: libxfce4mcs-client.so.3()(64bit) is needed by 
package xfprint-4.4.2-1.el5.centos.x86_64 (installed)
Error: Missing Dependency: xfce-mcs-manager >= 4.4.2 is needed by 
package xfprint-4.4.2-1.el5.centos.x86_64 (installed)
Error: Missing Dependency: libxfce4mcs-manager.so.3()(64bit) is needed 
by package xfprint-4.4.2-1.el5.centos.x86_64 (installed)
  You could try using --skip-broken to work around the problem
  You could try running: package-cleanup --problems
                         package-cleanup --dupes
                         rpm -Va --nofiles --nodigest

If I now remove xfprint and run "yum update" again with EPEL enabled, I get:

---> Package libxfce4util.x86_64 0:4.6.2-1.el5 set to be updated
---> Package libxfcegui4.x86_64 0:4.6.4-1.el5 set to be updated
---> Package xfce4-settings.x86_64 0:4.6.5-3.el5 set to be updated
--> Processing Dependency: libexo-0.3.so.0()(64bit) for package: 
xfce4-settings
---> Package xfconf.x86_64 0:4.6.2-3.el5 set to be updated
--> Running transaction check
---> Package exo.x86_64 0:0.3.107-2.el5 set to be updated
--> Processing Dependency: xfce4-doc for package: exo
--> Running transaction check
---> Package xfce4-doc.x86_64 0:4.6.2-3.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
  Package                Arch           Version               Repository 
    Size
================================================================================
Installing:
  xfce4-settings         x86_64         4.6.5-3.el5           epel 
    324 k
      replacing  xfce-mcs-manager.x86_64 4.4.2-1.el5.centos

  xfconf                 x86_64         4.6.2-3.el5           epel 
    152 k
      replacing  libxfce4mcs.x86_64 4.4.2-1.el5.centos

Updating:
  libxfce4util           x86_64         4.6.2-1.el5           epel 
    122 k
  libxfcegui4            x86_64         4.6.4-1.el5           epel 
    351 k
Installing for dependencies:
  exo                    x86_64         0.3.107-2.el5         epel 
    1.8 M
  xfce4-doc              x86_64         4.6.2-3.el5           epel 
    219 k

Transaction Summary
================================================================================
Install       4 Package(s)
Upgrade       2 Package(s)

This will update the packages as described. I provided this listing to 
hopefully provide a better picture of which packages are obsoleted by 
other packages.