Beispiel #1
0
            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
Beispiel #2
0
    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)
Beispiel #3
0
                    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
Beispiel #4
0
            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
Beispiel #5
0
                    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
Beispiel #6
0
        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)
Beispiel #7
0
#
#    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
Beispiel #8
0
        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":
Beispiel #9
0
            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":