Re: Bug in yum-skip-broken (was : yum doesn't look for provides on packages to be installed)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fajar A. Nugraha wrote:
Tim Lauridsen wrote:
  
On Wed, 2007-10-10 at 09:10 +0700, Fajar A. Nugraha wrote:
  
    
However, with skip-broken activated :

# yum --skip-broken install MySQL-shared MySQL-shared-compat
MySQL-client MySQL-server
Loading "priorities" plugin
Loading "installonlyn" plugin
Loading "skip-broken" plugin
logos                     100% |=========================|  951 B    00:00
dag                       100% |=========================|  951 B    00:00
centos                    100% |=========================|  951 B    00:00
testing                   100% |=========================|  951 B    00:00
base                      100% |=========================| 1.1 kB    00:00
updates                   100% |=========================| 1.1 kB    00:00
mysql                     100% |=========================|  951 B    00:00
local                     100% |=========================|  951 B    00:00
3670 packages excluded due to repository priority protections
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
**** Checking packages for dependency problems
**** Checking for dep problems  : MySQL-client - 5.0.45-0.glibc23.x86_64
--> Running transaction check
---> Package MySQL-client.x86_64 0:5.0.45-0.glibc23 set to be updated
--> Processing Dependency: libmysqlclient.so.15()(64bit) for package:
MySQL-client
--> Processing Dependency: perl(DBI) for package: MySQL-client
--> Processing Dependency:
libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: MySQL-client
--> Running transaction check
---> Package mysql.x86_64 0:5.0.22-2.1.0.1 set to be updated
---> Package perl-DBI.x86_64 0:1.52-1.fc6 set to be updated
--> Finished Dependency Resolution
****   OK : mysql.x86_64 0-5.0.22-2.1.0.1 - u
****   OK : perl-DBI.x86_64 0-1.52-1.fc6 - u
****   OK : MySQL-client.x86_64 0-5.0.45-0.glibc23 - u
**** Checking for dep problems  : MySQL-shared-compat -
5.0.45-0.glibc23.x86_64
--> Running transaction check
---> Package MySQL-shared-compat.x86_64 0:5.0.45-0.glibc23 set to be updated
--> Finished Dependency Resolution
****   OK : MySQL-shared-compat.x86_64 0-5.0.45-0.glibc23 - u
**** Checking for dep problems  : MySQL-server - 5.0.45-0.glibc23.x86_64
--> Running transaction check
---> Package MySQL-server.x86_64 0:5.0.45-0.glibc23 set to be updated
--> Processing Dependency: libmysqlclient.so.15()(64bit) for package:
MySQL-server
--> Processing Dependency:
libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: MySQL-server
--> Processing Dependency: perl(DBI) for package: MySQL-server
--> Running transaction check
---> Package mysql.x86_64 0:5.0.22-2.1.0.1 set to be updated
---> Package perl-DBI.x86_64 0:1.52-1.fc6 set to be updated
--> Processing Conflict: mysql conflicts MySQL
--> Finished Dependency Resolution
****   Failed
****     mysql conflicts with MySQL
**** Packages with dependency resolving errors
**** MySQL-server - 5.0.45-0.glibc23.x86_64
****   2
**** End Checking packages for dependency problems
--> Running transaction check
---> Package mysql.x86_64 0:5.0.22-2.1.0.1 set to be updated
---> Package perl-DBI.x86_64 0:1.52-1.fc6 set to be updated
---> Package MySQL-client.x86_64 0:5.0.45-0.glibc23 set to be updated
---> Package MySQL-shared-compat.x86_64 0:5.0.45-0.glibc23 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 MySQL-client            x86_64     5.0.45-0.glibc23  mysql            
350 k
Installing for dependencies:
 MySQL-shared-compat     x86_64     5.0.45-0.glibc23  mysql            
3.1 M
 mysql                   x86_64     5.0.22-2.1.0.1   updates           3.0 M
 perl-DBI                x86_64     1.52-1.fc6       base              605 k

Transaction Summary
=============================================================================
Install      4 Package(s)
Update       0 Package(s)
Remove       0 Package(s)


Adding --skip-broken --exclude mysql gives the same result as I posted
earlier, in which it works, but MySQL-shared was also installed (It
shouldn't have, since MySQL-shared-compat also provides MySQL-shared,
but apparently no harm done)

Regards,

Fajar
_______________________________________________
Yum mailing list
Yum@xxxxxxxxxxxxxxxxxxxx
https://lists.dulug.duke.edu/mailman/listinfo/yum
    
      
Weird, what skip-broken does is run the yum depsolve with each package
in the transaction, skip the ones there don't depsolve without errors.

I this case i looks like MySQL-server don't desolve alone.

So 'yum install MySQL-server' should fail to.

  
    
You are correct. I didn't look closely at the packages being installed
with --skip-broken. MySQL-server was indeed not there. Regardless, the
problem is the same :

- without --skip-broken, installation succeeded
- with --skip-broken, MySQL-server was automatically removed from
transaction, but installation still failed
- with --skip-broken and --exclude mysql, installation succeeded

I believe the problem is, as you say, "what skip-broken does is run the
yum depsolve with each package in the transaction". Meaning :
- skip-broken sees MySQL-client, try to depsolve it
- skip-broken sees requirement for libmysqlclient.so.15()(64bit), try to
find a package that provides it, found mysql. HOWEVER,
- skip-broken didn't see that I also want to install
MySQL-shared-compat, which also provides libmysqlclient.so.15()(64bit)
and would've been able to be installed nicely, because it runs on each
package without looking at the entire line of package to be installed.

Is there a fix for this?

Regards,

Fajar
  
Maybe, skip-broken should test if the whole transactions resolves fine and only do the checking of each package if it fails.
But normally user only use '--skipbroken' if there is something rotten in the state of Denmark :)
But the main issue here is: MySQL-server libmysqlclient.so.15()(64bit) that is provided by mysql & MySQL-shared-compat
Then the shortest one 'mysql' is selected, but that is a problem because MySQL-server conflict with mysql.
This will not work.
yum install MySQL-server

This should work.
yum install MySQL-shared-compat  MySQL-server

Maybe the yum depsolver should check for conflicts in case of multiple provides of the same dep ?.

Tim



_______________________________________________
Yum mailing list
Yum@xxxxxxxxxxxxxxxxxxxx
https://lists.dulug.duke.edu/mailman/listinfo/yum

[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux