[Yum] yum shell transaction sets
Alexander 'Leo' Bergolth
leo at strike.wu-wien.ac.at
Sun Dec 21 17:49:38 UTC 2008
On 12/20/2008 03:13 PM, seth vidal wrote:
> On Sat, 2008-12-20 at 01:22 +0100, Alexander 'Leo' Bergolth wrote:
>> I'm trying to do a distro-upgrade using yum.
>>
>> However I'm experiencing a problem replacing a package in the yum shell
>> transaction:
>>
>> I tried the following commands:
>> -------------------- 8< --------------------
>> erase java-1.6.0-sun-compat jdk
>> install java-1.6.0-openjdk
>> upgrade
>> -------------------- 8< --------------------
>>
>> But the upgrade command seems the place java-1.6.0-sun-compat in the
>> list of packages to upgrade again. Now it is found both in the list of
>> packages to update and remove!
>
> can you try:
>
> erase java-1.6.0-sun-compat jdk
> install java-1.6.0-openjdk
> run
> upgrade
> run
I tried only ts solve instead of run. But this would remove many (77)
packages like grub, gimp and openoffice, most likely because of broken
dependencies in the packages. I can readd them in the same transaction
but then then they will appear both in the list of packages to remove
and to install again since the install command also doesn't seem to
consider the current transaction set.
It would be nice if the update process checked the current transaction
set and only considered packages that are not already candidates for
removal. I've attached a patch that seems to work for my test case.
I added this to the "update everything part" (without any packages
passed in as arguments) only. If packages are explicitly specified to
update, the behavior is the other way around: If those packages are
already in the transaction set marked with any of the TS_REMOVE_STATES,
the corresponding transaction set members are removed first.
I'd be glad if you could review the patch and tell me if that's the
correct way to do it.
If it's ok, maybe other commands like erase or install should also
modify potentially existing transaction set members? (install sould
remove members with TS_REMOVE_STATES and erase should remove members
with TS_INSTALL_STATES?)
Cheers,
--leo
--
e-mail ::: Leo.Bergolth (at) wu-wien.ac.at
fax ::: +43-1-31336-906050
location ::: Computer Center | Vienna University of Economics | Austria
-------------- next part --------------
A non-text attachment was scrubbed...
Name: yum-update.patch
Type: text/x-patch
Size: 3048 bytes
Desc: not available
Url : http://lists.baseurl.org/pipermail/yum/attachments/20081221/b7eaea62/attachment.bin
More information about the Yum
mailing list