source: soft/build_system/build_system/repsys/tags/V1_5_5/create-srpm @ 1

Last change on this file since 1 was 1, checked in by fasma, 12 years ago

Initial Import from Mandriva's soft revision 224062 and package revision 45733

File size: 1.9 KB
Line 
1#!/usr/bin/python
2
3from RepSys import Error, config
4from RepSys.rpmutil import get_srpm
5from RepSys.cgiutil import get_targets
6import sys
7import os
8import pwd
9
10class CmdError(Error): pass
11
12class CmdIface:
13    def author_email(self, author):
14        return config.get("users", author)
15
16    def submit_package(self, packageurl, packagerev, targetname):
17        pw = pwd.getpwuid(os.getuid())
18        username = pw[0]
19        packager = config.get("users", username) or pw[4]
20        if not packager:
21            raise CmdError, "your email was not found"
22        elif not packagerev:
23            raise CmdError, "no revision provided"
24        elif not targetname:
25            raise CmdError, "no target provided"
26        else:
27            targetname = targetname.lower()
28            for target in get_targets():
29                if target.name.lower() == targetname:
30                    break
31            else:
32                raise CmdError, "target not found"
33            try:
34                tmp = int(packagerev)
35            except ValueError:
36                raise CmdError, "invalid revision provided"
37            for allowed in target.allowed:
38                if packageurl.startswith(allowed):
39                    break
40            else:
41                raise CmdError, "%s is not allowed for this target" \
42                                % packageurl
43            get_srpm(packageurl,
44                     revision=packagerev,
45                     targetdirs=target.target,
46                     packager=packager,
47                     revname=1,
48                     svnlog=1,
49                     scripts=target.scripts)
50        return 1
51
52    def submit_targets(self):
53        return [x.name for x in get_targets()]
54
55
56def main():
57
58    iface = CmdIface()
59
60    print sys.argv
61
62    if len(sys.argv) == 3:
63        rev = None
64        target = sys.argv[2]
65    else:
66        rev = sys.argv[2]
67        target = sys.argv[3]
68       
69    iface.submit_package(sys.argv[1], rev, target)
70   
71main()
Note: See TracBrowser for help on using the repository browser.