def update_repos(self, repos): if repos == 'debian': basedir = path(config.get('repos_debian', 'basedir')) elif repos == 'security': basedir = path(config.get('repos_security', 'basedir')) else: msg = "%s not a valid repository" % repos raise RuntimeError , msg self.repos.set_basedir(basedir) ready = self.is_process_ready() if not ready: raise RuntimeError , "repos process not ready" self.repos.update() return True
def main(pkgname): # build for amd64 first cleanup(pkgname) get_source(pkgname) dirname = get_dirname(pkgname) build_source_package(dirname) dscfile = get_dscfile(pkgname) cowpoke(dscfile) get_result() changes = find_result_changes(pkgname) dput(changes) amd64_changes = changes # build for i386 i386_changes = None retcode = cowpoke(dscfile, binonly=True) get_result(arch='i386') try: changes = find_result_changes(pkgname, arch='i386') dput(changes) except ChangesNotFoundError: helper_file = path('cowssh_it') if helper_file.isfile(): helper_file.remove() print "There doesn't seem to be a binary for i386" print "Please doublecheck" print "Finished Building %s" % pkgname
def find_result_changes(pkgname, arch='amd64'): resultdir = path('result.%s' % arch) files = resultdir.listdir() all_changes = [f for f in files if f.endswith('_%s.changes' % arch)] #print "ALL_CHANGES", all_changes pkg_changes = [f for f in all_changes \ if f.basename().startswith('%s_' % pkgname)] if len(pkg_changes) != 1: msg = "problem finding changes file -> %s" % pkg_changes raise ChangesNotFoundError , msg return pkg_changes[0]
def fix_oem_directory(directory): directory = path(directory) archdir = directory / "i386" oemdir = directory / "OEM" if oemdir.isdir(): uglypath = archdir / "$oem$/$1" uglypath.makedirs() oem_lower = uglypath / "oem" if oem_lower.isdir(): raise RuntimeError, "%s shouldn't exist." % oem_lower oemdir.rename(oem_lower) # cmd = ['perl', opts.lc_script, directory] # subprocess.check_call(cmd) for filename in directory.walk(): dirname, basename = filename.splitpath() lower = basename.lower() if basename != lower: newname = dirname / lower if newname.exists(): raise RuntimeError, "%s already exists" % newname print "Renaming %s to %s in %s" % (basename, lower, dirname) os.rename(filename, newname)
driverpacks.append(dp) return driverpacks def get_torrents(driverpacks): for dp in driverpacks: dp.get_torrent() def parse_rss_feed(): return feedparser.parse(DRIVERPACKS_LATEST_FEED) if __name__ == '__main__': import pickle filename = path('feed.pickle') if filename.isfile(): parser = pickle.load(file(filename)) else: print 'downloading feed...' parser = feedparser.parse(DRIVERPACKS_LATEST_FEED) feed_dump = file(filename, 'w') pickle.dump(feed, feed_dump) feed_dump.close() p = parser d = get_driverpacks(p) get_torrents(d)
def set_basedir(self, basedir): self.basedir = path(basedir) self.logfile_name = self.basedir / 'logs/debrepos.log' self.logfile = None self.open_logfile()
def __init__(self): self.baseparent = path(config.get('main', 'homedir')) self.repos = RepRepRo()
def __init__(self, baseparent): self.baseparent = path(baseparent) self.repos = RepRepRo()