OnWorks favicon

dh_sameversiondep - Online in the Cloud

Run dh_sameversiondep in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command dh_sameversiondep that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



dh_sameversiondep - generate versioned dependency based on the versioned dependencies of
the reference package.


dh_sameversiondep [debhelper options]


dh_sameversiondep is a helper tool which is able to generate a dependency that is
versioned the same way as a dependency (coming from the same source) of another reference
package. dh_sameversiondep scans debian/control for the specially formatted substvar (see
"sameVersionDep substvar SPECIFICATION" section below), determines its value and writes it
to debian/package.substvars file.

The most common use case for dh_sameversiondep tool is to keep your liba-dev package
dependency on the external libb-dev package as tight as your liba package depends on the
respective external libb package (see "EXAMPLE" section for more information about this
use case).

dh_sameversiondep works as follows:

· Searches for the sameVersionDep substvar in the Depends, Recommends, Suggests,
Enhances and Pre-Depends fields of the requested packages. When one is found, it is
parsed and the dependency package name, reference package name and dependency type
(either Depends or Recommends etc.) are determined.

· All dependencies of the requested type are collected for the dependency package based
on the dpkg-query --status output. If a multi-arch aware dpkg is detected, this query
is architecture-qualified as needed.

· All dependencies of the requested type are collected for the reference package either
from debian/control (substvars are expanded) or from dpkg-query --status output if the
package was not found in debian/control.

· Both collections are intersected leaving only common packages in both collections.

· Common package list is filtered by leaving only those which come from the same source
as dependency package.

· Whatever packages are left (most likely only one), their names are replaced with
dependency package name preserving all versioning information. This result is written
to debian/package.substvars file as a value of the sameVersionDep substvar being

dh_sameversiondep is very strict about errors. If either dependency package or the
reference package cannot be found or the resulting dependency set is empty, it will fail
with an error.

dh_sameversiondep MUST be run before dh_gencontrol. However, it is recommended to run
dh_sameversiondep after dh_shlibdeps.

sameVersionDep substvar SPECIFICATION

sameVersionDep substvar can appear in either Depends, Recommends, Suggests, Enhances or
Pre-Depends field of any binary package. The field, which the substvar appears in, becomes
the default dependency type for that substvar. sameVersionDep should be formatted as
follows (everything is case sensitive):

${sameVersionDep:dependency[[:reference]-dependency type]}

dependency (mandatory)
The name of the package which you want to add as a dependency.

reference (optional)
The name of the package which dependencies are to be intersected with the dependencies
of the dependency package. Defaults to the first package in debian/control if ommited.

dependency type (optional)
Can be either Depends, Recommends, Suggests, Enhances or Pre-Depends. Defaults to the
name of the field which the substvar was found in. Specifies which type of
dependencies to consider when analyzing dependency package and reference package.


Assume we have the following in debian/control:

Package: liba
Depends: libc (>= 0.1), depa, depb, depc

Package: libb
Depends: libd (>= 0.2), depd, depe, depf

Package: libab-dev
Depends: ${sameVersionDep:libc-dev}, ${sameVersionDep:libd-dev:libb}

Assumming that libc and libc-dev (both from the same source), as well as libd and libd-dev
(both from the same source) are installed, the value of "sameVersionDep:libc-dev" will be
libc-dev (>= 0.1) and the value of "sameVersionDep:libd-dev:libb" will be libd-dev (>=

"sameVersionDep:libc-dev" could also be written as "sameVersionDep:libc-dev:liba-Depends"
and "sameVersionDep:libd-dev:libb" as "sameVersionDep:libd-dev:libb-Depends" but it is not
necessary because defaults are sufficient.

Use dh_sameversiondep online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    A fast tunnel proxy that helps you
    bypass firewalls This is an application
    that can also be fetched from
    It ha...
    Download Shadowsocks
  • 2
    GLPI Themes
    GLPI Themes
    Download release at
    Color themes for GLPI 0.84 and 0.85 New
    Modifications for GLPI This is an
    application that c...
    Download GLPI Themes
  • 3
    SMPlayer is a free media player for
    Windows and Linux with built-in codecs
    that can also play YouTube videos. One
    of the most interesting features of
    Download SMPlayer
  • 4
    AAX to MP3
    AAX to MP3
    Usage: - Install the Audible Manager
    and open a file of your account. - Sign
    in into your audible account (in the
    application). Now the program can
    convert you...
    Download AAX to MP3
  • 5
    TestLink is a web based Test Management
    tool. The application provides Test
    specification, Test plans and execution,
    Reporting, Requirements specification
    and ...
    Download TestLink
  • 6
    XDXF - XML Dictionary Exchange Format
    XDXF - XML Dictionary Exchange Format
    XDXF is a project to unite all existing
    open dictionaries and provide both users
    and developers with universal XML-based
    format, convertible from and to other ...
    Download XDXF - XML Dictionary Exchange Format
  • 7
    Transmission Remote GUI
    Transmission Remote GUI
    Transmission Remote GUI is a feature
    rich cross platform front-end to
    remotely control a Transmission
    Bit-Torrent client daemon via its RPC
    protocol. Transmissi...
    Download Transmission Remote GUI
  • More »

Linux commands