I understand that in the Depends: section of the deb control files, a package may specify alternative dependencies separated by |
symbol to satisfy a single dependency.
My question is, how does apt-get
decides which one to install when there are alternatives?
Is there a way to manually alter this selection using something similar to apt_preferences
?
For example, if a package depends on java and in the Depends section we have openjdk-6-jre | sun-java6-jre
, how can I force apt-get to install openjdk-6-jre
provided that the system does not have either packages installed?
Best Answer
In the Debian Policy Manual, Chapter 7 - Declaring relationships between packages you can read
I cannot find any other useful information about list of alternatives in the whole document, so I should conclude that, in case none of the packages in the list is already installed, the first one in the list would be chosen. But be aware that this is only my interpretation.