예제 #1
0
    def find_all_packages(self, repo):
        self.missing_packages = []
        self.missing_components = []
        packages = []

        def collect(name):
            if name not in repo.packages:
                if name not in self.missing_packages:
                    self.missing_packages.append(name)
                return
            p = repo.packages[name]
            if name in packages:
                return
            packages.append(name)
            for dep in p.depends:
                collect(dep)

        for component in self.selected_components:
            if component not in repo.components:
                if component not in self.missing_components:
                    self.missing_components.append(component)
                return
            for package in repo.components[component]:
                collect(package)

        for package in self.selected_packages:
            collect(package)
        packages.sort()
        self.all_packages = packages
예제 #2
0
    def find_all_packages(self, repo):
        self.missing_packages = []
        self.missing_components = []
        packages = []
        def collect(name):
            if name not in repo.packages:
                if name not in self.missing_packages:
                    self.missing_packages.append(name)
                return
            p = repo.packages[name]
            if name in packages:
                return
            packages.append(name)
            for dep in p.depends:
                collect(dep)
        for component in self.selected_components:
            if component not in repo.components:
                if component not in self.missing_components:
                    self.missing_components.append(component)
                return
            for package in repo.components[component]:
                collect(package)

        for package in self.selected_packages:
            collect(package)
        packages.sort()
        self.all_packages = packages
예제 #3
0
파일: project.py 프로젝트: Tayyib/uludag
    def find_all_packages(self, repo):
        self.missing_packages = []
        self.missing_components = []
        packages = []
        self.all_packages = []

        def collect(name):
            if name not in repo.packages:
                if name not in self.missing_packages:
                    self.missing_packages.append(name)
                return
            p = repo.packages[name]
            if name in packages:
                return
            packages.append(name)
            for dep in p.depends:
                collect(dep)

        if self.package_collections:
            for collection in self.package_collections:
                packages = []
                for component in collection.packageSelection.selectedComponents:
                    if component not in repo.components:
                        if component not in self.missing_components:
                            self.missing_components.append(component)
                        return
                    for package in repo.components[component]:
                        collect(package)

                for package in collection.packageSelection.selectedPackages:
                    collect(package)

                packages.sort()
                collection.packageSelection.allPackages = packages
            #self.all_packages.extend(packages)
        else:
            for component in self.selected_components:
                if component not in repo.components:
                    if component not in self.missing_components:
                        self.missing_components.append(component)
                    return
                for package in repo.components[component]:
                    collect(package)

            for package in self.selected_packages:
                collect(package)

            packages.sort()
            self.all_packages = packages

        self.all_packages.sort()
예제 #4
0
파일: project.py 프로젝트: Tayyib/uludag
 def find_all_packages(self, repo):
     packages = []
     def collect(name):
         p = repo.packages[name]
         if name in packages:
             return
         packages.append(name)
         for dep in p.depends:
             collect(dep)
     for component in self.selected_components:
         for package in repo.components[component]:
             collect(package)
     for package in self.selected_packages:
         collect(package)
     packages.sort()
     self.all_packages = packages
예제 #5
0
    def find_all_packages(self, repo):
        self.missing_packages = []
        self.missing_components = []
        packages = []
        self.all_packages = []

        def collect(name):
            if name not in repo.packages:
                if name not in self.missing_packages:
                    self.missing_packages.append(name)
                return
            p = repo.packages[name]
            if name in packages:
                return
            packages.append(name)
            for dep in p.depends:
                collect(dep)

        if self.package_collections:
            for collection in self.package_collections:
                packages = []
                for component in collection.packages.selectedComponents:
                    if component not in repo.components:
                        if component not in self.missing_components:
                            self.missing_components.append(component)
                        return
                    for package in repo.components[component]:
                        collect(package)

                for package in collection.packages.selectedPackages:
                    collect(package)

                packages.sort()
                collection.packages.allPackages = packages
            #self.all_packages.extend(packages)
        else:
            for component in self.selected_components:
                if component not in repo.components:
                    if component not in self.missing_components:
                        self.missing_components.append(component)
                    return
                for package in repo.components[component]:
                    collect(package)

            for package in self.selected_packages:
                collect(package)

            packages.sort()
            self.all_packages = packages

        self.all_packages.sort()

        # Find all install image packages
        packages = []
        self.all_install_image_packages = []

        for component in self.selected_install_image_components:
            if component not in repo.components:
                if component not in self.missing_components:
                    self.missing_components.append(component)
                return
            for package in repo.components[component]:
                collect(package)

        for package in self.selected_install_image_packages:
            collect(package)

        packages.sort()
        self.all_install_image_packages = packages