def gen_repo_conf(self): self.fs.mkdir_p("conf") fp = self.fs.open("conf/distributions", "w") need_update = False for att in self.attrs: fp.write("Origin: " + self.origin + "\n") fp.write("Label: " + self.origin + "\n") fp.write("Suite: " + codename2suite[att.codename] + "\n") fp.write("Codename: " + att.codename + "\n") fp.write("Architectures: " + " ".join(att.arch) + "\n") fp.write("Components: " + " ".join(att.components.difference( set(["main/debian-installer"]))) + "\n") fp.write("UDebComponents: " + " ".join(att.components.difference( set(["main/debian-installer"]))) + "\n") fp.write("Description: " + self.description + "\n") fp.write("SignWith: " + self.keyid + "\n") if 'main/debian-installer' in att.components: fp.write("Update: di\n") ufp = self.fs.open("conf/updates", "w") ufp.write("Name: di\n") ufp.write("Method: " + att.mirror + "\n") ufp.write("VerifyRelease: blindtrust\n") ufp.write("Components: \n") ufp.write("GetInRelease: no\n") # It would be nicer, to use this # ufp.write( "Architectures: " + " ".join (att.arch) + "\n" ) # But we end up with 'armel amd64' sometimes. # So lets just use the init_attr... if self.init_attr: ufp.write( "Architectures: " + " ".join( self.init_attr.arch) + "\n") else: ufp.write("Architectures: " + " ".join(att.arch) + "\n") ufp.write("UDebComponents: main>main\n") ufp.close() need_update = True fp.write("\n") fp.close() export_key(self.keyid, self.fs.fname("/repo.pub")) if need_update: cmd = 'reprepro --export=force --basedir "%s" update' % self.fs.path do(cmd, env_add={'GNUPGHOME': "/var/cache/elbe/gnupg"}) else: for att in self.attrs: cmd = 'reprepro --basedir "%s" export %s' % (self.fs.path, att.codename) do(cmd, env_add={'GNUPGHOME': "/var/cache/elbe/gnupg"})
def gen_repo_conf(self): self.fs.mkdir_p("conf") fp = self.fs.open("conf/distributions", "w") need_update = False for att in self.attrs: fp.write("Origin: " + self.origin + "\n") fp.write("Label: " + self.origin + "\n") fp.write("Suite: " + codename2suite[att.codename] + "\n") fp.write("Codename: " + att.codename + "\n") fp.write("Architectures: " + " ".join(att.arch) + "\n") fp.write("Components: " + " ".join(att.components.difference( set(["main/debian-installer"]))) + "\n") fp.write("UDebComponents: " + " ".join(att.components.difference( set(["main/debian-installer"]))) + "\n") fp.write("Description: " + self.description + "\n") fp.write("SignWith: " + self.keyid + "\n") if 'main/debian-installer' in att.components: fp.write("Update: di\n") ufp = self.fs.open("conf/updates", "w") ufp.write("Name: di\n") ufp.write("Method: " + att.mirror + "\n") ufp.write("VerifyRelease: blindtrust\n") ufp.write("Components: \n") ufp.write("GetInRelease: no\n") # It would be nicer, to use this # ufp.write( "Architectures: " + " ".join (att.arch) + "\n" ) # But we end up with 'armel amd64' sometimes. # So lets just use the init_attr... if self.init_attr: ufp.write( "Architectures: " + " ".join( self.init_attr.arch) + "\n") else: ufp.write("Architectures: " + " ".join(att.arch) + "\n") ufp.write("UDebComponents: main>main\n") ufp.close() need_update = True fp.write("\n") fp.close() keyring = export_key(self.keyid, self.fs.fname("/repo.pub")) if keyring: shutil.copyfile(keyring, self.fs.fname("/elbe-keyring.gpg")) if need_update: self.log.do( 'reprepro --export=force --basedir "' + self.fs.path + '" update', env_add={'GNUPGHOME': "/var/cache/elbe/gnupg"}) else: for att in self.attrs: self.log.do( 'reprepro --basedir "' + self.fs.path + '" export ' + att.codename, env_add={'GNUPGHOME': "/var/cache/elbe/gnupg"})