From 5dcf454dacb1a104fea90735f9a0fa2d76854faf Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Mon, 26 Nov 2012 11:59:04 +0000 Subject: Add a DistroInfo class --- (limited to 'devbot/plugins') 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() -- cgit v0.9.1