Ejemplo n.º 1
0
    def process_repos(self, main_importer, distro):
        # Create a disabled repository for the new distro, and the security updates
        #
        # NOTE : We cannot use ks_meta nor os_version because they get fixed at a later stage

        repo = item_repo.Repo(main_importer.config)
        repo.set_breed("apt")
        repo.set_arch(distro.arch)
        repo.set_keep_updated(False)
        repo.yumopts["--ignore-release-gpg"] = None
        repo.yumopts["--verbose"] = None
        repo.set_name(distro.name)
        repo.set_os_version(distro.os_version)
        # NOTE : The location of the mirror should come from timezone
        repo.set_mirror("http://ftp.%s.debian.org/debian/dists/%s" %
                        ('us', '@@suite@@'))

        security_repo = item_repo.Repo(main_importer.config)
        security_repo.set_breed("apt")
        security_repo.set_arch(distro.arch)
        security_repo.set_keep_updated(False)
        security_repo.yumopts["--ignore-release-gpg"] = None
        security_repo.yumopts["--verbose"] = None
        security_repo.set_name(distro.name + "-security")
        security_repo.set_os_version(distro.os_version)
        # There are no official mirrors for security updates
        security_repo.set_mirror(
            "http://security.debian.org/debian-security/dists/%s/updates" %
            '@@suite@@')

        self.logger.info("Added repos for %s" % distro.name)
        repos = main_importer.config.repos()
        repos.add(repo, save=True)
        repos.add(security_repo, save=True)
    def process_repos(self, main_importer, distro):
        # Create a disabled repository for the new distro, and the security updates
        #
        # NOTE : We cannot use ks_meta nor os_version because they get fixed at a later stage

        # Obtain repo mirror from APT if available
        mirror = False
        if apt_available:
            # Example returned URL: http://us.archive.ubuntu.com/ubuntu
            mirror = self.get_repo_mirror_from_apt()
            if mirror:
                mirror = mirror + "/dists"
        if not mirror:
            mirror = "http://archive.ubuntu.com/ubuntu/dists/"

        repo = item_repo.Repo(main_importer.config)
        repo.set_breed("apt")
        repo.set_arch(distro.arch)
        repo.set_keep_updated(False)
        repo.yumopts["--ignore-release-gpg"] = None
        repo.yumopts["--verbose"] = None
        repo.set_name(distro.name)
        repo.set_os_version(distro.os_version)

        if distro.breed == "ubuntu":
            repo.set_mirror("%s/%s" % (mirror, distro.os_version))
        else:
            # NOTE : The location of the mirror should come from timezone
            repo.set_mirror("http://ftp.%s.debian.org/debian/dists/%s" %
                            ('us', distro.os_version))

        security_repo = item_repo.Repo(main_importer.config)
        security_repo.set_breed("apt")
        security_repo.set_arch(distro.arch)
        security_repo.set_keep_updated(False)
        security_repo.yumopts["--ignore-release-gpg"] = None
        security_repo.yumopts["--verbose"] = None
        security_repo.set_name(distro.name + "-security")
        security_repo.set_os_version(distro.os_version)
        # There are no official mirrors for security updates
        if distro.breed == "ubuntu":
            security_repo.set_mirror("%s/%s-security" %
                                     (mirror, distro.os_version))
        else:
            security_repo.set_mirror(
                "http://security.debian.org/debian-security/dists/%s/updates" %
                distro.os_version)

        self.logger.info("Added repos for %s" % distro.name)
        repos = main_importer.config.repos()
        repos.add(repo, save=True)
        repos.add(security_repo, save=True)
Ejemplo n.º 3
0
    def apt_repo_adder(self, distro):
        self.logger.info("adding apt repo for %s" % distro.name)
        # Obtain repo mirror from APT if available
        mirror = False
        if apt_available:
            # Example returned URL: http://us.archive.ubuntu.com/ubuntu
            mirror = self.get_repo_mirror_from_apt()
            if mirror:
                mirror = mirror + "/dists"
        if not mirror:
            mirror = "http://archive.ubuntu.com/ubuntu/dists/"

        repo = item_repo.Repo(self.config)
        repo.set_breed("apt")
        repo.set_arch(distro.arch)
        repo.set_keep_updated(False)
        repo.yumopts["--ignore-release-gpg"] = None
        repo.yumopts["--verbose"] = None
        repo.set_name(distro.name)
        repo.set_os_version(distro.os_version)

        if distro.breed == "ubuntu":
            repo.set_mirror("%s/%s" % (mirror, distro.os_version))
        else:
            # NOTE : The location of the mirror should come from timezone
            repo.set_mirror("http://ftp.%s.debian.org/debian/dists/%s" %
                            ('us', distro.os_version))

        security_repo = item_repo.Repo(self.config)
        security_repo.set_breed("apt")
        security_repo.set_arch(distro.arch)
        security_repo.set_keep_updated(False)
        security_repo.yumopts["--ignore-release-gpg"] = None
        security_repo.yumopts["--verbose"] = None
        security_repo.set_name(distro.name + "-security")
        security_repo.set_os_version(distro.os_version)
        # There are no official mirrors for security updates
        if distro.breed == "ubuntu":
            security_repo.set_mirror("%s/%s-security" %
                                     (mirror, distro.os_version))
        else:
            security_repo.set_mirror(
                "http://security.debian.org/debian-security/dists/%s/updates" %
                distro.os_version)

        self.logger.info("Added repos for %s" % distro.name)
        repos = self.config.repos()
        repos.add(repo, save=True)
        repos.add(security_repo, save=True)
Ejemplo n.º 4
0
    def apt_repo_adder(self, distro):
        self.logger.info("adding apt repo for %s" % distro.name)
        # Obtain repo mirror from APT if available
        mirror = False
        if apt_available:
            # Example returned URL: http://us.archive.ubuntu.com/ubuntu
            mirror = self.get_repo_mirror_from_apt()
        if not mirror:
            mirror = "http://archive.ubuntu.com/ubuntu"

        repo = item_repo.Repo(self.collection_mgr)
        repo.set_breed("apt")
        repo.set_arch(distro.arch)
        repo.set_keep_updated(True)
        repo.set_apt_components("main universe")  # TODO: make a setting?
        repo.set_apt_dists("%s %s-updates %s-security" %
                           ((distro.os_version, ) * 3))
        repo.set_name(distro.name)
        repo.set_os_version(distro.os_version)

        if distro.breed == "ubuntu":
            repo.set_mirror(mirror)
        else:
            # NOTE : The location of the mirror should come from timezone
            repo.set_mirror("http://ftp.%s.debian.org/debian/dists/%s" %
                            ('us', distro.os_version))

        self.logger.info("Added repos for %s" % distro.name)
        repos = self.collection_mgr.repos()
        repos.add(repo, save=True)
Ejemplo n.º 5
0
 def factory_produce(self,config,seed_data):
     """
     Return a Distro forged from seed_data
     """
     return repo.Repo(config).from_datastruct(seed_data)
Ejemplo n.º 6
0
 def new_repo(self, is_subobject=False):
     """
     Create a new mirror to keep track of...
     """
     return repo.Repo(weakref.proxy(self), is_subobject=is_subobject)