Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/devbot/plugins
diff options
context:
space:
mode:
authorDaniel Narvaez <dwnarvaez@gmail.com>2012-11-26 11:59:04 (GMT)
committer Daniel Narvaez <dwnarvaez@gmail.com>2012-11-26 11:59:04 (GMT)
commit5dcf454dacb1a104fea90735f9a0fa2d76854faf (patch)
tree2323715ae506fcf2627c7fbaabc7d072c387ab3d /devbot/plugins
parentc5709d02c5bc52e06862c14df8df4fc764f30d09 (diff)
Add a DistroInfo class
Diffstat (limited to 'devbot/plugins')
-rw-r--r--devbot/plugins/fedora.py30
-rw-r--r--devbot/plugins/ubuntu.py25
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()