❦ 14 février 2018 16:09 +0200, Lars Wirzenius <l...@liw.fi> : >> > It's not only an infrastructure problem. If you Depends on X (>= 1.8), >> > this will be true with X 1:1.6 as well. >> >> Only if your program is severely buggy. >> >> Hint: either it matches dpkg --compare-versions exactly, or it is a >> severe bug. > > For extra clarity: > > $ if dpkg --compare-versions 1.8 '>=' 1:1.6; then echo 1.8 comes after > 1:1.6; else echo no it does not; fi > no it does not > $ > > A version with a lower epoch (or no epoch, which is implicitly a zero > epoch) always compares less than one with a higher epoch. This is > regardless of what comes after the epoch in a version number. > Otherwise there would be little point to epochs.
That's exactly the point. You wanted X >= 1.8 and you get X 1.6. More concrete example (now a bit in the past). On Wheezy, you want to depend on a 1.8 JRE (you package independently). You put default-jre-headless (>= 1.8). Since you have forgotten about the epoch, this pulls Wheezy default-jre-headless (1:1.7-47+deb7u2). So you add the epoch to both your own package version default-jre-headless (1:1.8-1) and to the dependency. All good. You upgrade to Jessie and rebuild everything. Jessie comes with default-jre-headless (2:1.7-52) which shadows your default-jre-headless (1:1.8-1) package. -- A horse! A horse! My kingdom for a horse! -- Wm. Shakespeare, "Richard III"
Description: PGP signature