I'm creating a deb package for the first time (using CPack, but I don't think that's relevant), and I'm confused by dependent package versioning. My application depends on 2 Boost libraries and I need a minimum of v1.71, so I thought I could just use this string:
"libboost-program_options (>= 1.71), libboost-log (>= 1.71)"
But it turns out those packages have the version in their name! So I have to use this string in order to get the package to install at all:
"libboost-program_options1.71.0 (>= 1.71), libboost-log1.71.0 (>= 1.71)"
Which renders the minimum versioning specification useless. So now if someone has v1.73 of the libraries installed, which would be perfectly fine, apt
would fail to meet the dependencies!
How do 'real' package maintainers solve this problem?