0

My application, ROXTerm, depends on vte-2.91 >= 0.52, but it performs a run-time check for a new feature in vte 0.64 which it can use to enhance UX by enabling kinetic scrolling for touch input devices, which otherwise would only be available by enabling a deprecated xorg driver (not available in Wayland).

The strict dependency on vte-2.91 >= 0.52 is managed by Build-Depends. Would it be appropriate to add Suggests: vte-2.91 >= 0.64 to the binary package?

realh
  • 962
  • 2
  • 7
  • 22

1 Answers1

1

no, this doesn't make sense.

>=0.64 is a strict superset of >=0.52 dependency (this holds true for both mathematical comparision and dependency resolution).

The dependency you already have says: "use any version of vte-2.91 that is newer than (or equal to) 0.52". This dependency can be satisfied by vte2.19_0.52, vte2.19_0.63.9 and vte2.19_0.77 (among others).

Now, the dependency resolver (apt) will pick the newest version that can satisfy it's dependencies (and that isn't downvoted by apt-pinning).

If your distribution release ships with vte2.19_0.77 it will automatically pick that, but if it only comes with vte2.19_0.52-9 it will pick that instead.

In short: if the distribution release lacks a vte-2.91 >= 0.64 it cannot install that version, and if it comes with vte-2.91 >= 0.64 it will pick that version anyways. Adding a versioned Suggests doesn't change anything about this.

umläute
  • 28,885
  • 9
  • 68
  • 122
  • However, what if a user has stable as their preferred release, but has also enabled testing or unstable in sources.list for a few selected packages? Or a similar situation with LTS and latest release in Ubuntu? Wouldn't that make apt default to the stable version, but be able to install a newer version if a package prefers? – realh May 19 '21 at 17:04
  • it doesn't matter, as the Dependencies/Suggests fields are orthogonal to apt-priorities and pinning. – umläute May 20 '21 at 06:23