libre.patch 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624
  1. diff --git a/virtManager/oslist.py b/virtManager/oslist.py
  2. index 8796c96..9786fad 100644
  3. --- a/virtManager/oslist.py
  4. +++ b/virtManager/oslist.py
  5. @@ -53,6 +53,11 @@ class vmmOSList(vmmGObjectUI):
  6. os_list_model = Gtk.ListStore(object, str)
  7. all_os = virtinst.OSDB.list_os()
  8. + all_os = [os for os in all_os if os.name in [ 'generic' , \
  9. + 'parabola' , \
  10. + 'pureos' , \
  11. + 'trisquel8' , \
  12. + 'trisquel9' ] ]
  13. for os in all_os:
  14. os_list_model.append([os, "%s (%s)" % (os.label, os.name)])
  15. diff --git a/virtinst/install/urldetect.py b/virtinst/install/urldetect.py
  16. index a73b0bf..1588f0c 100644
  17. --- a/virtinst/install/urldetect.py
  18. +++ b/virtinst/install/urldetect.py
  19. @@ -177,109 +177,6 @@ class _DistroCache(object):
  20. return True
  21. -class _SUSEContent(object):
  22. - """
  23. - Helper class tracking the SUSE 'content' files
  24. - """
  25. - def __init__(self, content_str):
  26. - self.content_str = content_str
  27. - self.content_dict = {}
  28. -
  29. - for line in self.content_str.splitlines():
  30. - for prefix in ["LABEL", "DISTRO", "VERSION",
  31. - "BASEARCHS", "DEFAULTBASE", "REPOID"]:
  32. - if line.startswith(prefix + " "):
  33. - self.content_dict[prefix] = line.split(" ", 1)[1]
  34. -
  35. - log.debug("SUSE content dict: %s", self.content_dict)
  36. - self.tree_arch = self._get_tree_arch()
  37. - self.product_name = self._get_product_name()
  38. - self.product_version = self._get_product_version()
  39. - log.debug("SUSE content product_name=%s product_version=%s "
  40. - "tree_arch=%s", self.product_name, self.product_version,
  41. - self.tree_arch)
  42. -
  43. - def _get_tree_arch(self):
  44. - # Examples:
  45. - # opensuse 11.4: BASEARCHS i586 x86_64
  46. - # opensuse 12.3: BASEARCHS i586 x86_64
  47. - # opensuse 10.3: DEFAULTBASE i586
  48. - distro_arch = (self.content_dict.get("BASEARCHS") or
  49. - self.content_dict.get("DEFAULTBASE"))
  50. - if not distro_arch and "REPOID" in self.content_dict:
  51. - distro_arch = self.content_dict["REPOID"].rsplit('/', 1)[1]
  52. - if not distro_arch:
  53. - return None # pragma: no cover
  54. -
  55. - tree_arch = distro_arch.strip()
  56. - # Fix for 13.2 official oss repo
  57. - if tree_arch.find("i586-x86_64") != -1:
  58. - tree_arch = "x86_64"
  59. - return tree_arch
  60. -
  61. - def _get_product_name(self):
  62. - """
  63. - Parse the SUSE product name. Examples:
  64. - SUSE Linux Enterprise Server 11 SP4
  65. - openSUSE 11.4
  66. - """
  67. - # Some field examples in the wild
  68. - #
  69. - # opensuse 10.3: LABEL openSUSE 10.3
  70. - # opensuse 11.4: LABEL openSUSE 11.4
  71. - # opensuse 12.3: LABEL openSUSE
  72. - # sles11sp4 DVD: LABEL SUSE Linux Enterprise Server 11 SP4
  73. - #
  74. - #
  75. - # DISTRO cpe:/o:opensuse:opensuse:13.2,openSUSE
  76. - # DISTRO cpe:/o:suse:sled:12:sp3,SUSE Linux Enterprise Desktop 12 SP3
  77. - #
  78. - # As of 2018 all latest distros match only DISTRO and REPOID.
  79. - product_name = None
  80. - if "LABEL" in self.content_dict:
  81. - product_name = self.content_dict["LABEL"]
  82. - elif "," in self.content_dict.get("DISTRO", ""):
  83. - product_name = self.content_dict["DISTRO"].rsplit(",", 1)[1]
  84. -
  85. - log.debug("SUSE content product_name=%s", product_name)
  86. - return product_name
  87. -
  88. - def _get_product_version(self):
  89. - # Some example fields:
  90. - #
  91. - # opensuse 10.3: VERSION 10.3
  92. - # opensuse 12.3: VERSION 12.3
  93. - # SLES-10-SP4-DVD-x86_64-GM-DVD1.iso: VERSION 10.4-0
  94. - #
  95. - # REPOID obsproduct://build.suse.de/SUSE:SLE-11-SP4:GA/SUSE_SLES/11.4/DVD/x86_64
  96. - # REPOID obsproduct://build.suse.de/SUSE:SLE-12-SP3:GA/SLES/12.3/DVD/aarch64
  97. - #
  98. - # As of 2018 all latest distros match only DISTRO and REPOID.
  99. - if not self.product_name:
  100. - return None # pragma: no cover
  101. -
  102. - distro_version = self.content_dict.get("VERSION", "")
  103. - if "-" in distro_version:
  104. - distro_version = distro_version.split('-', 1)[0]
  105. -
  106. - # Special case, parse version out of a line like this
  107. - # cpe:/o:opensuse:opensuse:13.2,openSUSE
  108. - if (not distro_version and
  109. - re.match("^.*:.*,openSUSE*", self.content_dict["DISTRO"])):
  110. - distro_version = self.content_dict["DISTRO"].rsplit(
  111. - ",", 1)[0].strip().rsplit(":")[4]
  112. - distro_version = distro_version.strip()
  113. -
  114. - if "Enterprise" in self.product_name or "SLES" in self.product_name:
  115. - sle_version = self.product_name.strip().rsplit(' ')[4]
  116. - if len(self.product_name.strip().rsplit(' ')) > 5:
  117. - sle_version = (sle_version + '.' +
  118. - self.product_name.strip().rsplit(' ')[5][2])
  119. - distro_version = sle_version
  120. -
  121. - return distro_version
  122. -
  123. -
  124. def getDistroStore(guest, fetcher, skip_error):
  125. log.debug("Finding distro store for location=%s", fetcher.location)
  126. @@ -400,422 +297,6 @@ class _DistroTree(object):
  127. return self.cache.libosinfo_treeobj
  128. -class _FedoraDistro(_DistroTree):
  129. - PRETTY_NAME = "Fedora"
  130. - matching_distros = ["fedora"]
  131. -
  132. - @classmethod
  133. - def is_valid(cls, cache):
  134. - famregex = ".*Fedora.*"
  135. - return cache.treeinfo_family_regex(famregex)
  136. -
  137. - def _detect_version(self):
  138. - latest_variant = "fedora-unknown"
  139. -
  140. - verstr = self.cache.treeinfo_version
  141. - if not verstr: # pragma: no cover
  142. - log.debug("No treeinfo version? Assume latest_variant=%s",
  143. - latest_variant)
  144. - return latest_variant
  145. -
  146. - # rawhide trees changed to use version=Rawhide in Apr 2016
  147. - if verstr in ["development", "rawhide", "Rawhide"]:
  148. - log.debug("treeinfo version=%s, using latest_variant=%s",
  149. - verstr, latest_variant)
  150. - return latest_variant
  151. -
  152. - # treeinfo version is just an integer
  153. - variant = "fedora" + verstr
  154. - if OSDB.lookup_os(variant):
  155. - return variant
  156. -
  157. - log.debug(
  158. - "variant=%s from treeinfo version=%s not found, "
  159. - "using latest_variant=%s", variant, verstr, latest_variant)
  160. - return latest_variant
  161. -
  162. -
  163. -class _RHELDistro(_DistroTree):
  164. - PRETTY_NAME = "Red Hat Enterprise Linux"
  165. - matching_distros = ["rhel"]
  166. - _variant_prefix = "rhel"
  167. -
  168. - @classmethod
  169. - def is_valid(cls, cache):
  170. - # Matches:
  171. - # Red Hat Enterprise Linux
  172. - # RHEL Atomic Host
  173. - famregex = ".*(Red Hat Enterprise Linux|RHEL).*"
  174. - if cache.treeinfo_family_regex(famregex):
  175. - return True
  176. -
  177. - def _detect_version(self):
  178. - if not self.cache.treeinfo_version: # pragma: no cover
  179. - log.debug("No treeinfo version? Not setting an os_variant")
  180. - return
  181. -
  182. - version, update = self.cache.split_version()
  183. -
  184. - # start with example base=rhel7, then walk backwards
  185. - # through the OS list to find the latest os name that matches
  186. - # this way we handle rhel7.6 from treeinfo when osdict only
  187. - # knows about rhel7.5
  188. - base = self._variant_prefix + str(version)
  189. - while update >= 0:
  190. - tryvar = base + ".%s" % update
  191. - if OSDB.lookup_os(tryvar):
  192. - return tryvar
  193. - update -= 1
  194. -
  195. -
  196. -class _CentOSDistro(_RHELDistro):
  197. - PRETTY_NAME = "CentOS"
  198. - matching_distros = ["centos"]
  199. - _variant_prefix = "centos"
  200. -
  201. - @classmethod
  202. - def is_valid(cls, cache):
  203. - if cache.treeinfo_family_regex(".*CentOS.*"):
  204. - return True
  205. - if cache.treeinfo_family_regex(".*Scientific.*"):
  206. - return True
  207. -
  208. -
  209. -
  210. -class _SuseDistro(_RHELDistro):
  211. - PRETTY_NAME = None
  212. - _suse_regex = []
  213. - matching_distros = []
  214. - _variant_prefix = NotImplementedError
  215. - famregex = NotImplementedError
  216. -
  217. - @classmethod
  218. - def is_valid(cls, cache):
  219. - if cache.treeinfo_family_regex(cls.famregex):
  220. - return True
  221. -
  222. - if not cache.checked_for_suse_content:
  223. - cache.checked_for_suse_content = True
  224. - content_str = cache.acquire_file_content("content")
  225. - if content_str is None:
  226. - return False
  227. -
  228. - try:
  229. - cache.suse_content = _SUSEContent(content_str)
  230. - except Exception as e: # pragma: no cover
  231. - log.debug("Error parsing SUSE content file: %s", str(e))
  232. - return False
  233. -
  234. - if not cache.suse_content:
  235. - return False
  236. - for regex in cls._suse_regex:
  237. - if re.match(regex, cache.suse_content.product_name or ""):
  238. - return True
  239. - return False
  240. -
  241. - def _set_manual_kernel_paths(self):
  242. - # We only reach here if no treeinfo was matched
  243. - tree_arch = self.cache.suse_content.tree_arch
  244. -
  245. - if re.match(r'i[4-9]86', tree_arch):
  246. - tree_arch = 'i386'
  247. -
  248. - oldkern = "linux"
  249. - oldinit = "initrd"
  250. - if tree_arch == "x86_64":
  251. - oldkern += "64"
  252. - oldinit += "64"
  253. -
  254. - if self.type == "xen":
  255. - # Matches Opensuse > 10.2 and sles 10
  256. - self._kernel_paths.append(
  257. - ("boot/%s/vmlinuz-xen" % tree_arch,
  258. - "boot/%s/initrd-xen" % tree_arch))
  259. -
  260. - if str(self._os_variant).startswith(("sles11", "sled11")):
  261. - if tree_arch == "s390x":
  262. - self._kernel_paths.append(
  263. - ("boot/s390x/vmrdr.ikr", "boot/s390x/initrd"))
  264. - if tree_arch == "ppc64":
  265. - self._kernel_paths.append(
  266. - ("suseboot/linux64", "suseboot/initrd64"))
  267. -
  268. - # Tested with SLES 12 for ppc64le, all s390x
  269. - self._kernel_paths.append(
  270. - ("boot/%s/linux" % tree_arch,
  271. - "boot/%s/initrd" % tree_arch))
  272. - # Tested with Opensuse 10.0
  273. - self._kernel_paths.append(
  274. - ("boot/loader/%s" % oldkern,
  275. - "boot/loader/%s" % oldinit))
  276. - # Tested with Opensuse >= 10.2, 11, and sles 10
  277. - self._kernel_paths.append(
  278. - ("boot/%s/loader/linux" % tree_arch,
  279. - "boot/%s/loader/initrd" % tree_arch))
  280. -
  281. - def _detect_osdict_from_suse_content(self):
  282. - if not self.cache.suse_content:
  283. - return # pragma: no cover
  284. -
  285. - distro_version = self.cache.suse_content.product_version
  286. - if not distro_version:
  287. - return # pragma: no cover
  288. -
  289. - version = distro_version.split('.', 1)[0].strip()
  290. -
  291. - if str(self._variant_prefix).startswith(("sles", "sled")):
  292. - sp_version = ""
  293. - if len(distro_version.split('.', 1)) == 2:
  294. - sp_version = 'sp' + distro_version.split('.', 1)[1].strip()
  295. -
  296. - return self._variant_prefix + version + sp_version
  297. -
  298. - return self._variant_prefix + distro_version
  299. -
  300. - def _detect_osdict_from_url(self):
  301. - root = "opensuse"
  302. - oses = [n for n in OSDB.list_os() if n.name.startswith(root)]
  303. -
  304. - for osobj in oses:
  305. - codename = osobj.name[len(root):]
  306. - if re.search("/%s/" % codename, self.uri):
  307. - return osobj.name
  308. -
  309. - def _detect_from_treeinfo(self):
  310. - if not self.cache.treeinfo_name:
  311. - return
  312. - if re.search("openSUSE Tumbleweed", self.cache.treeinfo_name):
  313. - return "opensusetumbleweed"
  314. -
  315. - version, update = self.cache.split_version()
  316. - base = self._variant_prefix + str(version)
  317. - while update >= 0:
  318. - tryvar = base
  319. - # SLE doesn't use '.0' for initial releases in
  320. - # osinfo-db (sles11, sles12, etc)
  321. - if update > 0 or not base.startswith('sle'):
  322. - tryvar += ".%s" % update
  323. - if OSDB.lookup_os(tryvar):
  324. - return tryvar
  325. - update -= 1
  326. -
  327. - def _detect_version(self):
  328. - var = self._detect_from_treeinfo()
  329. - if not var:
  330. - var = self._detect_osdict_from_url()
  331. - if not var:
  332. - var = self._detect_osdict_from_suse_content()
  333. - return var
  334. -
  335. -
  336. -class _SLESDistro(_SuseDistro):
  337. - PRETTY_NAME = "SLES"
  338. - matching_distros = ["sles"]
  339. - _variant_prefix = "sles"
  340. - _suse_regex = [".*SUSE Linux Enterprise Server*", ".*SUSE SLES*"]
  341. - famregex = ".*SUSE Linux Enterprise.*"
  342. -
  343. -
  344. -class _SLEDDistro(_SuseDistro):
  345. - PRETTY_NAME = "SLED"
  346. - matching_distros = ["sled"]
  347. - _variant_prefix = "sled"
  348. - _suse_regex = [".*SUSE Linux Enterprise Desktop*"]
  349. - famregex = ".*SUSE Linux Enterprise.*"
  350. -
  351. -
  352. -class _OpensuseDistro(_SuseDistro):
  353. - PRETTY_NAME = "openSUSE"
  354. - matching_distros = ["opensuse"]
  355. - _variant_prefix = "opensuse"
  356. - _suse_regex = [".*openSUSE.*"]
  357. - famregex = ".*openSUSE.*"
  358. -
  359. -
  360. -class _DebianDistro(_DistroTree):
  361. - # ex. http://ftp.egr.msu.edu/debian/dists/sarge/main/installer-i386/
  362. - # daily builds: https://d-i.debian.org/daily-images/amd64/
  363. - PRETTY_NAME = "Debian"
  364. - matching_distros = ["debian"]
  365. - _debname = "debian"
  366. -
  367. - @classmethod
  368. - def is_valid(cls, cache):
  369. - def check_manifest(mfile):
  370. - is_ubuntu = cls._debname == "ubuntu"
  371. - if cache.content_regex(mfile, ".*[Uu]buntu.*"):
  372. - return is_ubuntu
  373. - return cache.content_regex(mfile, ".*[Dd]ebian.*")
  374. -
  375. - media_type = None
  376. - if check_manifest("current/images/MANIFEST"):
  377. - media_type = "url"
  378. - elif check_manifest("current/legacy-images/MANIFEST"):
  379. - media_type = "legacy_url"
  380. - elif check_manifest("daily/MANIFEST"):
  381. - media_type = "daily"
  382. - elif cache.content_regex(".disk/info",
  383. - "%s.*" % cls._debname.capitalize()):
  384. - # There's two cases here:
  385. - # 1) Direct access ISO, attached as CDROM afterwards. We
  386. - # use one set of kernels in that case which seem to
  387. - # assume the prescence of CDROM media
  388. - # 2) ISO mounted and exported over URL. We use a different
  389. - # set of kernels that expect to boot from the network
  390. - if cache.fetcher_is_iso():
  391. - media_type = "disk"
  392. - else:
  393. - media_type = "mounted_iso_url"
  394. -
  395. - if media_type:
  396. - cache.debian_media_type = media_type
  397. - return bool(media_type)
  398. -
  399. -
  400. - def _set_manual_kernel_paths(self):
  401. - if self.cache.debian_media_type == "disk":
  402. - self._set_installcd_paths()
  403. - else:
  404. - self._set_url_paths()
  405. -
  406. -
  407. - def _find_treearch(self):
  408. - for pattern in [r"^.*/installer-(\w+)/?$",
  409. - r"^.*/daily-images/(\w+)/?$"]:
  410. - arch = re.findall(pattern, self.uri)
  411. - if not arch:
  412. - continue
  413. - log.debug("Found pattern=%s treearch=%s in uri",
  414. - pattern, arch[0])
  415. - return arch[0]
  416. -
  417. - # Check for standard arch strings which will be
  418. - # in the URI name for --location $ISO mounts
  419. - for arch in ["i386", "amd64", "x86_64", "arm64"]:
  420. - if arch in self.uri:
  421. - log.debug("Found treearch=%s in uri", arch)
  422. - if arch == "x86_64":
  423. - arch = "amd64" # pragma: no cover
  424. - return arch
  425. -
  426. - # Otherwise default to i386
  427. - arch = "i386"
  428. - log.debug("No treearch found in uri, defaulting to arch=%s", arch)
  429. - return arch
  430. -
  431. - def _set_url_paths(self):
  432. - url_prefix = "current/images"
  433. - if self.cache.debian_media_type == "daily":
  434. - url_prefix = "daily"
  435. - elif self.cache.debian_media_type == "mounted_iso_url":
  436. - url_prefix = "install"
  437. - elif self.cache.debian_media_type == "legacy_url":
  438. - url_prefix = "current/legacy-images"
  439. -
  440. - tree_arch = self._find_treearch()
  441. - hvmroot = "%s/netboot/%s-installer/%s/" % (url_prefix,
  442. - self._debname, tree_arch)
  443. - initrd_basename = "initrd.gz"
  444. - kernel_basename = "linux"
  445. - if tree_arch in ["ppc64el"]:
  446. - kernel_basename = "vmlinux"
  447. -
  448. - if tree_arch == "s390x":
  449. - hvmroot = "%s/generic/" % url_prefix
  450. - kernel_basename = "kernel.%s" % self._debname
  451. - initrd_basename = "initrd.%s" % self._debname
  452. -
  453. -
  454. - if self.type == "xen":
  455. - xenroot = "%s/netboot/xen/" % url_prefix
  456. - self._kernel_paths.append(
  457. - (xenroot + "vmlinuz", xenroot + "initrd.gz"))
  458. - self._kernel_paths.append(
  459. - (hvmroot + kernel_basename, hvmroot + initrd_basename))
  460. -
  461. - def _set_installcd_paths(self):
  462. - if self._debname == "ubuntu":
  463. - if not self.arch == "s390x":
  464. - kpair = ("install/vmlinuz", "install/initrd.gz")
  465. - else:
  466. - kpair = ("boot/kernel.ubuntu", "boot/initrd.ubuntu")
  467. - elif self.arch == "x86_64":
  468. - kpair = ("install.amd/vmlinuz", "install.amd/initrd.gz")
  469. - elif self.arch == "i686":
  470. - kpair = ("install.386/vmlinuz", "install.386/initrd.gz")
  471. - elif self.arch == "aarch64":
  472. - kpair = ("install.a64/vmlinuz", "install.a64/initrd.gz")
  473. - elif self.arch == "ppc64le":
  474. - kpair = ("install/vmlinux", "install/initrd.gz")
  475. - elif self.arch == "s390x":
  476. - kpair = ("boot/linux_vm", "boot/root.bin")
  477. - else:
  478. - kpair = ("install/vmlinuz", "install/initrd.gz")
  479. - self._kernel_paths += [kpair]
  480. - return True
  481. -
  482. - def _detect_version(self):
  483. - oses = [n for n in OSDB.list_os() if n.name.startswith(self._debname)]
  484. -
  485. - if self.cache.debian_media_type == "daily":
  486. - log.debug("Appears to be debian 'daily' URL, using latest "
  487. - "debian OS")
  488. - return oses[0].name
  489. -
  490. - for osobj in oses:
  491. - if osobj.codename:
  492. - # Ubuntu codenames look like 'Warty Warthog'
  493. - codename = osobj.codename.split()[0].lower()
  494. - else:
  495. - if " " not in osobj.label:
  496. - continue # pragma: no cover
  497. - # Debian labels look like 'Debian Sarge'
  498. - codename = osobj.label.split()[1].lower()
  499. -
  500. - if ("/%s/" % codename) in self.uri:
  501. - log.debug("Found codename=%s in the URL string", codename)
  502. - return osobj.name
  503. -
  504. -
  505. -class _UbuntuDistro(_DebianDistro):
  506. - # https://archive.ubuntu.com/ubuntu/dists/natty/main/installer-amd64/
  507. - PRETTY_NAME = "Ubuntu"
  508. - matching_distros = ["ubuntu"]
  509. - _debname = "ubuntu"
  510. -
  511. -
  512. -class _MageiaDistro(_DistroTree):
  513. - # https://distro.ibiblio.org/mageia/distrib/cauldron/x86_64/
  514. - PRETTY_NAME = "Mageia"
  515. - matching_distros = ["mageia"]
  516. -
  517. - @classmethod
  518. - def is_valid(cls, cache):
  519. - if not cache.mageia_version:
  520. - content = cache.acquire_file_content("VERSION")
  521. - if not content:
  522. - return False
  523. -
  524. - m = re.match(r"^Mageia (\d+) .*", content)
  525. - if not m:
  526. - return False # pragma: no cover
  527. -
  528. - cache.mageia_version = m.group(1)
  529. -
  530. - return bool(cache.mageia_version)
  531. -
  532. - def _set_manual_kernel_paths(self):
  533. - self._kernel_paths += [
  534. - ("isolinux/%s/vmlinuz" % self.arch,
  535. - "isolinux/%s/all.rdz" % self.arch)]
  536. -
  537. - def _detect_version(self):
  538. - # version is just an integer
  539. - variant = "mageia" + self.cache.mageia_version
  540. - if OSDB.lookup_os(variant):
  541. - return variant
  542. -
  543. -
  544. class _GenericTreeinfoDistro(_DistroTree):
  545. """
  546. Generic catchall class for .treeinfo using distros
  547. @@ -855,15 +336,6 @@ def _build_distro_list(osobj):
  548. allstores = [
  549. # Libosinfo takes priority
  550. _LibosinfoDistro,
  551. - _FedoraDistro,
  552. - _RHELDistro,
  553. - _CentOSDistro,
  554. - _SLESDistro,
  555. - _SLEDDistro,
  556. - _OpensuseDistro,
  557. - _DebianDistro,
  558. - _UbuntuDistro,
  559. - _MageiaDistro,
  560. # Always stick GenericDistro at the end, since it's a catchall
  561. _GenericTreeinfoDistro,
  562. ]
  563. diff --git a/virtinst/osdict.py b/virtinst/osdict.py
  564. index 3be1d10..3be0747 100644
  565. --- a/virtinst/osdict.py
  566. +++ b/virtinst/osdict.py
  567. @@ -132,49 +132,8 @@ class _OSDB(object):
  568. # This is only for back compatibility with pre-libosinfo support.
  569. # This should never change.
  570. _aliases = {
  571. - "altlinux": "altlinux1.0",
  572. - "debianetch": "debian4",
  573. - "debianlenny": "debian5",
  574. - "debiansqueeze": "debian6",
  575. - "debianwheezy": "debian7",
  576. - "freebsd10": "freebsd10.0",
  577. - "freebsd6": "freebsd6.0",
  578. - "freebsd7": "freebsd7.0",
  579. - "freebsd8": "freebsd8.0",
  580. - "freebsd9": "freebsd9.0",
  581. - "mandriva2009": "mandriva2009.0",
  582. - "mandriva2010": "mandriva2010.0",
  583. - "mbs1": "mbs1.0",
  584. - "msdos": "msdos6.22",
  585. - "openbsd4": "openbsd4.2",
  586. - "opensolaris": "opensolaris2009.06",
  587. - "opensuse11": "opensuse11.4",
  588. - "opensuse12": "opensuse12.3",
  589. - "rhel4": "rhel4.0",
  590. - "rhel5": "rhel5.0",
  591. - "rhel6": "rhel6.0",
  592. - "rhel7": "rhel7.0",
  593. - "ubuntuhardy": "ubuntu8.04",
  594. - "ubuntuintrepid": "ubuntu8.10",
  595. - "ubuntujaunty": "ubuntu9.04",
  596. - "ubuntukarmic": "ubuntu9.10",
  597. - "ubuntulucid": "ubuntu10.04",
  598. - "ubuntumaverick": "ubuntu10.10",
  599. - "ubuntunatty": "ubuntu11.04",
  600. - "ubuntuoneiric": "ubuntu11.10",
  601. - "ubuntuprecise": "ubuntu12.04",
  602. - "ubuntuquantal": "ubuntu12.10",
  603. - "ubunturaring": "ubuntu13.04",
  604. - "ubuntusaucy": "ubuntu13.10",
  605. - "virtio26": "fedora10",
  606. - "vista": "winvista",
  607. - "winxp64": "winxp",
  608. -
  609. # Old --os-type values
  610. "linux": "generic",
  611. - "windows": "winxp",
  612. - "solaris": "solaris10",
  613. - "unix": "freebsd9.0",
  614. "other": "generic",
  615. }