Neekoy
Neekoy

Reputation: 2533

Debian packaging Control File with specific version

I have the following control file:

Source: tps-config
Section: cyber
Priority: optional
Maintainer: admin <[email protected]>
Build-Depends: debhelper (>= 8.0.0), devscripts, dos2unix, dh-apparmor, config-package-dev (>= 5.0), python-yaml, python-tox
Standards-Version: 3.9.4

In the "build-depends" part, I want to add a specific version for python-tox. What is the correct syntax for this?

Build-Depends: python-tox(== 3.14.0)

I would think it's the above, however I'm not sure if it's == or something else.

Upvotes: 0

Views: 2271

Answers (1)

uml&#228;ute
uml&#228;ute

Reputation: 31274

This is what the authoritative Debian policy says on the topic:

The relations allowed are <<, <=, =, >= and >> for strictly earlier, earlier or equal, exactly equal, later or equal and strictly later, respectively.

You should however think twice whether you really want such a strict versioned dependency. E.g. a package will usually have a version in the form <upstreamversion>-<debianrevision> (e.g. 3.14.0-1); however the string with or without the debianrevision will not compare to equality, that is (according to dpkg --compare-versions): 3.14.0 << 3.14.0-1. OTOH, you probably don't want to pin your build-dependency on a specific debian revision. So you might be better of with specifying a version-range:

Build-Depends: foo (>= 1.2.3), foo (<2),

Apart from that: the debian/control snippet you give us has some severe problems:

  • there's no section cyber
  • the maintainer-address is dysfunctional
  • the current recommended debhlper compat is 12
  • the current standards-version is 4.4.1
  • python-tox is no longer in Debian
  • python-tox would not be a native package, and therefore must have a <debianrevision> suffix in the version-string
  • Python2 is currently being purged

(that's 7 problems in 6 lines)

Upvotes: 1

Related Questions