diff options
author | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-11-26 11:59:04 (GMT) |
---|---|---|
committer | Daniel Narvaez <dwnarvaez@gmail.com> | 2012-11-26 11:59:04 (GMT) |
commit | 5dcf454dacb1a104fea90735f9a0fa2d76854faf (patch) | |
tree | 2323715ae506fcf2627c7fbaabc7d072c387ab3d /devbot/plugins | |
parent | c5709d02c5bc52e06862c14df8df4fc764f30d09 (diff) |
Add a DistroInfo class
Diffstat (limited to 'devbot/plugins')
-rw-r--r-- | devbot/plugins/fedora.py | 30 | ||||
-rw-r--r-- | devbot/plugins/ubuntu.py | 25 |
2 files changed, 55 insertions, 0 deletions
diff --git a/devbot/plugins/fedora.py b/devbot/plugins/fedora.py index fe12997..cd0288d 100644 --- a/devbot/plugins/fedora.py +++ b/devbot/plugins/fedora.py @@ -79,3 +79,33 @@ class PackageManager: self._find_deps(dep_package, result) distro.register_package_manager("fedora", PackageManager) + +class DistroInfo: + def __init__(self): + self.use_lib64 = os.uname()[4] == "x86_64" + + arch = subprocess.check_output(["uname", "-i"]).strip() + + self.name = "fedora" + self.version = None + self.system_version = None + self.valid = False + + if arch in ["i386", "i686", "x86_64"]: + fedora_release = self._get_fedora_release() + if fedora_release == "Fedora release 17 (Beefy Miracle)": + self.version = "17" + self.system_version = "3.4" + self.valid = True + elif fedora_release == "Fedora release 18 (Spherical Cow)": + self.version = "18" + self.system_version = "3.6" + self.valid = True + + def _get_fedora_release(self): + try: + return open("/etc/fedora-release").read().strip() + except OSError: + return None + +distro.register_distro_info(DistroInfo) diff --git a/devbot/plugins/ubuntu.py b/devbot/plugins/ubuntu.py index 9cc210d..693a227 100644 --- a/devbot/plugins/ubuntu.py +++ b/devbot/plugins/ubuntu.py @@ -80,3 +80,28 @@ class PackageManager: return result distro.register_package_manager("ubuntu", PackageManager) + +class DistroInfo: + def __init__(self): + self.name = None + self.version = None + self.system_version = None + self.valid = False + self.use_lib64 = False + + if arch in ["i386", "i686", "x86_64"]: + try: + if self._get_distributor() == "Ubuntu" and \ + self._get_release() == "12.10": + self.name = "ubuntu" + self.version = "12.10" + self.system_version = "3.6" + self.valid = True + except OSError: + pass + + def _get_distributor(self): + return subprocess.check_output(["lsb_release", "-si"]).strip() + + def _get_release(self): + return subprocess.check_output(["lsb_release", "-sr"]).strip() |