debian mentors/ glossary/ dependency


A dependency is a package that is required for another to function. dpkg and apt have this concept, and that is what allows them to make sure that your system will be functional by pulling in required packages when you install a package.

There are different types of dependency:

There is also the related concept of Conflicts.

There is often debate about whether a given package belongs in Depends, Reccomends or Suggests. It is usually up to the maintainer where they put it. Some people tend to make dependencies more firm (closer to the Depends relationship), than they have to be, so that there is more chance of the packages being installed together and the user getting the enhanced functionality without trying. It also attempts to avoid BugReports where the problem is that users haven't got the required package as it was not installed for them. Other people go the other way and make the dependecies looser, arguing that pulling in a lot of unwanted packages wastes space, and it should be left to the user to decide whether they require something or not.

There are several ways in which packages can be specified in one of these fields