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)
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)
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)
def factory_produce(self,config,seed_data): """ Return a Distro forged from seed_data """ return repo.Repo(config).from_datastruct(seed_data)
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)