Exemplo n.º 1
0
    def freeze(self, deps):
        """ Return a new Recipe with full module and package NEVRA

        :param deps: A list of dependency NEVRA to use to fill in the modules and packages
        :type deps: list(
        :returns: A new Recipe object
        :rtype: Recipe
        """
        module_names = self.module_names
        package_names = self.package_names
        group_names = self.group_names

        new_modules = []
        new_packages = []
        new_groups = []
        for dep in deps:
            if dep["name"] in package_names:
                new_packages.append(RecipePackage(dep["name"], dep_evra(dep)))
            elif dep["name"] in module_names:
                new_modules.append(RecipeModule(dep["name"], dep_evra(dep)))
            elif dep["name"] in group_names:
                new_groups.append(RecipeGroup(dep["name"]))
        if "customizations" in self:
            customizations = self["customizations"]
        else:
            customizations = None
        if "repos" in self and "git" in self["repos"]:
            gitrepos = self["repos"]["git"]
        else:
            gitrepos = None

        return Recipe(self["name"], self["description"], self["version"],
                      new_modules, new_packages, new_groups, customizations, gitrepos)
Exemplo n.º 2
0
 def test_dep_evra_with_epoch_not_zero(self):
     dep = {"arch": "x86_64",
            "epoch": 2,
            "name": "tog-pegasus-libs",
            "release": "3.el7",
            "version": "2.14.1"}
     self.assertEqual(dep_evra(dep), "2:2.14.1-3.el7.x86_64")
Exemplo n.º 3
0
 def test_dep_evra(self):
     dep = {"arch": "noarch",
            "epoch": 0,
            "name": "basesystem",
            "release": "7.el7",
            "version": "10.0"}
     self.assertEqual(dep_evra(dep), "10.0-7.el7.noarch")