From 66dc2e7ea7011ae63e1d404ebffeaa7782a7f2f5 Mon Sep 17 00:00:00 2001 From: Daniel Narvaez Date: Wed, 14 Nov 2012 15:32:49 +0000 Subject: Refactor check-system to use a devbot module This is necessary to be able to share code, all the commands will be gradually refactored to follow this pattern. --- (limited to 'devbot/distro.py') diff --git a/devbot/distro.py b/devbot/distro.py new file mode 100644 index 0000000..34f54bc --- /dev/null +++ b/devbot/distro.py @@ -0,0 +1,47 @@ +import subprocess + +def get_system_version(): + name, version = _get_distro_info() + if (name == "ubuntu" and version == "12.10") or \ + (name == "fedora" and version == "18"): + return "3.6" + else: + return "3.4" + +def get_distro_name(): + name, version = _get_distro_info() + return name + +def _get_distro_info(): + distro = "unsupported" + version = "unknown" + + # Fedora + try: + fedora_release = open("/etc/fedora-release").read().strip() + if fedora_release == "Fedora release 17 (Beefy Miracle)": + distro = "fedora" + version = "17" + elif fedora_release == "Fedora release 18 (Spherical Cow)": + distro = "fedora" + version = "18" + except IOError: + pass + + # Ubuntu + try: + distributor = subprocess.check_output(["lsb_release", "-si"]).strip() + release = subprocess.check_output(["lsb_release", "-sr"]).strip() + + if distributor == "Ubuntu" and release == "12.10": + distro = "ubuntu" + version = "12.10" + except OSError: + pass + + arch = subprocess.check_output(["uname", "-i"]).strip() + if arch not in ["i386", "i686", "x86_64"]: + distro = "unsupported" + version = "unknown" + + return distro, version -- cgit v0.9.1