summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmain.py18
-rwxr-xr-xrepo48
-rw-r--r--subcmds/sync.py8
3 files changed, 55 insertions, 19 deletions
diff --git a/main.py b/main.py
index d993ee4e..ba40d56b 100755
--- a/main.py
+++ b/main.py
@@ -23,6 +23,7 @@ if __name__ == '__main__':
23del magic 23del magic
24 24
25import getpass 25import getpass
26import imp
26import netrc 27import netrc
27import optparse 28import optparse
28import os 29import os
@@ -167,16 +168,15 @@ def _MyRepoPath():
167def _MyWrapperPath(): 168def _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
172def WrapperModule():
173 global _wrapper_module
174 if not _wrapper_module:
175 _wrapper_module = imp.load_source('wrapper', _MyWrapperPath())
176 return _wrapper_module
177
170def _CurrentWrapperVersion(): 178def _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
181def _CheckWrapperVersion(ver, repo_path): 181def _CheckWrapperVersion(ver, repo_path):
182 if not repo_path: 182 if not repo_path:
diff --git a/repo b/repo
index 7942851b..70f41572 100755
--- a/repo
+++ b/repo
@@ -28,10 +28,10 @@ if __name__ == '__main__':
28del magic 28del 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
31VERSION = (1, 17) 31VERSION = (1, 18)
32 32
33# increment this if the MAINTAINER_KEYS block is modified 33# increment this if the MAINTAINER_KEYS block is modified
34KEYRING_VERSION = (1,0) 34KEYRING_VERSION = (1,1)
35MAINTAINER_KEYS = """ 35MAINTAINER_KEYS = """
36 36
37 Repo Maintainer <repo@android.kernel.org> 37 Repo Maintainer <repo@android.kernel.org>
@@ -75,12 +75,44 @@ zE3GNvmJosh6leayjtI9P2A6iEkEGBECAAkFAkj3uiACGwwACgkQFlMNXpIPXGWp
75TACbBS+Up3RpfYVfd63c1cDdlru13pQAn3NQy/SN858MkxN+zym86UBgOad2 75TACbBS+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-----
81Version: GnuPG v1.4.11 (GNU/Linux)
82
83mQENBFBiLPwBCACvISTASOgFXwADw2GYRH2I2z9RvYkYoZ6ThTTNlMXbbYYKO2Wo
84a9LQDNW0TbCEekg5UKk0FD13XOdWaqUt4Gtuvq9c43GRSjMO6NXH+0BjcQ8vUtY2
85/W4CYUevwdo4nQ1+1zsOCu1XYe/CReXq0fdugv3hgmRmh3sz1soo37Q44W2frxxg
86U7Rz3Da4FjgAL0RQ8qndD+LwRHXTY7H7wYM8V/3cYFZV7pSodd75q3MAXYQLf0ZV
87QR1XATu5l1QnXrxgHvz7MmDwb1D+jX3YPKnZveaukigQ6hDHdiVcePBiGXmk8LZC
882jQkdXeF7Su1ZYpr2nnEHLJ6vOLcCpPGb8gDABEBAAG0H0NvbmxleSBPd2VucyA8
89Y2NvM0BhbmRyb2lkLmNvbT6JATgEEwECACIFAlBiLPwCGwMGCwkIBwMCBhUIAgkK
90CwQWAgMBAh4BAheAAAoJEBkmlFUziHGkHVkH/2Hks2Cif5i2xPtv2IFZcjL42joU
91T7lO5XFqUYS9ZNHpGa/V0eiPt7rHoO16glR83NZtwlrq2cSN89i9HfOhMYV/qLu8
92fLCHcV2muw+yCB5s5bxnI5UkToiNZyBNqFkcOt/Kbj9Hpy68A1kmc6myVEaUYebq
932Chx/f3xuEthan099t746v1K+/6SvQGDNctHuaMr9cWdxZtHjdRf31SQRc99Phe5
94w+ZGR/ebxNDKRK9mKgZT8wVFHlXerJsRqWIqtx1fsW1UgLgbpcpe2MChm6B5wTu0
95s1ltzox3l4q71FyRRPUJxXyvGkDLZWpK7EpiHSCOYq/KP3HkKeXU3xqHpcG5AQ0E
96UGIs/AEIAKzO/7lO9cB6dshmZYo8Vy/b7aGicThE+ChcDSfhvyOXVdEM2GKAjsR+
97rlBWbTFX3It301p2HwZPFEi9nEvJxVlqqBiW0bPmNMkDRR55l2vbWg35wwkg6RyE
98Bc5/TQjhXI2w8IvlimoGoUff4t3JmMOnWrnKSvL+5iuRj12p9WmanCHzw3Ee7ztf
99/aU/q+FTpr3DLerb6S8xbv86ySgnJT6o5CyL2DCWRtnYQyGVi0ZmLzEouAYiO0hs
100z0AAu28Mj+12g2WwePRz6gfM9rHtI37ylYW3oT/9M9mO9ei/Bc/1D7Dz6qNV+0vg
101uSVJxM2Bl6GalHPZLhHntFEdIA6EdoUAEQEAAYkBHwQYAQIACQUCUGIs/AIbDAAK
102CRAZJpRVM4hxpNfkB/0W/hP5WK/NETXBlWXXW7JPaWO2c5kGwD0lnj5RRmridyo1
103vbm5PdM91jOsDQYqRu6YOoYBnDnEhB2wL2bPh34HWwwrA+LwB8hlcAV2z1bdwyfl
1043R823fReKN3QcvLHzmvZPrF4Rk97M9UIyKS0RtnfTWykRgDWHIsrtQPoNwsXrWoT
1059LrM2v+1+9mp3vuXnE473/NHxmiWEQH9Ez+O/mOxQ7rSOlqGRiKq/IBZCfioJOtV
106fTQeIu/yASZnsLBqr6SJEGwYBoWcyjG++k4fyw8ocOAo4uGDYbxgN7yYfNQ0OH7o
107V6pfUgqKLWa/aK7/N1ZHnPdFLD8Xt0Dmy4BPwrKC
108=O7am
109-----END PGP PUBLIC KEY BLOCK-----
78""" 110"""
79 111
80GIT = 'git' # our git command 112GIT = 'git' # our git command
81MIN_GIT_VERSION = (1, 5, 4) # minimum supported git version 113MIN_GIT_VERSION = (1, 5, 4) # minimum supported git version
82repodir = '.repo' # name of repo's private directory 114repodir = '.repo' # name of repo's private directory
83S_repo = 'repo' # special repo reposiory 115S_repo = 'repo' # special repo repository
84S_manifests = 'manifests' # special manifest repository 116S_manifests = 'manifests' # special manifest repository
85REPO_MAIN = S_repo + '/main.py' # main script 117REPO_MAIN = S_repo + '/main.py' # main script
86 118
@@ -130,7 +162,7 @@ group.add_option('-g', '--groups',
130 metavar='GROUP') 162 metavar='GROUP')
131group.add_option('-p', '--platform', 163group.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
249def _NeedSetupGnuPG(): 281def 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
267def _SetupGnuPG(quiet): 299def 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
47from git_command import GIT 47from git_command import GIT
48from git_refs import R_HEADS, HEAD 48from git_refs import R_HEADS, HEAD
49from main import WrapperModule
49from project import Project 50from project import Project
50from project import RemoteSpec 51from project import RemoteSpec
51from command import Command, MirrorSafeCommand 52from 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
614def _PostRepoUpgrade(manifest): 615def _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()