diff --git a/scripts/buildhistory-collect-srcrevs b/scripts/buildhistory-collect-srcrevs index 7f65c90376..58a2708032 100755 --- a/scripts/buildhistory-collect-srcrevs +++ b/scripts/buildhistory-collect-srcrevs @@ -34,8 +34,9 @@ logger = logger_create() def main(): parser = optparse.OptionParser( + description = "Collects the recorded SRCREV values from buildhistory and reports on them.", usage = """ - %prog [options] """) + %prog [options]""") parser.add_option("-a", "--report-all", help = "Report all SRCREV values, not just ones where AUTOREV has been used", @@ -43,16 +44,20 @@ def main(): parser.add_option("-f", "--forcevariable", help = "Use forcevariable override for all output lines", action="store_true", dest="forcevariable") + parser.add_option("-p", "--buildhistory-dir", + help = "Specify path to buildhistory directory (defaults to buildhistory/ under cwd)", + action="store", dest="buildhistory_dir", default='buildhistory/') options, args = parser.parse_args(sys.argv) - if len(args) != 2: + if len(args) > 1: + sys.stderr.write('Invalid argument(s) specified: %s\n\n' % ' '.join(args[1:])) parser.print_help() sys.exit(1) - buildhistory_dir = args[1] - if not os.path.exists(buildhistory_dir): - logger.error('specified buildhistory path %s could not be found' % buildhistory_dir) + if not os.path.exists(options.buildhistory_dir): + sys.stderr.write('Buildhistory directory "%s" does not exist\n\n' % options.buildhistory_dir) + parser.print_help() sys.exit(1) if options.forcevariable: @@ -61,7 +66,7 @@ def main(): forcevariable = '' lastdir = '' - for root, dirs, files in os.walk(buildhistory_dir): + for root, dirs, files in os.walk(options.buildhistory_dir): if '.git' in dirs: dirs.remove('.git') for fn in files: