Borsenkow Andrej wrote:

>В Птн, 10.05.2002, в 12:07, Stefan van der Eijk написал:
>  
>
>>François,
>>
>>I have a question about some urpmi behaviour. I'm not sure if it's meant 
>>to be.
>>
>>Take a look at this example:
>>
>># rpm -q --whatprovides automake
>>automake1.6-1.6.1-2mdk
>>
>>"automake" is provided by automake1.6-1.6.1-2mdk.
>>
>>Now if I want to add some packages (say automake and qt2-devel) I get 
>>the following:
>>
>># urpmi -p --auto-select --auto automake
>>installing 
>>/mirrors/cooker/i586/Mandrake/RPMS/automake-1.4-20.p5.mdk.noarch.rpm
>>error: failed dependencies:
>>        automake < 1.6.1 conflicts with automake1.6-1.6.1-2mdk
>>Installation failed
>>
>>Wouldn't it be the better behaviour of urpmi to skip the packages that 
>>are already provided on the system and get the others installed?
>>
>>    
>>
>
>So you mean that you have local (hacked) version of automake1.6 that
>already provides automake? Well ... I am not sure allowing it is good
>idea.
>
That discussion has taken place on the cooker list yesterday. From an 
rpm point of view everything is OK. Automake1.6 just has a virtual 
provides (like many other package in the distro --> smtpdaemon, 
emacs-bin, etc). The thing I'm trying to explain today is not only 
related to automake, so please view this in the correct context. Perhaps 
it was stupid of me to use automake in the example...

>urpmi assumes integrity of of both its database and system state.
>If state of urpmi database does not agree with state of system it is
>better to stop than to risk breaking everything.
>
Uh... I'm only using official cooker / contrib / plf packages here... no 
hacking on my system :-)

>In your case, if you are smart enough to install hacked version that
>contradicts uprmi database you should be smart enough to work around it
>:-):
>
>urpmi $(urpmq -u -d --auto-select | grep -v automake )
>
>of course, if any autoselected package requires automake you still get
>the same problem. In which case:
>
>rpm -Uvh $(urpmq -u -d --auto-select --sources | grep -v automake)
>
>-andrej
>

Please try the following:

# rpm -q --whatprovides smtpdaemon
sendmail-8.12.1-4mdk

# urpmi -p --auto smtpdaemon qt2-devel
installing /mirrors/contrib/i586/ssmtp-2.50.3-2mdk.i586.rpm 
/mirrors/cooker/i586/Mandrake/RPMS/libqt2-devel-2.3.1-29mdk.i586.rpm
error: failed dependencies:
        sendmail conflicts with ssmtp-2.50.3-2mdk
Installation failed

What I expect that urpmi will do in this situation is realize that 
"smtpdaemon" is provided on the system and continue installing the other 
packages. If this doesn't work, then the whole system of "virtual 
provides" is flawed with urpmi. OR you'll need to use urpmi to install 
packages one by one.

Stefan


Reply via email to