TL;DR: You can use
reverse-depends src:$(what-source libsslcommon2).
There is no
libsslcommon2 source package. Instead,
libsslcommon2 is one of a number of binary packages built from the
qpid-cpp source package. In general, a binary package may or may not have the same name as the source package used to build it, and source packages may provide multiple binary packages.
The name of the source package for
bash is also
bash, but source package names cannot always be guessed from binary package names.
Two of the ways to check what source package is used to build a binary package are:
- Search for the binary package name under "Packages" at https://launchpad.net/ubuntu.
- Use the
what-source command. (You must install what-utils first. To do that from the command line, run
sudo apt-get install what-utils.) For example,
what-source libsslcommon2 outputs
In practice I usually use Launchpad because it often has other handy information I'm looking for at the same time. But with
reverse-depends, you can write a single command to list the reverse dependencies associated with the source package for a particular binary package:
reverse-depends src:$(what-source libsslcommon2)
This uses command substitution--a
) expression is replaced by the output of the command written inside the parentheses.
You may be surprised at the output of that command, which, at least when run from my 15.04 system, is:
No reverse dependencies found
But really this is not so surprising. It means no binary packages except those built from the
qpid-cpp source package depend on any binary packages built from the
qpid-cpp source package. For example:
[email protected]:~$ reverse-depends libsslcommon2
Packages without architectures listed are reverse-dependencies in: amd64, arm64, armhf, i386, powerpc, ppc64el
[email protected]:~$ what-source libsslcommon2-dev
[email protected]:~$ what-source qpid-client
[email protected]:~$ what-source qpidd
Finally, take note:
You do not need to run
what-source) as root. That is,
sudo reverse-depends ... is unnecessary; run
reverse-depends ... instead.
As far as the
reverse-depends utility is concerned, a source package's reverse dependencies are the reverse dependencies of the binary packages that are built from the source package. The specific binary package they depend on is listed in parentheses to the right of the package name, in the output of
The reverse dependencies of a source package, as listed by
reverse-depends, are still binary packages, not source packages. For example, the output of
reverse-depends src:bash includes:
* netscript-2.4 (for bash)
* netscript-2.4-upstart (for bash)
This is even though there is no
netscript-2.4-upstart source package. Instead, the
netscript-2.4-upstart binary packages are both built from the
netscript-2.4 source package.
The reverse dependencies of a source package are not the same as the reverse build dependencies of a package. The reverse build dependencies of a package are the other packages that require the package in order to be built, but not necessarily to be installed once built. If you're looking for reverse build dependencies, invoke
reverse-depends with the