Scott James Remnant <[EMAIL PROTECTED]> writes: > On Thu, 2004-11-25 at 17:52 +0100, Goswin von Brederlow wrote: > >> The ^ would be suffix epoch and smaller than any other symbol except ~ >> (and implies a debian revision of -0 if missing). The # would be >> bigger than any other symbol (also implies a debian revision of -0 if >> missing). >> >> The reason for # is that we have many packages with a >> Depends: foobar (= 1.2-3) or >> Depends: foobar (>= 1.2-3), foobar (<< 1.2-4) >> >> The problem with (= 1.2-3) is that a recompile binary-only NMU won't >> fullfill this anymore and one might have to also upload other packages >> unrelated to the bug to get the depends working. >> > I'd actually go out on a limb and suggest that if we introduce a "less > than everything but null" operator such as ^, and policy it for > Binary-Only NMUs, that: > > 1) Everything after the operator, including the operator itself be > stripped and placed as the version in the Source header. > > e.g. foo_1.2-1^1 would have Source: foo (1.2-1)
I think that would be perfect. The changes file would be correct without the need to touch the debian/control file. > 2) Everything after the operator, including the operator itself be > stripped during version comparisons. > > e.g. 1.2-1^1 == 1.2-1 But 1.2-1 != 1.2-1^1? What I mean is that a "Depends: foo (= 1.2-1)" should match 1.2-1^1 but a "Depends: foo (= 1.2-1^1)" should not match 1.2-1. I fear this would create some complex behaviour for version comparisons. Is 1.2-1^1 <= 1.2-1? [Depends: foo (<= 1.2-1)] >> And with the introduction of ~ the (<< 1.2-4) matches 1.2-4~pre1, >> which usualy isn't the intention of the above. >> > Less-than dependencies tend to be a bit silly anyway due to #170825 and > friends. They look good on paper but don't actually tend to work in the > situations the user intended them. Does "Conflicts: foo (>= 1.2-4)" work any better? > I can't infer from your mail any logic for #, it sorts greater than any > character currently permitted which is fair enough ... was this a typo? > > Depends: foobar (>= 1.2-3), foobar (>= 1.2-3#) > > Did you really mean: > > Depends: foobar (>= 1.2-3), foobar (<= 1.2-3#) Yes. > If so, you can just do: > > Depends: foobar (>= 1.2-3), foobar (<< 1.2-4~) This would require the debian/rules file to predict/calculate the next version number but I guess it is good enough. Your idea (2) above would eliminate a lot of cases where a "Depends: foobar (>= 1.2-3), foobar (<< 1.2-4~)" would now be better instead of (= 1.2-3). > to solve the same problem. > > Scott > -- > Have you ever, ever felt like this? > Had strange things happen? Are you going round the twist?

