import repository from arizona
[raven.git] / apps / ravenpublish / ravenbuilder.py
1 #! /usr/bin/env python
2
3 from optparse import OptionParser
4 import os
5 import shutil
6 import sys
7 import sha
8
9 import builder
10 import ravenversion
11
12 #import arizonaconfig_compat
13
14 USAGE="""
15 ravenbuilder [options] packageName srcDir destDir
16
17 """
18
19
20 def create_parser():
21    # Generate command line parser
22    parser = OptionParser(usage="ravenbuilder [options] packageName srcDir destDir",
23         description="Builds a rpm file",
24         version="raven "+ravenversion.VERREL)
25
26    parser.add_option("-D", "--directory", dest="directory",
27         help="directory of raven experiment", metavar="DIR", default=None)
28
29    parser.add_option("-V", "--rpmversion", dest="rpmversion",
30         help="version number to use in RPM file", metavar="VER", default=None)
31
32    parser.add_option("-v", "--verbose", dest="verbose", action="store_true",
33         help="verbose output", default=False)
34
35    parser.disable_interspersed_args()
36
37    return parser
38
39 def main():
40    global verbose
41
42    parser = create_parser()
43    (options, args) = parser.parse_args()
44
45    if len(args) < 3:
46         print USAGE
47         return -1
48
49    packageName = args[0]
50    srcDir = args[1]
51    destDir = args[2]
52
53    if not os.path.exists(srcDir):
54        print >> sys.stderr, "directory", srcDir, "does not exist"
55        return -1
56
57    if not os.path.exists(destDir):
58        print >> sys.stderr, "directory", destDir, "does not exist"
59        return -1
60
61    b = builder.Builder()
62    b.build_package(packageName, srcDir, destDir, version=options.rpmversion, verbose=options.verbose, createDestSymlink=True)
63
64 if __name__=="__main__":
65    main()