Obsoletes w rpm nie dziala ?
Jakub Bogusz
qboosh w pld-linux.org
Wto, 10 Sie 2004, 19:00:57 CEST
On Tue, Aug 10, 2004 at 06:15:27PM +0200, Andrzej Krzysztofowicz wrote:
> Jakub Bogusz wrote:
> > > Coraz mniej mi sie podoba to AC....
> >
> > A czym to się różni od Ra?
> > Może z wyjątkiem problemu z -U i Obsoletes przy różnych pakietach w tej samej
> > wersji - ale tego na Ra nie sprawdzałem.
>
> W Ac:
>
> [root w kufel RPMS]# rpm -e rsyncd-inetd rsyncd-standalone
> rpm -[root w kufel RPMS]# rpm -U rsyncd-standalone-2.6.2-3.i386.rpm
> rpm -U rsyncd-Type "/etc/rc.d/init.d/rsyncd start" to start rsync server
> [root w kufel RPMS]# rpm -U rsyncd-inetd-2.6.2-3.i386.rpm
> Type "/etc/rc.d/init.d/rc-inetd start" to start inet server
> rpm -[root w kufel RPMS]# rpm -q rsyncd-inetd rsyncd-standalone
> rsyncd-inetd-2.6.2-3
> rsyncd-standalone-2.6.2-3
> [root w kufel RPMS]#
>
> W Ra w takiej sytuacji wyinstalowuje wczesniej zainstalowany pakiet:
Aha, czyli jest regresja.
Chyba znalazłem skąd - ciekawe co jbj miał na myśli:
----------------------------
revision 1.313
date: 2003/05/15 14:22:30; author: jbj; state: Exp; lines: +2 -1
- add version check for package with provides and obsoletes.
=============================================================================
$ cvs diff -u -r1.312 -r1.313 depends.c
Index: depends.c
===================================================================
RCS file: /cvs/devel/rpm/lib/depends.c,v
retrieving revision 1.312
retrieving revision 1.313
diff -u -r1.312 -r1.313
--- depends.c 8 May 2003 20:39:30 -0000 1.312
+++ depends.c 15 May 2003 14:22:30 -0000 1.313
@@ -305,7 +305,8 @@
*/
if (rpmdsEVR(obsoletes) == NULL
|| rpmdsAnyMatchesDep(oh, obsoletes, _rpmds_nopromote))
- xx = removePackage(ts, oh, rpmdbGetIteratorOffset(mi), pkgKey);
+ if (rpmVersionCompare(h, oh))
+ xx = removePackage(ts, oh, rpmdbGetIteratorOffset(mi), pkgKey);
}
mi = rpmdbFreeIterator(mi);
}
Może komuś by się chciało spytać?
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl