Add .treeinfo detection. At some point the SLE15 media will have this.
OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=366
This commit is contained in:
parent
9fa3d17bf8
commit
535f36cb25
@ -24,13 +24,15 @@ Index: virt-manager-1.4.2/virtinst/urlfetcher.py
|
|||||||
else:
|
else:
|
||||||
self.os_variant += "9"
|
self.os_variant += "9"
|
||||||
|
|
||||||
@@ -1090,6 +1096,9 @@ class SuseDistro(Distro):
|
@@ -1098,6 +1104,11 @@ class SLESDistro(SuseDistro):
|
||||||
return osobj.name
|
class SLEDDistro(SuseDistro):
|
||||||
return self.os_variant
|
urldistro = "sled"
|
||||||
|
|
||||||
|
+
|
||||||
+class CAASPDistro(SuseDistro):
|
+class CAASPDistro(SuseDistro):
|
||||||
+ urldistro = "caasp"
|
+ urldistro = "caasp"
|
||||||
+
|
+
|
||||||
|
+
|
||||||
|
class OESDistro(SuseDistro):
|
||||||
|
urldistro = "oes"
|
||||||
|
|
||||||
class SLESDistro(SuseDistro):
|
|
||||||
urldistro = "sles"
|
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
References: bsc#1054986
|
References: bsc#1054986
|
||||||
With SLE15 and openSUSE 15 the content file has been removed from the media.
|
With SLE15 and openSUSE 15 the content file has been removed from the media.
|
||||||
This file was used for SUSE distro version and arch detection. Now detection
|
This file was used for SUSE distro version and arch detection. Now detection
|
||||||
must be done by parsing the media.1/products file for distro version and the
|
must be done by parsing the .treeinfo file.
|
||||||
media.1/build file for the arch. The media.1/products and media.1/build files
|
We must continue to keep the content parsing code for the older distros.
|
||||||
have always been around so the entire _distroFromSUSEContent could be rewritten
|
As a fallback, detection is also setup to look at the media.1/products and
|
||||||
(and simplified) to only check them. The products file format did change
|
media.1/build files.
|
||||||
between 11-SP4 and 12. SLE10 has no build file.
|
|
||||||
|
|
||||||
Index: virt-manager-1.4.2/virtinst/urlfetcher.py
|
Index: virt-manager-1.4.2/virtinst/urlfetcher.py
|
||||||
===================================================================
|
===================================================================
|
||||||
@ -52,7 +51,15 @@ Index: virt-manager-1.4.2/virtinst/urlfetcher.py
|
|||||||
dclass = OpensuseDistro
|
dclass = OpensuseDistro
|
||||||
if distro_version is None:
|
if distro_version is None:
|
||||||
distro_version = ['VERSION', distribution[0].strip().rsplit(':')[4]]
|
distro_version = ['VERSION', distribution[0].strip().rsplit(':')[4]]
|
||||||
@@ -1040,8 +1054,11 @@ class SuseDistro(Distro):
|
@@ -1003,6 +1017,7 @@ class SLDistro(RHELDistro):
|
||||||
|
|
||||||
|
class SuseDistro(Distro):
|
||||||
|
name = "SUSE"
|
||||||
|
+ uses_treeinfo = True
|
||||||
|
|
||||||
|
_boot_iso_paths = ["boot/boot.iso"]
|
||||||
|
|
||||||
|
@@ -1040,8 +1055,11 @@ class SuseDistro(Distro):
|
||||||
self._xen_kernel_paths = [("boot/%s/vmlinuz-xenpae" % self.arch,
|
self._xen_kernel_paths = [("boot/%s/vmlinuz-xenpae" % self.arch,
|
||||||
"boot/%s/initrd-xenpae" % self.arch)]
|
"boot/%s/initrd-xenpae" % self.arch)]
|
||||||
else:
|
else:
|
||||||
@ -66,3 +73,45 @@ Index: virt-manager-1.4.2/virtinst/urlfetcher.py
|
|||||||
|
|
||||||
def _variantFromVersion(self):
|
def _variantFromVersion(self):
|
||||||
distro_version = self.version_from_content[1].strip()
|
distro_version = self.version_from_content[1].strip()
|
||||||
|
@@ -1053,7 +1071,7 @@ class SuseDistro(Distro):
|
||||||
|
if len(distro_version.split('.', 1)) == 2:
|
||||||
|
sp_version = 'sp' + distro_version.split('.', 1)[1].strip()
|
||||||
|
self.os_variant += version
|
||||||
|
- if sp_version:
|
||||||
|
+ if sp_version and sp_version != 'sp0':
|
||||||
|
self.os_variant += sp_version
|
||||||
|
elif self.os_variant.startswith("opensuse"):
|
||||||
|
if len(version) == 8:
|
||||||
|
@@ -1077,6 +1095,23 @@ class SuseDistro(Distro):
|
||||||
|
self.os_variant += "9"
|
||||||
|
|
||||||
|
def isValidStore(self):
|
||||||
|
+ if self.treeinfo:
|
||||||
|
+ ret = False
|
||||||
|
+ if self.urldistro:
|
||||||
|
+ family = self.treeinfo.get("general", "family")
|
||||||
|
+ if "SUSE Linux Enterprise Server" in family and 'sles' in self.urldistro or \
|
||||||
|
+ "SUSE Linux Enterprise Desktop" in family and 'sled' in self.urldistro or \
|
||||||
|
+ "SUSE Containers" in family and 'caasp' in self.urldistro or \
|
||||||
|
+ "openSUSE" in family and 'opensuse' in self.urldistro or \
|
||||||
|
+ "Open Enterprise" in family and 'oes' in self.urldistro:
|
||||||
|
+ ret = True
|
||||||
|
+ if ret:
|
||||||
|
+ version = self.treeinfo.get("general", "version")
|
||||||
|
+ distro_version = ['VERSION', version]
|
||||||
|
+ self.version_from_content = distro_version
|
||||||
|
+ self._variantFromVersion()
|
||||||
|
+ return ret
|
||||||
|
+
|
||||||
|
# self.version_from_content is the VERSION line from the contents file
|
||||||
|
if (not self.version_from_content or
|
||||||
|
self.version_from_content[1] is None):
|
||||||
|
@@ -1128,8 +1163,6 @@ class OESDistro(SuseDistro):
|
||||||
|
urldistro = "oes"
|
||||||
|
|
||||||
|
|
||||||
|
-# Suse image store is harder - we fetch the kernel RPM and a helper
|
||||||
|
-# RPM and then munge bits together to generate a initrd
|
||||||
|
class OpensuseDistro(SuseDistro):
|
||||||
|
urldistro = "opensuse"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user