summaryrefslogtreecommitdiffstats
path: root/system/virt-manager/Add-Slackware-to-OS-choices.patch
blob: dfbfa7e4d38151c930e8948d517cec53695f5a15 (plain)
diff -Naur virt-manager-1.1.0.orig/virtinst/osdict.py virt-manager-1.1.0/virtinst/osdict.py
--- virt-manager-1.1.0.orig/virtinst/osdict.py	2014-09-07 16:47:13.000000000 +0200
+++ virt-manager-1.1.0/virtinst/osdict.py	2014-09-11 06:58:39.498034667 +0200
@@ -48,6 +48,7 @@
     "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 @@
         # 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 -Naur virt-manager-1.1.0.orig/virtinst/urlfetcher.py virt-manager-1.1.0/virtinst/urlfetcher.py
--- virt-manager-1.1.0.orig/virtinst/urlfetcher.py	2014-09-07 20:35:55.000000000 +0200
+++ virt-manager-1.1.0/virtinst/urlfetcher.py	2014-09-11 06:55:10.870047611 +0200
@@ -1022,6 +1022,43 @@
         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 = []