On Wed, Jan 4, 2012 at 4:57 PM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: > On Wed, Jan 04, 2012 at 04:35:57PM +0200, Zeeshan Ali (Khattak) wrote: >> On Tue, Jan 3, 2012 at 1:18 PM, Daniel P. Berrange <berrange@xxxxxxxxxx> wrote: >> > On Fri, Dec 23, 2011 at 05:01:45PM +0100, Christophe Fergeau wrote: >> >> I'm a bit confused by derives-from VS upgrades here, but anyway my >> > >> > Upgrades is for a logical progression of releases from a vendor. >> > Newer links in the chain may drop old hardware, and add new hardware. > > The anticipated primary use case for Derives, ws to allow > applications to easily identify & order a sequence of OSs > in a family. > >> > Derives is for when a new distro is created that is based off >> > another distro. A derivative will typically offer support for >> > a superset of hardware. We also use this with various "psuedo >> > distros" which are a base for real distros. > > The derives relationship was to allow us to reduce the amount of > metadata we need to store against each OS, by doing inheritance. > >> > Clones is for plain 3rd party rebuilds of distros. The hardware >> > support will generally be identical. > > The clones relationship was to allow us to easily include explicit > OS names for things like CentOS, without having to do copy+paste of > all the metadata already stored for RHEL. > >> Thanks so much for this explanation, makes things much clear. >> Keeping this in mind, I guess it makes senses to: >> >> 1. Modify osinfo_os_get_devices() to recurse into OSs it 'Derives' and >> 'Clones' as well. > > I think there could still be cases where an app might want to > see only the devices explicitly recorded against an OS. So > we would want to have separate APIs to do the recursive > fetch. eg, osinfo_os_get_all_devices() for recursion /me nods. >> 2. Modify the DB to reflect 'Derives' relationship as well as >> 'Upgrades' for many of the OSs, for example fedoraN both derives from >> and upgrades fedoraN-1. > > Do we really need that ? Or is it enough to just use the upgrades > information directly, in addition to the upgrades info. I guess you meant to write "upgrades information directly, in addition to the DERIVES info" ? I suggested this change because you said that upgrades does not imply support of the same devices as the OS being upgraded so don't think osinfo_os_get_all_devices() should recurse into 'upgrades'. -- Regards, Zeeshan Ali (Khattak) FSF member#5124