Josselin Mouette <j...@debian.org> writes: > Dmitrii Kashin <d.kas...@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.