Kai Schaetzl
2006-May-04 17:28 UTC
[CentOS] differences between yum update and yum check-update
yum check-update: clamav.i386 0.88.1-1.el4.kb kbs-CentOS-Extra clamav-data.i386 0.88.1-1.el4.kb kbs-CentOS-Extra clamav-lib.i386 0.88.1-1.el4.kb kbs-CentOS-Extra clamav-update.i386 0.88.1-1.el4.kb kbs-CentOS-Extra yum update: Installing: clamav-db i386 0.88.2-1.el4.rf rpmforge 4.0 M replacing clamav-update.i386 0.88-1.el4.kb Updating: clamav i386 0.88.1-1.el4.kb kbs-CentOS-Extras 545 k clamav-lib i386 0.88.1-1.el4.kb kbs-CentOS-Extras 143 k Updating for dependencies: clamav-data i386 0.88.1-1.el4.kb kbs-CentOS-Extras 3.4 M The installed clam rpms on this machine are from kbs-CentOS-Extras (which is protected=1 while rpmforge/dag is not!) I think not only should the replacement not happen if the replaced rpm/repo is protected, there should also be no difference between update and check-update! A bug in yum? Kai -- Kai Sch?tzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com
Johnny Hughes
2006-May-04 18:57 UTC
[CentOS] differences between yum update and yum check-update
On Thu, 2006-05-04 at 19:28 +0200, Kai Schaetzl wrote:> yum check-update: > clamav.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > clamav-data.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > clamav-lib.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > clamav-update.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > > yum update: > > Installing: > clamav-db i386 0.88.2-1.el4.rf rpmforge 4.0 M > replacing clamav-update.i386 0.88-1.el4.kb > > Updating: > clamav i386 0.88.1-1.el4.kb kbs-CentOS-Extras 545 k > clamav-lib i386 0.88.1-1.el4.kb kbs-CentOS-Extras 143 k > > Updating for dependencies: > clamav-data i386 0.88.1-1.el4.kb kbs-CentOS-Extras 3.4 M > > The installed clam rpms on this machine are from kbs-CentOS-Extras (which > is protected=1 while rpmforge/dag is not!)I think it should be: (for kbs) protect=1 and (for dag) protect=0 Also ... did you remember to add plugins=1 to your /etc/yum.conf file. Details for protectbase here: http://wiki.centos.org/centoswiki/PackageManagement/Yum/ProtectBase> > I think not only should the replacement not happen if the replaced > rpm/repo is protected, there should also be no difference between update > and check-update! A bug in yum? > > Kai >-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.centos.org/pipermail/centos/attachments/20060504/14391483/attachment-0003.sig>
Kai Schaetzl
2006-May-04 19:43 UTC
[CentOS] differences between yum update and yum check-update
Johnny Hughes wrote on Thu, 04 May 2006 13:57:10 -0500:> I think it should be: > > (for kbs) > protect=1 > > and > > (for dag) > protect=0ahm, yes, of course, I typed that from memory, just a typo.> > Also ... did you remember to add plugins=1 to your /etc/yum.conf file.It's all okay, protectbase *does* work, (proven by the fact that the rpmforge clam package - 0.88.2 - doesn't try to upgrade the kbs-extras package - 0.88.1 - ) but not in this case! It seems the replace/obsoletes or whatever is in the rpmforge package overrides the protect. And even if it didn't work it wouldn't explain the difference between check-update and update. That should always be the same. If yum shows something different when doing check-update than what it is then actually going to do I can't rely on check-update (and protect in this case). Anyone has clam from kbs-extras installed and not yet upgraded? Kai -- Kai Sch?tzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com
Johnny Hughes
2006-May-07 15:37 UTC
[CentOS] differences between yum update and yum check-update
On Thu, 2006-05-04 at 19:28 +0200, Kai Schaetzl wrote:> yum check-update: > clamav.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > clamav-data.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > clamav-lib.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > clamav-update.i386 0.88.1-1.el4.kb kbs-CentOS-Extra > > yum update: > > Installing: > clamav-db i386 0.88.2-1.el4.rf rpmforge 4.0 M > replacing clamav-update.i386 0.88-1.el4.kb > > Updating: > clamav i386 0.88.1-1.el4.kb kbs-CentOS-Extras 545 k > clamav-lib i386 0.88.1-1.el4.kb kbs-CentOS-Extras 143 k > > Updating for dependencies: > clamav-data i386 0.88.1-1.el4.kb kbs-CentOS-Extras 3.4 M > > The installed clam rpms on this machine are from kbs-CentOS-Extras (which > is protected=1 while rpmforge/dag is not!) > > I think not only should the replacement not happen if the replaced > rpm/repo is protected, there should also be no difference between update > and check-update! A bug in yum? > > Kai >I am still looking at this particular issue, but this is what I think I have found: clamav-db (dag) IS a different name ... but the same thing as clamav- data (kbs). It also seems that clamd (dag) is the same thing as clamav-server (kbs). So .. it seems that what is required to make both of these repos to be enabled at the same time is for dag to add these obsoletes: In clamav-db: obsoletes clamav-data In clamd: obsoletes clamav-server and for kbs to add these: In clamav-data: obsoletes clamav-db In clamav-server: obsoletes clamd Anyway ... that is what I think I see as the problem ... conformation anyone? -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part URL: <http://lists.centos.org/pipermail/centos/attachments/20060507/5c8b536b/attachment-0003.sig>
Kai Schaetzl
2006-May-07 20:53 UTC
[CentOS] differences between yum update and yum check-update
Johnny Hughes wrote on Sun, 07 May 2006 10:37:10 -0500:> clamav-db (dag) IS a different name ... but the same thing as clamav- > data (kbs).Yes, from the size and the name this is possible.> > It also seems that clamd (dag) is the same thing as clamav-server (kbs).Quite possible.> > So .. it seems that what is required to make both of these repos to be > enabled at the same time is for dag to add these obsoletes: > > In clamav-db: obsoletes clamav-data > In clamd: obsoletes clamav-server > > and for kbs to add these: > > In clamav-data: obsoletes clamav-db > In clamav-server: obsoletes clamdI think the solution above fits in general if you do *not* use protectbase. It's then maybe a question of who wins the race? So, whichever of the two is first processed may obsolete the other and the second obsoletes may not work and still produce an undesired result? An obsoleted rpm gets completely replaced by the new rpm, even if the content or name is different. The whole problem *is* created by that replacing in the first place.> clamav-db i386 0.88.2-1.el4.rf rpmforge 4.0 M > replacing clamav-update.i386 0.88-1.el4.kbSo, clamav-db already contains a "obsoletes clamav-update" and "clamav-update" also exists in the kbs repo. And dag seems to have had a "clamav-update" in the past and moved that (which probably just contains freshclam and crontab for it) to the db in one package. That is what creates the whole problem, at least in my eyes. The question then is: why would I want a package from protect=0 not update a package from protect=1, but replace it? Does it make sense to let this package get replaced, although the repo is protected? I don't think this makes sense. So, the flaw seems to be in yum and/or protectbase. Additionally, what makes me think there's something wrong in yum/protectbase is the difference between check-update and update. It seems to me the different update behavior occurs because update actually downloads the rpm and may get more information then. In the light of that information the following action may be quite reasonable. However, that means that it decided to download clamav-db *first* - which it should not have done at all. So, there *must* be happening something different here between update and check-update as well - and that is certainly wrong, no matter if the other problem is a protectbase or a repo problem. Or not? Kai -- Kai Sch?tzl, Berlin, Germany Get your web at Conactive Internet Services: http://www.conactive.com