diff options
Diffstat (limited to 'repsys')
-rwxr-xr-x | repsys | 93 |
1 files changed, 0 insertions, 93 deletions
@@ -1,93 +0,0 @@ -#!/usr/bin/python -from RepSys import Error, plugins, config -from RepSys.command import * -import getopt -import sys - -VERSION="1.9.4" - -HELP = """\ -Usage: repsys COMMAND [COMMAND ARGUMENTS] - -Tool to access and manage a package repository structure. - -http://wiki.mandriva.com/en/Development/Packaging/RepositorySystem/Quickstart - -Useful commands: - co checkout a package - ci commit changes - sync add-remove all file changes from the .spec - submit submit a package for build - putsrpm import a source package to the repository - getspec prints the spec - rpmlog prints the RPM changelog - getsrpm creates the source RPM - create create the structure of a new package - changed shows changes not submitted - authoremail prints the e-mail of a given author - switch relocate to mirror or upstream repository - -Run "repsys COMMAND --help" and "man 8 repsys" for more information. - -Written by Gustavo Niemeyer <gustavo@niemeyer.net> -""" - -command_aliases = {"import": "putsrpm"} - -def plugin_help(opt, val, parser, mode): - if parser is None: - prog = sys.argv[0] - print "Use %s --help-plugin <plugin name>" % prog - print "Available plugins:" - print - for name in plugins.list(): - print name - else: - print plugins.help(parser) - raise SystemExit - -def parse_options(): - parser = OptionParser(help=HELP, version="%prog "+VERSION) - parser.disable_interspersed_args() - parser.add_option("--debug", action="store_true") - parser.add_option("--help-plugins", action="callback", callback=plugin_help) - parser.add_option("--help-plugin", type="string", dest="__ignore", - action="callback", callback=plugin_help) - opts, args = parser.parse_args() - del opts.__ignore - if len(args) < 1: - parser.print_help(sys.stderr) - sys.exit(1) - opts.command = args[0] - opts.argv = args - return opts - -def dispatch_command(command, argv, debug=0): - sys.argv = argv - try: - command = command_aliases[command] - except KeyError: - pass - if debug: - config.set("global", "verbose", "yes") - try: - repsys_module = __import__("RepSys.commands."+command) - commands_module = getattr(repsys_module, "commands") - command_module = getattr(commands_module, command) - except (ImportError, AttributeError): - etype, exc, tb = sys.exc_info() - if tb.tb_next is None and not debug: - raise Error, "invalid command '%s'" % command - raise - command_module.main() - -if __name__ == "__main__": - try: - plugins.load() - except Error, e: - sys.stderr.write("plugin initialization error: %s\n" % e) - sys.exit(1) - config.set("global", "repsys-cmd", sys.argv[0]) - do_command(parse_options, dispatch_command) - -# vim:et:ts=4:sw=4 |