From: Matteo Bernardini <ponce@xxxxxxxxxxxxxxx> Signed-off-by: Matteo Bernardini <ponce@xxxxxxxxxxxxxxx> Reviewed-by: Robby Workman <rworkman@xxxxxxxxxxxxx> --- virtinst/osdict.py | 6 ++++-- virtinst/urlfetcher.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/virtinst/osdict.py b/virtinst/osdict.py index 4277578..e70445f 100644 --- a/virtinst/osdict.py +++ b/virtinst/osdict.py @@ -48,6 +48,7 @@ _aliases = { "rhel5" : "rhel5.0", "rhel6" : "rhel6.0", "rhel7" : "rhel7.0", + "slackware" : "slackware14.1", "ubuntuhardy" : "ubuntu8.04", "ubuntuintrepid" : "ubuntu8.10", "ubuntujaunty" : "ubuntu9.04", @@ -444,8 +445,9 @@ class _OsVariantOsInfo(_OSVariant): # We should fix this in a new libosinfo version, and then drop # this hack if name in ["rhel7.0", "rhel7.1", "fedora19", "fedora20", "fedora21", - "debian6", "debian7", "ubuntu13.04", "ubuntu13.10", "ubuntu14.04", - "ubuntu14.10", "win8", "win8.1", "win2k12", "win2k12r2"]: + "debian6", "debian7", "slackware14.1", "ubuntu13.04", "ubuntu13.10", + "ubuntu14.04", "ubuntu14.10", "win8", "win8.1", "win2k12", + "win2k12r2"]: return True return False diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py index 0c1b5cd..5dedde5 100644 --- a/virtinst/urlfetcher.py +++ b/virtinst/urlfetcher.py @@ -1022,6 +1022,43 @@ class ALTLinuxDistro(Distro): return False +class SlackwareDistro(Distro): + # slackware doesn't have installable URLs, so this is just for a + # mounted ISO + name = "Slackware" + urldistro = "slackware" + os_variant = "linux" + + _boot_iso_paths = [] + _xen_kernel_paths = [] + + def __init__(self, *args, **kwargs): + Distro.__init__(self, *args, **kwargs) + if re.match(r'i[4-9]86', self.arch): + self.arch = 'i486' + self.kname = 'hugesmp.s' + else: + self.arch = 'x86_64' + self.kname = 'huge.s' + + self._hvm_kernel_paths = [("kernels/%s/bzImage" % self.kname, + "isolinux/initrd.img")] + + def isValidStore(self): + # Don't support any paravirt installs + if self.type is not None and self.type != "hvm": + return False + + # Slackware website / media appear to have a Slackware-HOWTO + # file in top level which we can use as our 'magic' + # check for validity + if not self.fetcher.hasFile("Slackware-HOWTO"): + return False + + logging.debug("Regex didn't match, not a %s distro", self.name) + return False + + # Build list of all *Distro classes def _build_distro_list(): allstores = [] -- 2.1.0 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list