print("Package %s not installed" % package) return print('_find_deps') # FIXME: This command is horrifying f = os.popen("""equery --quiet list {0} | xargs equery --no-color --quiet depgraph -UAMl | perl -pe 's/\[.*?\]\s+(.*?\/.*?)(-[0-9].*)?$/\1/' | tail -n +2""".format(package)) dependencies = f.read().strip().split() for dep in dependencies: if dep not in result: result.append(dep) distro.register_package_manager("gentoo", PackageManager) class DistroInfo(interfaces.DistroInfo): _GENTOO_RELEASE_PATH = "/etc/gentoo-release" def __init__(self): arch = self._get_architecture() gnome_version = subprocess.check_output( ["gnome-about", "--gnome-version"]) gnome_version = gnome_version.split()[1].strip() self.name = "gentoo" self.version = None self.gnome_version = gnome_version
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.valid = True self.supported = False distro.register_distro_info(DistroInfo)
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.valid = True self.supported = (arch in ["i686", "x86_64"]) self.lib_dir = None
print("Package %s not installed" % package) return print('_find_deps') # FIXME: This command is horrifying f = os.popen("""equery --quiet list {0} | xargs equery --no-color --quiet depgraph -UAMl | perl -pe 's/\[.*?\]\s+(.*?\/.*?)(-[0-9].*)?$/\1/' | tail -n +2""".format(package)) dependencies = f.read().strip().split() for dep in dependencies: if dep not in result: result.append(dep) distro.register_package_manager("gentoo", PackageManager) class DistroInfo(interfaces.DistroInfo): _GENTOO_RELEASE_PATH = "/etc/gentoo-release" def __init__(self): arch = self._get_architecture() gnome_version = subprocess.check_output(["gnome-about", "--gnome-version"]) gnome_version = gnome_version.split()[1].strip() self.name = "gentoo" self.version = None self.gnome_version = gnome_version
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.valid = True self.supported = (arch in ["i686", "x86_64"]) self.lib_dir = None
pass 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.valid = True self.supported = False distro.register_distro_info(DistroInfo)
# # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import subprocess from osbuild import distro from osbuild.plugins import interfaces from osbuild.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.valid = True self.supported = (arch in ["i386", "i686", "x86_64"]) self.lib_dir = None
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.valid = True self.supported = (arch in ["i386", "i686", "x86_64"]) self.lib_dir = None if arch == "x86_64":
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.valid = True self.supported = (arch in ["i386", "i686", "x86_64"]) self.lib_dir = None if arch == "x86_64":