diff options
author | Nicolas Vigier <boklm@mageia.org> | 2011-01-11 00:35:59 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2011-01-11 00:35:59 +0000 |
commit | ad7fb7807ceaee96521d779993a5e1b28650723f (patch) | |
tree | 2ece42aa7e83b7fdb51702b298aa3eec95da3573 /MgaRepo/commands/co.py | |
parent | 715e125cc8d0b3fc4a79752e28a8b76a4ce97d5a (diff) | |
download | mgarepo-ad7fb7807ceaee96521d779993a5e1b28650723f.tar mgarepo-ad7fb7807ceaee96521d779993a5e1b28650723f.tar.gz mgarepo-ad7fb7807ceaee96521d779993a5e1b28650723f.tar.bz2 mgarepo-ad7fb7807ceaee96521d779993a5e1b28650723f.tar.xz mgarepo-ad7fb7807ceaee96521d779993a5e1b28650723f.zip |
rename repsys to mgarepo, RepSys to MgaRepo, and update docs and examples for Mageia
Diffstat (limited to 'MgaRepo/commands/co.py')
-rw-r--r-- | MgaRepo/commands/co.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/MgaRepo/commands/co.py b/MgaRepo/commands/co.py new file mode 100644 index 0000000..e7c9aec --- /dev/null +++ b/MgaRepo/commands/co.py @@ -0,0 +1,67 @@ +#!/usr/bin/python +from MgaRepo import Error, disable_mirror +from MgaRepo.command import * +from MgaRepo.rpmutil import checkout +import getopt +import sys + +HELP = """\ +Usage: mgarepo co [OPTIONS] URL [LOCALPATH] + +Checkout the package source from the Mageia repository. + +If the 'mirror' option is enabled, the package is obtained from the mirror +repository. + +You can specify the distro branch to checkout from by using distro/pkgname. + +Options: + -d The distribution branch to checkout from + -b The package branch + -r REV Revision to checkout + -S Do not download sources from the binaries repository + -L Do not make symlinks of the binaries downloaded in SOURCES/ + -s Only checkout the SPECS/ directory + -M Do not use the mirror (use the main repository) + --check Check integrity of files fetched from the binary repository + -h Show this message + +Examples: + mgarepo co pkgname + mgarepo co -d 2009.0 pkgname + mgarepo co 2009.0/pkgame + mgarepo co http://repos/svn/cnc/snapshot/foo + mgarepo co http://repos/svn/cnc/snapshot/foo foo-pkg +""" + +def parse_options(): + parser = OptionParser(help=HELP) + parser.add_option("-r", dest="revision") + parser.add_option("-S", dest="use_binrepo", default=True, + action="store_false") + parser.add_option("--check", dest="binrepo_check", default=False, + action="store_true") + parser.add_option("-L", dest="binrepo_link", default=True, + action="store_false") + parser.add_option("--distribution", "-d", dest="distro", default=None) + parser.add_option("--branch", "-b", dest="branch", default=None) + parser.add_option("-s", "--spec", dest="spec", default=False, + action="store_true") + parser.add_option("-M", "--no-mirror", action="callback", + callback=disable_mirror) + opts, args = parser.parse_args() + if len(args) not in (1, 2): + raise Error, "invalid arguments" + # here we don't use package_url in order to notify the user we are + # using the mirror + opts.pkgdirurl = args[0] + if len(args) == 2: + opts.path = args[1] + else: + opts.path = None + return opts + +def main(): + do_command(parse_options, checkout) + +# vim:et:ts=4:sw=4 |