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

Re: Getting rid of circular dependencies, stage 5

Andreas Barth <aba@not.so.argh.org> writes:

> Hi,
> * Ian Jackson (ian@davenant.greenend.org.uk) [060726 13:18]:
>> But, for example,  foo <-Depends-> foo-data  is not usually an example
>> of a silly dependency.
> Actually, there is no reason why foo-data needs foo configured before
> being configured, but there might be reason for the other direction.
> Why not inventing some new "Depends-for-being-useful" from foo-data to
> foo, and having Depends cycle-free?
> Cheers,
> Andi

We have:

Pre-Depends: Needs to be unpacked and configure before me
Depends: Needs to be configured before me

How about adding:

Post-Depends: Needs to be configured for me to be useable

The difference between Depends and Post-Depends would be that only the
former may use the other package in the maintainer scripts.

To implement this dpkg would need a new state. One between
unconfigured and installed, say post-config or configured. Packages
would go from purged to unpacked (unpacking done) to configured
(maintainer scripts have been run) to installed (Post-Depends have
been configured).

Post-Depends cycles could be broken by allowing: A package can go from
configured to installed when all its Post-Depends are configured or
installed. Or Post-Depends cycles are just required to be transitioned
as one, no splitting by apt-get into multiple calls allowed.


Reply to: