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: