def init_create(cls, buildroot, path=None): paths = PoolPaths(path, create=True) if isdir(paths.path): raise Error("pool already initialized") if not isdir(buildroot): raise Error("buildroot `%s' is not a directory" % buildroot) mkdir(paths.stocks) Git.set_gitignore(paths.stocks, Stock.Paths.files) mkdir(paths.pkgcache) Git.anchor(paths.pkgcache) Git.set_gitignore(paths.pkgcache, ["*.deb", "*.udeb"]) mkdir(paths.build) mkdir(paths.build.logs) Git.anchor(paths.build.logs) Git.set_gitignore(paths.build.logs, ["*.build"]) Git.set_gitignore(paths.path, ["tmp"]) os.symlink(buildroot, paths.build.root) return cls(path)