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

Re: Self Referencing depends



On Wed, 7 Jan 1998, Ian Jackson wrote:

> The meaning of self-referencing dependencies is as follows:
> 
>  A (version x) --Depends-> A (no version specified)
>  A (version x) --Depends-> A (satisfied by x)
>  A (version x) --Provides-> A (version x)
>    Useless, but should be allowed and ignored.
> 
>  A (version x) --Depends-> A (not satisfied by x)
>    Dependency cannot be satisfied; this is definitely a bug.
>    Behaviour should be sane (no coredumps, etc) but may be arbitrary
>    (installation program may ignore it, complain, whatever).
>
>  A (version x) --Conflicts-> A (no version specified)
>    Ignored as regards A itself, but may be affected by Provides in
>    other packages.
> 
>  A (version x) --Conflicts-> A (version spec y)
>    Ignored as regards A itself; currently no meaning because Provides
>    are not versioned, but they will be and then it will have the
>    obvious meaning.
> 
>  A (version x) --Provides-> A (not version x)
>    Currently not supported (syntax error), but in future will allow
>    differently-versioned dependencies to be satisfied.  When this is
>    possible it should be used only with great care. 
> 
> I believe that dpkg's behaviour conforms to this specification, and
> that always-broken self-referential dependencies are ignored.

AFAIK dpkg does.
 
> Deity should conform to this specification too.  If that means
> changing its dependency calculation code then it should be changed.

Okay, I will add a special case for dependancies that are not conflicts to
make it conform to what you have specified.

Could you clarify the last situation you have written? I am not sure what
you mean in that case. (A (version x) --Provides-> A (not version x))

Most people who have posted on this subject seem to agree that self
depending should be reported as a bug so the only reason I am changing
deity is for backwards compatibility with dpkg. I see no real reason to
support these sort of buggy packages.

There are some other cases in the display code where this issue comes up.
I will be leaving those as is. This will be more clear later..

Jason



Reply to: