diff options
author | Rob Austein <sra@hactrn.net> | 2016-07-28 12:53:46 -0400 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2016-07-28 12:53:46 -0400 |
commit | e10fe610caf2ea0d6efe444c1f3aa0bdfc690778 (patch) | |
tree | aa503f835eb5be0605402bab806af3366275fbb5 | |
parent | b3843228df1d7c9bb9f719158f92256c121a049c (diff) |
First cut at building in a git environment instead of subversion.
-rw-r--r-- | rpki-pbuilder.py | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/rpki-pbuilder.py b/rpki-pbuilder.py index da8b707..93d9f72 100644 --- a/rpki-pbuilder.py +++ b/rpki-pbuilder.py @@ -47,7 +47,7 @@ parser.add_argument("--lockfile", default = os.path.expanduser("~/builder.lock") help = "avoid collisions between multiple instances of this script") parser.add_argument("--keyring", default = os.path.expanduser("~/.gnupg/pubring.gpg"), help = "PGP keyring") -parser.add_argument("--svn-tree", default = os.path.expanduser("~/source/trunk/"), +parser.add_argument("--git-tree", default = os.path.expanduser("~/source/master/"), help = "subversion tree") parser.add_argument("--apt-tree", default = os.path.expanduser("~/repository/"), help = "reprepro repository") @@ -102,19 +102,27 @@ try: except (IOError, OSError), e: sys.exit(0 if e.errno == errno.EAGAIN else "Error {!r} opening lock {!r}".format(e, args.lockfile)) -run("svn", "--quiet", "update", cwd = args.svn_tree) +run("git", "fetch", "--all", "--prune", cwd = args.git_tree) +run("git", "pull", cwd = args.git_tree) -source_version = subprocess.check_output(("svnversion", "-c"), cwd = args.svn_tree).strip().split(":")[-1] +source_version = subprocess.check_output((sys.executable, os.path.join(args.git_tree, "buildtools/make-version.py"), + "--build-tag", "--stdout"), cwd = args.git_tree).strip() + +assert source_version.startswith("buildbot-") + +source_version = source_version[len("buildbot-"):].replace("-", ".") logging.info("Source version is %s", source_version) -if not source_version.isdigit() and not args.debug: - sys.exit("Sources don't look pristine, not building ({!r})".format(source_version)) +if not args.debug: + try: + run("git", "diff-index", "--quiet", "HEAD", cwd = args.git_tree) + except subprocess.CalledProcessError: + sys.exit("Sources don't look pristine, not building ({!r})".format(source_version)) -source_version = "0." + source_version search_version = "_" + source_version + "~" -dsc_dir = os.path.abspath(os.path.join(args.svn_tree, "..")) +dsc_dir = os.path.abspath(os.path.join(args.git_tree, "..")) if not os.path.isdir(args.apt_tree): logging.info("Creating %s", args.apt_tree) @@ -219,12 +227,11 @@ class Release(object): if not os.path.isdir(fn) and search_version not in fn: logging.info("Removing %s", fn) os.unlink(fn) - run("rm", "-rf", "debian", cwd = args.svn_tree) + run("rm", "-rf", "debian", cwd = args.git_tree) logging.info("Building source package %s", self.version) - run(sys.executable, "buildtools/make-version.py", cwd = args.svn_tree) - run(sys.executable, "buildtools/build-debian-packages.py", "--version-suffix", self.release, cwd = args.svn_tree) - run("dpkg-buildpackage", "-S", "-us", "-uc", "-rfakeroot", cwd = args.svn_tree) + run(sys.executable, "buildtools/build-debian-packages.py", "--version-suffix", self.release, cwd = args.git_tree) + run("dpkg-buildpackage", "-S", "-us", "-uc", "-rfakeroot", cwd = args.git_tree) if not os.path.exists(self.basefile): logging.info("Creating build environment %s %s", self.release, self.arch) |