Ubuntu – How to get a ‘verbose’ apt-get exit code


How can I get a 'verbose' exit code for apt-get so that errors like this

Package google-chrome is a virtual package provided by:
  google-chrome-stable 29.0.1547.76-r223446
  google-chrome-beta 30.0.1599.47-1
You should explicitly select one to install.

E: Package 'google-chrome' has no installation candidate

have a different exit code than download errors like this

Err http://dl.google.com/linux/chrome/deb/ stable/main google-chrome-stable amd64 29.0.1547.76-r223446
  Something wicked happened resolving 'dl.google.com:http' (-11 - System error)

Currently, both errors exit with 100

Basically, I'd like to have download errors exit with a different code than errors like the first. If possible, I'd like each specific error to have a different exit code, but the above example is the minimum I need. How can I do this in a vanilla Ubuntu install without additional software (with the exception of aptitude)?

Best Answer

Not a complete answer, but you could test for the existence of packages first by doing apt-cache policy X and grepping the output for "Candidate (none)" or "Couldn't find package X", etc.