How can I programatically determine which Ubuntu Versions are still supported?

Solution 1:

You can use launchpadlib to do this. For example, in python:

#!/usr/bin/env python

from launchpadlib.launchpad import Launchpad

lp = Launchpad.login_anonymously('series-support-check')
for series in lp.projects['ubuntu'].series:
    print series.name, series.supported

For more info about the launchpad API, check out the web services API help or the API reference.

Solution 2:

You can use the parse the output from ubuntu-support-status. That will list what software is unsupported, and how long the others are supported. For instance, LAMP services are supported for 5 years on an LTS desktop even if the desktop itself is only supported for three years. That command will reflect that. It will also show you that packages from universe, multiverse, etc, are not supported at all.

Here's an example:

you@ubuntu:~$ ubuntu-support-status
Support status summary of 'ubuntu':

You have 1873 packages (89.5%) supported until October 2014 (18m)

You have 14 packages (0.7%) that can not/no-longer be downloaded
You have 206 packages (9.8%) that are unsupported

Run with --show-unsupported, --show-supported or --show-all to see more details