summaryrefslogtreecommitdiffstats
path: root/system/virt-manager/Add-Slackware-to-OS-choices.patch
blob: 53cda0106b08230646293e26c3a88d35cef3582e (plain)
diff -Nur virt-manager-2.0.0.orig/virtinst/osdict.py virt-manager-2.0.0/virtinst/osdict.py
--- virt-manager-2.0.0.orig/virtinst/osdict.py	2018-10-13 13:59:42.000000000 -0500
+++ virt-manager-2.0.0/virtinst/osdict.py	2018-11-21 23:20:14.635363630 -0600
@@ -121,6 +121,7 @@
         "rhel5": "rhel5.0",
         "rhel6": "rhel6.0",
         "rhel7": "rhel7.0",
+        "slackware": "slackware14.2",
         "ubuntuhardy": "ubuntu8.04",
         "ubuntuintrepid": "ubuntu8.10",
         "ubuntujaunty": "ubuntu9.04",
diff -Nur virt-manager-2.0.0.orig/virtinst/urldetect.py virt-manager-2.0.0/virtinst/urldetect.py
--- virt-manager-2.0.0.orig/virtinst/urldetect.py	2018-10-13 13:26:55.000000000 -0500
+++ virt-manager-2.0.0/virtinst/urldetect.py	2018-11-21 23:25:08.056358905 -0600
@@ -834,6 +834,42 @@
 
         self._kernel_paths = self.cache.get_treeinfo_media(self.type)
 
+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():