[Yum] Bug in yum-skip-broken (was : yum doesn't look for provides on packages to be installed)
Fajar A. Nugraha
fajar at fajar.net
Thu Oct 11 02:08:37 UTC 2007
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 at lists.dulug.duke.edu
>> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3229 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.baseurl.org/pipermail/yum/attachments/20071011/4bc940fc/attachment-0001.bin
More information about the Yum
mailing list