RPM Community Forums

Mailing List Message of <rpm-devel>

Re: Problems with erase-before-install on RPM 5.2

From: Jeff Johnson <n3npq@mac.com>
Date: Tue 21 Oct 2008 - 03:58:40 CEST
Message-id: <6BB91ABC-C4A1-435C-8182-5ABCFB9A9F27@mac.com>

On Oct 20, 2008, at 9:42 PM, Jeff Johnson wrote:
>
>
> There are several pieces to a real fix, displaying the loops that
> are triggering the problem are the first step.
>

And here's another simple reproducer:

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
error: LOOP:
error: removing python-libs-2.5.2-1.fc10.i386 "Requires: python =  
2.5.2-1.fc10" from tsort relations.
error: removing python-2.5.2-1.fc10.i386 "Requires(auto):  
libpython2.5.so.1.0" from tsort relations.
error: LOOP:
error: removing python-libs-2.5.1-30.fc10.i386 "Requires(auto):  
libpython2.5.so.1.0" from tsort relations.
error: removing python-2.5.1-30.fc10.i386 "Requires: python =  
2.5.1-30.fc10" from tsort relations.
Running Transaction
   Erasing        : python-devel                                       
[1/8]
   Erasing        : tkinter                                            
[2/8]
   Updating       : python                                             
[3/8]
   Updating       : python-libs                                        
[4/8]
   Cleanup        : python                                             
[5/8]
   Cleanup        : python-libs                                        
[6/8]
   Updating       : python-devel                                       
[7/8]
   Updating       : tkinter                                            
[8/8]

Ordering packages is mathematically impossible when loops are present.

Unless distros are gonna to clear up some of the loops that packagers
have added, then one of the next pieces of the puzzle are gonna be to
__IGNORE__ all dependencies added by humans involved in a loop.

That's as good a heuristic as just about any other pragma I can think  
of ...

73 de Jeff
Received on Tue Oct 21 03:58:56 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.