libre.patch 22 KB

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