I have seen in Debian that quite a few packages are virtual packages. Why do such virtual packages exist ?

for e.g. :-

$ aptitude show pppoeconf
Package: pppoeconf                       
State: installed
Automatically installed: no
Version: 1.21
Priority: optional
Section: net
Maintainer: Gregory Colpart <reg@debian.org>
Architecture: all
Uncompressed Size: 297 k
Depends: whiptail-provider | whiptail, ppp (>= 2.4.2+20040428-2) | pppoe (>= 3.0), ppp (>= 2.4.1.uus2-4), gettext-base (>= 0.13), sed (>= 3.95),
         ifupdown (>= 0.7.44~), iproute2
Recommends: locales
Suggests: xdialog
Description: configures PPPoE/ADSL connections
 User-friendly tool for initial configuration of a DSL (PPPoE) connection.

See the suggests :-

Suggests: xdialog

Now let's try to see it a little closer -

$ aptitude show xdialog
No current or candidate version found for xdialog
Package: xdialog
State: not a real package

Why is it there ? One could it, it was a real package in say wheezy or jessie and then it was removed. Could this be the only reason or are there possibilities of more reasons ?

The above I have just taken as an example.

  • It seems to ve about nonexisting /missing packages. In aptitude, virtual packages is the term used to describe packages that consist only of dependencies, but cause actual software to be installed based on dependent non-virtual packages. Not sure whether the term is used differently in Debian - so I'll not change it without your ok. Could you confirm, or change the title and description, as it's confusing? – Volker Siegel Oct 16 '15 at 23:55
  • There, is it now better ? – shirish Oct 17 '15 at 1:53
  • Ohh... now I'm more confused: what exactly do you mean by "virtual package"? What is virtual about it? (aptitude uses the word with very specific (and obscure) meaning - the confusion is that you mean something else, with the same word) – Volker Siegel Oct 17 '15 at 3:09
  • Now I understand: the title is a very interesting question about virtual packages (for people who know what that means). But the question body describes an example that has nothing to do with virtual packages at all, but that is not easy to see. Actually, the answer of @ThomasWeinbrenner is great. He explains both parts. First: what is the matter with xdialog, and second, what virtual packages are. – Volker Siegel Oct 17 '15 at 3:24
  • cleaned up the title a bit more, hope it is better now. – shirish Oct 17 '15 at 5:58

In the case of xdialog there was once such a package, but it got removed. Judging from its homepage there was some trouble between the author and the Debian people.

Then there are other so called virtual packages, which don't exist, but which are provided by other packages. These mechanism is used when different packages provide the same function.

For example the package mail-transport-agent is a virtual package which is provided by exim, postfix, qmail etc. So if you have a package which needs a MTA you make it depend on this virtual package and don't have to make it depend on exim OR postfix OR qmail ...
And you don't have to change your package if another alternative appears.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.