diff options
-rwxr-xr-x | main.py | 18 | ||||
-rwxr-xr-x | repo | 48 | ||||
-rw-r--r-- | subcmds/sync.py | 8 |
3 files changed, 55 insertions, 19 deletions
@@ -23,6 +23,7 @@ if __name__ == '__main__': | |||
23 | del magic | 23 | del magic |
24 | 24 | ||
25 | import getpass | 25 | import getpass |
26 | import imp | ||
26 | import netrc | 27 | import netrc |
27 | import optparse | 28 | import optparse |
28 | import os | 29 | import os |
@@ -167,16 +168,15 @@ def _MyRepoPath(): | |||
167 | def _MyWrapperPath(): | 168 | def _MyWrapperPath(): |
168 | return os.path.join(os.path.dirname(__file__), 'repo') | 169 | return os.path.join(os.path.dirname(__file__), 'repo') |
169 | 170 | ||
171 | _wrapper_module = None | ||
172 | def WrapperModule(): | ||
173 | global _wrapper_module | ||
174 | if not _wrapper_module: | ||
175 | _wrapper_module = imp.load_source('wrapper', _MyWrapperPath()) | ||
176 | return _wrapper_module | ||
177 | |||
170 | def _CurrentWrapperVersion(): | 178 | def _CurrentWrapperVersion(): |
171 | VERSION = None | 179 | return WrapperModule().VERSION |
172 | pat = re.compile(r'^VERSION *=') | ||
173 | fd = open(_MyWrapperPath()) | ||
174 | for line in fd: | ||
175 | if pat.match(line): | ||
176 | fd.close() | ||
177 | exec line | ||
178 | return VERSION | ||
179 | raise NameError, 'No VERSION in repo script' | ||
180 | 180 | ||
181 | def _CheckWrapperVersion(ver, repo_path): | 181 | def _CheckWrapperVersion(ver, repo_path): |
182 | if not repo_path: | 182 | if not repo_path: |
@@ -28,10 +28,10 @@ if __name__ == '__main__': | |||
28 | del magic | 28 | del magic |
29 | 29 | ||
30 | # increment this whenever we make important changes to this script | 30 | # increment this whenever we make important changes to this script |
31 | VERSION = (1, 17) | 31 | VERSION = (1, 18) |
32 | 32 | ||
33 | # increment this if the MAINTAINER_KEYS block is modified | 33 | # increment this if the MAINTAINER_KEYS block is modified |
34 | KEYRING_VERSION = (1,0) | 34 | KEYRING_VERSION = (1,1) |
35 | MAINTAINER_KEYS = """ | 35 | MAINTAINER_KEYS = """ |
36 | 36 | ||
37 | Repo Maintainer <repo@android.kernel.org> | 37 | Repo Maintainer <repo@android.kernel.org> |
@@ -75,12 +75,44 @@ zE3GNvmJosh6leayjtI9P2A6iEkEGBECAAkFAkj3uiACGwwACgkQFlMNXpIPXGWp | |||
75 | TACbBS+Up3RpfYVfd63c1cDdlru13pQAn3NQy/SN858MkxN+zym86UBgOad2 | 75 | TACbBS+Up3RpfYVfd63c1cDdlru13pQAn3NQy/SN858MkxN+zym86UBgOad2 |
76 | =CMiZ | 76 | =CMiZ |
77 | -----END PGP PUBLIC KEY BLOCK----- | 77 | -----END PGP PUBLIC KEY BLOCK----- |
78 | |||
79 | Conley Owens <cco3@android.com> | ||
80 | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
81 | Version: GnuPG v1.4.11 (GNU/Linux) | ||
82 | |||
83 | mQENBFBiLPwBCACvISTASOgFXwADw2GYRH2I2z9RvYkYoZ6ThTTNlMXbbYYKO2Wo | ||
84 | a9LQDNW0TbCEekg5UKk0FD13XOdWaqUt4Gtuvq9c43GRSjMO6NXH+0BjcQ8vUtY2 | ||
85 | /W4CYUevwdo4nQ1+1zsOCu1XYe/CReXq0fdugv3hgmRmh3sz1soo37Q44W2frxxg | ||
86 | U7Rz3Da4FjgAL0RQ8qndD+LwRHXTY7H7wYM8V/3cYFZV7pSodd75q3MAXYQLf0ZV | ||
87 | QR1XATu5l1QnXrxgHvz7MmDwb1D+jX3YPKnZveaukigQ6hDHdiVcePBiGXmk8LZC | ||
88 | 2jQkdXeF7Su1ZYpr2nnEHLJ6vOLcCpPGb8gDABEBAAG0H0NvbmxleSBPd2VucyA8 | ||
89 | Y2NvM0BhbmRyb2lkLmNvbT6JATgEEwECACIFAlBiLPwCGwMGCwkIBwMCBhUIAgkK | ||
90 | CwQWAgMBAh4BAheAAAoJEBkmlFUziHGkHVkH/2Hks2Cif5i2xPtv2IFZcjL42joU | ||
91 | T7lO5XFqUYS9ZNHpGa/V0eiPt7rHoO16glR83NZtwlrq2cSN89i9HfOhMYV/qLu8 | ||
92 | fLCHcV2muw+yCB5s5bxnI5UkToiNZyBNqFkcOt/Kbj9Hpy68A1kmc6myVEaUYebq | ||
93 | 2Chx/f3xuEthan099t746v1K+/6SvQGDNctHuaMr9cWdxZtHjdRf31SQRc99Phe5 | ||
94 | w+ZGR/ebxNDKRK9mKgZT8wVFHlXerJsRqWIqtx1fsW1UgLgbpcpe2MChm6B5wTu0 | ||
95 | s1ltzox3l4q71FyRRPUJxXyvGkDLZWpK7EpiHSCOYq/KP3HkKeXU3xqHpcG5AQ0E | ||
96 | UGIs/AEIAKzO/7lO9cB6dshmZYo8Vy/b7aGicThE+ChcDSfhvyOXVdEM2GKAjsR+ | ||
97 | rlBWbTFX3It301p2HwZPFEi9nEvJxVlqqBiW0bPmNMkDRR55l2vbWg35wwkg6RyE | ||
98 | Bc5/TQjhXI2w8IvlimoGoUff4t3JmMOnWrnKSvL+5iuRj12p9WmanCHzw3Ee7ztf | ||
99 | /aU/q+FTpr3DLerb6S8xbv86ySgnJT6o5CyL2DCWRtnYQyGVi0ZmLzEouAYiO0hs | ||
100 | z0AAu28Mj+12g2WwePRz6gfM9rHtI37ylYW3oT/9M9mO9ei/Bc/1D7Dz6qNV+0vg | ||
101 | uSVJxM2Bl6GalHPZLhHntFEdIA6EdoUAEQEAAYkBHwQYAQIACQUCUGIs/AIbDAAK | ||
102 | CRAZJpRVM4hxpNfkB/0W/hP5WK/NETXBlWXXW7JPaWO2c5kGwD0lnj5RRmridyo1 | ||
103 | vbm5PdM91jOsDQYqRu6YOoYBnDnEhB2wL2bPh34HWwwrA+LwB8hlcAV2z1bdwyfl | ||
104 | 3R823fReKN3QcvLHzmvZPrF4Rk97M9UIyKS0RtnfTWykRgDWHIsrtQPoNwsXrWoT | ||
105 | 9LrM2v+1+9mp3vuXnE473/NHxmiWEQH9Ez+O/mOxQ7rSOlqGRiKq/IBZCfioJOtV | ||
106 | fTQeIu/yASZnsLBqr6SJEGwYBoWcyjG++k4fyw8ocOAo4uGDYbxgN7yYfNQ0OH7o | ||
107 | V6pfUgqKLWa/aK7/N1ZHnPdFLD8Xt0Dmy4BPwrKC | ||
108 | =O7am | ||
109 | -----END PGP PUBLIC KEY BLOCK----- | ||
78 | """ | 110 | """ |
79 | 111 | ||
80 | GIT = 'git' # our git command | 112 | GIT = 'git' # our git command |
81 | MIN_GIT_VERSION = (1, 5, 4) # minimum supported git version | 113 | MIN_GIT_VERSION = (1, 5, 4) # minimum supported git version |
82 | repodir = '.repo' # name of repo's private directory | 114 | repodir = '.repo' # name of repo's private directory |
83 | S_repo = 'repo' # special repo reposiory | 115 | S_repo = 'repo' # special repo repository |
84 | S_manifests = 'manifests' # special manifest repository | 116 | S_manifests = 'manifests' # special manifest repository |
85 | REPO_MAIN = S_repo + '/main.py' # main script | 117 | REPO_MAIN = S_repo + '/main.py' # main script |
86 | 118 | ||
@@ -130,7 +162,7 @@ group.add_option('-g', '--groups', | |||
130 | metavar='GROUP') | 162 | metavar='GROUP') |
131 | group.add_option('-p', '--platform', | 163 | group.add_option('-p', '--platform', |
132 | dest='platform', default="auto", | 164 | dest='platform', default="auto", |
133 | help='restrict manifest projects to ones with a specified' | 165 | help='restrict manifest projects to ones with a specified ' |
134 | 'platform group [auto|all|none|linux|darwin|...]', | 166 | 'platform group [auto|all|none|linux|darwin|...]', |
135 | metavar='PLATFORM') | 167 | metavar='PLATFORM') |
136 | 168 | ||
@@ -196,8 +228,8 @@ def _Init(args): | |||
196 | 228 | ||
197 | _CheckGitVersion() | 229 | _CheckGitVersion() |
198 | try: | 230 | try: |
199 | if _NeedSetupGnuPG(): | 231 | if NeedSetupGnuPG(): |
200 | can_verify = _SetupGnuPG(opt.quiet) | 232 | can_verify = SetupGnuPG(opt.quiet) |
201 | else: | 233 | else: |
202 | can_verify = True | 234 | can_verify = True |
203 | 235 | ||
@@ -246,7 +278,7 @@ def _CheckGitVersion(): | |||
246 | raise CloneFailure() | 278 | raise CloneFailure() |
247 | 279 | ||
248 | 280 | ||
249 | def _NeedSetupGnuPG(): | 281 | def NeedSetupGnuPG(): |
250 | if not os.path.isdir(home_dot_repo): | 282 | if not os.path.isdir(home_dot_repo): |
251 | return True | 283 | return True |
252 | 284 | ||
@@ -264,7 +296,7 @@ def _NeedSetupGnuPG(): | |||
264 | return False | 296 | return False |
265 | 297 | ||
266 | 298 | ||
267 | def _SetupGnuPG(quiet): | 299 | def SetupGnuPG(quiet): |
268 | if not os.path.isdir(home_dot_repo): | 300 | if not os.path.isdir(home_dot_repo): |
269 | try: | 301 | try: |
270 | os.mkdir(home_dot_repo) | 302 | os.mkdir(home_dot_repo) |
diff --git a/subcmds/sync.py b/subcmds/sync.py index a4ca344a..a7df7c89 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
@@ -46,6 +46,7 @@ except ImportError: | |||
46 | 46 | ||
47 | from git_command import GIT | 47 | from git_command import GIT |
48 | from git_refs import R_HEADS, HEAD | 48 | from git_refs import R_HEADS, HEAD |
49 | from main import WrapperModule | ||
49 | from project import Project | 50 | from project import Project |
50 | from project import RemoteSpec | 51 | from project import RemoteSpec |
51 | from command import Command, MirrorSafeCommand | 52 | from command import Command, MirrorSafeCommand |
@@ -537,7 +538,7 @@ uncommitted changes are present' % project.relpath | |||
537 | mp.PreSync() | 538 | mp.PreSync() |
538 | 539 | ||
539 | if opt.repo_upgraded: | 540 | if opt.repo_upgraded: |
540 | _PostRepoUpgrade(self.manifest) | 541 | _PostRepoUpgrade(self.manifest, opt) |
541 | 542 | ||
542 | if not opt.local_only: | 543 | if not opt.local_only: |
543 | mp.Sync_NetworkHalf(quiet=opt.quiet, | 544 | mp.Sync_NetworkHalf(quiet=opt.quiet, |
@@ -611,7 +612,10 @@ uncommitted changes are present' % project.relpath | |||
611 | if self.manifest.notice: | 612 | if self.manifest.notice: |
612 | print self.manifest.notice | 613 | print self.manifest.notice |
613 | 614 | ||
614 | def _PostRepoUpgrade(manifest): | 615 | def _PostRepoUpgrade(manifest, opt): |
616 | wrapper = WrapperModule() | ||
617 | if wrapper.NeedSetupGnuPG(): | ||
618 | wrapper.SetupGnuPG(opt.quiet) | ||
615 | for project in manifest.projects.values(): | 619 | for project in manifest.projects.values(): |
616 | if project.Exists: | 620 | if project.Exists: |
617 | project.PostRepoUpgrade() | 621 | project.PostRepoUpgrade() |