1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
diff -Nur virt-manager-2.2.0.orig/virtinst/install/urldetect.py virt-manager-2.2.0/virtinst/install/urldetect.py
--- virt-manager-2.2.0.orig/virtinst/install/urldetect.py 2019-06-17 00:20:11.000000000 -0500
+++ virt-manager-2.2.0/virtinst/install/urldetect.py 2019-07-03 02:14:35.978571412 -0500
@@ -466,6 +466,47 @@
return cache.treeinfo_family_regex(famregex)
+class SlackwareDistro(_DistroTree):
+ # slackware doesn't have installable URLs, so this is just for a
+ # mounted ISO
+ name = "Slackware"
+ urldistro = "slackware"
+ os_variant = "linux"
+
+ PRETTY_NAME = "Slackware"
+ matching_distros = ["slackware"]
+ _variant_prefix = "slackware"
+
+ _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
+
+
class _SuseDistro(_RHELDistro):
PRETTY_NAME = None
_suse_regex = []
diff -Nur virt-manager-2.2.0.orig/virtinst/osdict.py virt-manager-2.2.0/virtinst/osdict.py
--- virt-manager-2.2.0.orig/virtinst/osdict.py 2019-06-17 00:20:11.000000000 -0500
+++ virt-manager-2.2.0/virtinst/osdict.py 2019-07-03 02:11:59.208399622 -0500
@@ -146,6 +146,7 @@
"rhel5": "rhel5.0",
"rhel6": "rhel6.0",
"rhel7": "rhel7.0",
+ "slackware": "slackware14.2",
"ubuntuhardy": "ubuntu8.04",
"ubuntuintrepid": "ubuntu8.10",
"ubuntujaunty": "ubuntu9.04",
|