Some OS names are different under libosinfo, add quirks to be backward compatible. Signed-off-by: Giuseppe Scrivano <gscrivan@xxxxxxxxxx> --- virtinst/osdict.py | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/virtinst/osdict.py b/virtinst/osdict.py index 481d5db..d840797 100644 --- a/virtinst/osdict.py +++ b/virtinst/osdict.py @@ -269,6 +269,9 @@ class _OsVariantOsInfo(_OSVariant): return _SENTINEL def _get_netmodel(self): + if self._os.get_distro() == "fedora": + return _SENTINEL + fltr = libosinfo.Filter() fltr.add_constraint("class", "net") devs = self._os.get_all_devices(fltr) @@ -277,6 +280,15 @@ class _OsVariantOsInfo(_OSVariant): return _SENTINEL def _get_videomodel(self): + if self._os.get_short_id() in {"ubuntu13.10", "ubuntu13.04"}: + return "vmvga" + + if _OsVariantOsInfo.is_windows(self._os): + return "vga" + + if self._os.get_distro() == "fedora": + return _SENTINEL + fltr = libosinfo.Filter() fltr.add_constraint("class", "video") devs = self._os.get_all_devices(fltr) @@ -322,6 +334,9 @@ class _OsVariantOsInfo(_OSVariant): return _SENTINEL def _is_virtiodisk(self): + if self._os.get_distro() == "fedora": + return int(self._os.get_version() >= 10) or _SENTINEL + fltr = libosinfo.Filter() fltr.add_constraint("class", "block") devs = self._os.get_all_devices(fltr) @@ -333,6 +348,9 @@ class _OsVariantOsInfo(_OSVariant): return _SENTINEL def _is_virtionet(self): + if self._os.get_distro() == "fedora": + return int(self._os.get_version() >= 9) or _SENTINEL + fltr = libosinfo.Filter() fltr.add_constraint("class", "net") devs = self._os.get_all_devices(fltr) @@ -343,6 +361,9 @@ class _OsVariantOsInfo(_OSVariant): return _SENTINEL def _is_virtioconsole(self): + if self._os.get_distro() == "fedora": + return int(self._os.get_version()) >= 18 or _SENTINEL + fltr = libosinfo.Filter() fltr.add_constraint("class", "console") devs = self._os.get_all_devices(fltr) @@ -358,8 +379,8 @@ class _OsVariantOsInfo(_OSVariant): return _SENTINEL def _is_qemu_ga(self): - if _OsVariantOsInfo.is_os_related_to(self._os, ["fedora18"]): - return True + if self._os.get_distro() == "fedora": + return int(self._os.get_version()) >= 18 or _SENTINEL return _SENTINEL def _get_typename(self): @@ -394,14 +415,62 @@ class _OsVariantOsInfo(_OSVariant): def _get_supported(self): d = self._os.get_eol_date_string() + if self._os.get_distro() == "msdos": + return False return d is None or datetime.strptime(d, "%Y-%m-%d") > datetime.now() def _get_urldistro(self): urldistro = self._os.get_distro() + remap = { + "opensuse" : "suse", + "sles" : "suse", + "mes" : "mandriva" + } + + if self._os.get_short_id() == "debian7": + return "debian" + + if remap.get(urldistro): + return remap[urldistro] + return urldistro def _get_name(self): name = self._os.get_short_id() + remap = { + "msdos6.22" : "msdos", + "winvista" : "vista", + "opensolaris2009.06" : "opensolaris", + "rhel4.0" : "rhel4", + "rhel5.0" : "rhel5", + "rhel6.0" : "rhel6", + "debian4" : "debianetch", + "debian5" : "debianlenny", + "debian6" : "debiansqueeze", + "freebsd6.0" : "freebsd6", + "freebsd7.0" : "freebsd7", + "freebsd8.0" : "freebsd8", + "freebsd9.0" : "freebsd9", + "freebsd10.0" : "freebsd10", + "debian7" : "debianwheezy", + "openbsd4.2" : "openbsd4", + "opensuse12.3" : "opensuse12", + "opensuse11.4" : "opensuse11", + "ubuntu13.10" : "ubuntusaucy", + "ubuntu13.04" : "ubunturaring", + "ubuntu12.10" : "ubuntuquantal", + "ubuntu10.10" : "ubuntumaverick", + "ubuntu11.10" : "ubuntuoneiric", + "ubuntu8.10" : "ubuntuintrepid", + "ubuntu8.04" : "ubuntuhardy", + "ubuntu9.04" : "ubuntujaunty", + "ubuntu12.04" : "ubuntuprecise", + "ubuntu9.10" : "ubuntukarmic", + "ubuntu10.04" : "ubuntulucid", + "ubuntu11.04" : "ubuntunatty" + } + if remap.get(name): + return remap[name] return name def get_label(self): -- 1.8.3.1 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list