import subprocess from devbot import distro from devbot.plugins import interfaces from devbot.plugins import debian distro.register_package_manager("ubuntu", debian.PackageManager) class DistroInfo(interfaces.DistroInfo): _OS_RELEASE_PATH = "/etc/os-release" def __init__(self): arch = self._get_architecture() self.name = "ubuntu" self.version = "unknown" self.gnome_version = "3.4" self.gstreamer_version = "1.0" self.valid = True self.supported = (arch in ["i386", "i686", "x86_64"]) self.lib_dir = None if arch in ["i386", "i686"]: self.lib_dir = "lib/i386-linux-gnu" elif arch == "x86_64": self.lib_dir = "lib/x86_64-linux-gnu" os_info = {} try:
result.append(dependency_name) self._find_deps(dependency_name, result) def find_with_deps(self, package_names): result = [] for package in package_names: if package is not None: self._find_deps(package, result) if package not in result: result.append(package) return result distro.register_package_manager("debian", PackageManager) class DistroInfo(interfaces.DistroInfo): _DEBIAN_VERSION_PATH = "/etc/debian_version" def __init__(self): arch = self._get_architecture() self.name = "debian" self.version = "unknown" self.gnome_version = "3.4" self.gstreamer_version = "0.10" self.valid = True self.supported = (arch in ["i686", "x86_64"]) self.lib_dir = None
def install_packages(self, packages): pass def remove_packages(self, packages): pass def update(self): pass def find_all(self): return [] def find_with_deps(self, packages): return [] distro.register_package_manager("unknown", PackageManager) class DistroInfo(interfaces.DistroInfo): def __init__(self): self.lib_dir = None self.name = "unknown" self.version = "unknown" self.gnome_version = "3.4" self.gstreamer_version = "0.10" self.valid = True self.supported = False distro.register_distro_info(DistroInfo)
filtered = [cap for cap in capabilities.split(" ") if not cap.startswith("rpmlib")] if capabilities and filtered: args = ["rpm", "-q", "--queryformat=[%{NAME} ]", "--whatprovides"] args.extend(filtered) deps_packages = subprocess.check_output(args).strip() for dep_package in deps_packages.split(" "): if dep_package not in result: result.append(dep_package) self._find_deps(dep_package, result) distro.register_package_manager("fedora", PackageManager) class DistroInfo(interfaces.DistroInfo): _FEDORA_RELEASE_PATH = "/etc/fedora-release" def __init__(self): arch = self._get_architecture() self.name = "fedora" self.version = "unknown" self.gnome_version = "3.6" self.gstreamer_version = "1.0" self.valid = True self.supported = (arch in ["i386", "i686", "x86_64"]) self.lib_dir = None