[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: handle of cyclic dependencies in Debian packages



Quoting hanasaki <hanasaki@hanaden.com>:

> handle of cyclic dependencies in Debian packages
> 
> how does Apt handle cyclic dependencies?
> 
> ie:	a dep b dep (c and d)
> 	and c dep b
> 
> if	b dep c(ver >= 5)
> 	and c ver 5 dep b
> 	and c ver 6 has no dep
> 
> 	is c ver 6 chosen to avoid the cycle?
> 	how?
> 
> thanks

First of all, an actual concrete example would probably make it easier to
figure out.  Different packages handle dependencies in different ways.  E.g.,
some packages depend on specific version of other specific pacakges.  Some
packages depend on other packages without regard for the version.  Yet, other
packages depend on virtual packages which may default to certain packages
which is affected by what packages you have installed or not installed on your
machine.

However, I know that aptitude will let you make your selections, even if it
would break a package, and then warn you of broken packages if you try to
install.  That lets you select packages for removal and then substitue another
package that provides the same functionality.  E.g., I currently have Exim
installed but want to switch to Postfix.  However, I have installed an imap
server which depends on mail-transport-agent.  In aptitude, I can select
Exim for removal, which will tell me that the imap server is broken, and then
select Postfix for installation, which will then fix the broken dependency.
Then I can tell aptitude to go, and will remove Exim and isntall Postfix in
one pass.

-Roberto Sanchez

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



Reply to: