aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/commands/getspec.py
diff options
context:
space:
mode:
Diffstat (limited to 'MgaRepo/commands/getspec.py')
-rw-r--r--MgaRepo/commands/getspec.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/MgaRepo/commands/getspec.py b/MgaRepo/commands/getspec.py
new file mode 100644
index 0000000..08407bc
--- /dev/null
+++ b/MgaRepo/commands/getspec.py
@@ -0,0 +1,38 @@
+#!/usr/bin/python
+from MgaRepo import Error, disable_mirror
+from MgaRepo.command import *
+from MgaRepo.layout import package_url
+from MgaRepo.rpmutil import get_spec
+import getopt
+import sys
+
+HELP = """\
+Usage: mgarepo getspec [OPTIONS] REPPKGURL
+
+Prints the .spec file of a given package.
+
+Options:
+ -t DIR Use DIR as target for spec file (default is ".")
+ -M Do not use the mirror (use the main repository)
+ -h Show this message
+
+Examples:
+ mgarepo getspec pkgname
+ mgarepo getspec svn+ssh://svn.mageia.org/svn/packages/cauldron/pkgname
+"""
+
+def parse_options():
+ parser = OptionParser(help=HELP)
+ parser.add_option("-t", dest="targetdir", default=".")
+ parser.add_option("-M", "--no-mirror", action="callback",
+ callback=disable_mirror)
+ opts, args = parser.parse_args()
+ if len(args) != 1:
+ raise Error, "invalid arguments"
+ opts.pkgdirurl = package_url(args[0])
+ return opts
+
+def main():
+ do_command(parse_options, get_spec)
+
+# vim:et:ts=4:sw=4