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

Re: Debian package non-strict equal dependencies



Josselin Mouette <joss@debian.org> writes:

> Dmitrii Kashin <d.kashin@solarsecurity.ru> wrote:
>> The main thing is we can describe dependency as `pkg (= "2.0")' and yum will
>> install package `pkg' of version "2.0" with the maximum revision
>> found. And also we can write dependency specifically with revision,
>> f.e. `pkg (= "2.0-43")' and yum will install specifically "2.0-43".
>
>> Well, now I'm trying to repack one project (my job) from centos to
>> debian. And I wonder what would be the most correct way for such kind of
>> dependencies.
>> 
>> 1) I could not write dependency operator at all.
>> 2) I could write >= and version (f.e. "2.0")
>
> You can write, for example: 
>         Depends: pkg (>= 2.0), pkg (<= 2.0.~)
>
> Note that since the introduction of ${source:Version} and
> ${binary:Version}, this no longer useful if both packages are part of
> the same source.

Hm. It seems to be a solution. But I don't really understand how version
comparison works with symbols `.', `~' and `+'. Where can I read
comparison rules?

>> If there's package A which depends on B and C, B depends on D (=
>> "2.0-43") and C depends on D (>= "2.0"). If there're packages D-2.0-43
>> and D-3.0 in the repository, then yum fails to resolve dependencies.
>> 
>> I wonder what the apt's behavior is in such situation?
>
> In a Debian repository, there can be only one version of D at a time, so
> this cannot happen. If you want two versions of the same package in the
> same repository, they need to have different source and binary names
> (the name can be something like D-2.0 or D-3.0 of course).

Wow. Thank you very much for this warning. I'll notify all our personnel
that we must reconsider our repository publication process.


Reply to: