mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Update PGP keys during _PostRepoUpgrade in sync
Previously, if a key was added, a client wouldn't add the key during the sync step. This would cause issues if a new key were added and a subsequent release were signed by that key. Change-Id: I4fac317573cd9d0e8da62aa42e00faf08bfeb26c
This commit is contained in:
parent
57365c98cc
commit
c9129d90de
18
main.py
18
main.py
@ -23,6 +23,7 @@ if __name__ == '__main__':
|
||||
del magic
|
||||
|
||||
import getpass
|
||||
import imp
|
||||
import netrc
|
||||
import optparse
|
||||
import os
|
||||
@ -167,16 +168,15 @@ def _MyRepoPath():
|
||||
def _MyWrapperPath():
|
||||
return os.path.join(os.path.dirname(__file__), 'repo')
|
||||
|
||||
_wrapper_module = None
|
||||
def WrapperModule():
|
||||
global _wrapper_module
|
||||
if not _wrapper_module:
|
||||
_wrapper_module = imp.load_source('wrapper', _MyWrapperPath())
|
||||
return _wrapper_module
|
||||
|
||||
def _CurrentWrapperVersion():
|
||||
VERSION = None
|
||||
pat = re.compile(r'^VERSION *=')
|
||||
fd = open(_MyWrapperPath())
|
||||
for line in fd:
|
||||
if pat.match(line):
|
||||
fd.close()
|
||||
exec line
|
||||
return VERSION
|
||||
raise NameError, 'No VERSION in repo script'
|
||||
return WrapperModule().VERSION
|
||||
|
||||
def _CheckWrapperVersion(ver, repo_path):
|
||||
if not repo_path:
|
||||
|
14
repo
14
repo
@ -28,7 +28,7 @@ if __name__ == '__main__':
|
||||
del magic
|
||||
|
||||
# increment this whenever we make important changes to this script
|
||||
VERSION = (1, 17)
|
||||
VERSION = (1, 18)
|
||||
|
||||
# increment this if the MAINTAINER_KEYS block is modified
|
||||
KEYRING_VERSION = (1,0)
|
||||
@ -80,7 +80,7 @@ TACbBS+Up3RpfYVfd63c1cDdlru13pQAn3NQy/SN858MkxN+zym86UBgOad2
|
||||
GIT = 'git' # our git command
|
||||
MIN_GIT_VERSION = (1, 5, 4) # minimum supported git version
|
||||
repodir = '.repo' # name of repo's private directory
|
||||
S_repo = 'repo' # special repo reposiory
|
||||
S_repo = 'repo' # special repo repository
|
||||
S_manifests = 'manifests' # special manifest repository
|
||||
REPO_MAIN = S_repo + '/main.py' # main script
|
||||
|
||||
@ -130,7 +130,7 @@ group.add_option('-g', '--groups',
|
||||
metavar='GROUP')
|
||||
group.add_option('-p', '--platform',
|
||||
dest='platform', default="auto",
|
||||
help='restrict manifest projects to ones with a specified'
|
||||
help='restrict manifest projects to ones with a specified '
|
||||
'platform group [auto|all|none|linux|darwin|...]',
|
||||
metavar='PLATFORM')
|
||||
|
||||
@ -196,8 +196,8 @@ def _Init(args):
|
||||
|
||||
_CheckGitVersion()
|
||||
try:
|
||||
if _NeedSetupGnuPG():
|
||||
can_verify = _SetupGnuPG(opt.quiet)
|
||||
if NeedSetupGnuPG():
|
||||
can_verify = SetupGnuPG(opt.quiet)
|
||||
else:
|
||||
can_verify = True
|
||||
|
||||
@ -246,7 +246,7 @@ def _CheckGitVersion():
|
||||
raise CloneFailure()
|
||||
|
||||
|
||||
def _NeedSetupGnuPG():
|
||||
def NeedSetupGnuPG():
|
||||
if not os.path.isdir(home_dot_repo):
|
||||
return True
|
||||
|
||||
@ -264,7 +264,7 @@ def _NeedSetupGnuPG():
|
||||
return False
|
||||
|
||||
|
||||
def _SetupGnuPG(quiet):
|
||||
def SetupGnuPG(quiet):
|
||||
if not os.path.isdir(home_dot_repo):
|
||||
try:
|
||||
os.mkdir(home_dot_repo)
|
||||
|
@ -46,6 +46,7 @@ except ImportError:
|
||||
|
||||
from git_command import GIT
|
||||
from git_refs import R_HEADS, HEAD
|
||||
from main import WrapperModule
|
||||
from project import Project
|
||||
from project import RemoteSpec
|
||||
from command import Command, MirrorSafeCommand
|
||||
@ -537,7 +538,7 @@ uncommitted changes are present' % project.relpath
|
||||
mp.PreSync()
|
||||
|
||||
if opt.repo_upgraded:
|
||||
_PostRepoUpgrade(self.manifest)
|
||||
_PostRepoUpgrade(self.manifest, opt)
|
||||
|
||||
if not opt.local_only:
|
||||
mp.Sync_NetworkHalf(quiet=opt.quiet,
|
||||
@ -611,7 +612,10 @@ uncommitted changes are present' % project.relpath
|
||||
if self.manifest.notice:
|
||||
print self.manifest.notice
|
||||
|
||||
def _PostRepoUpgrade(manifest):
|
||||
def _PostRepoUpgrade(manifest, opt):
|
||||
wrapper = WrapperModule()
|
||||
if wrapper.NeedSetupGnuPG():
|
||||
wrapper.SetupGnuPG(opt.quiet)
|
||||
for project in manifest.projects.values():
|
||||
if project.Exists:
|
||||
project.PostRepoUpgrade()
|
||||
|
Loading…
Reference in New Issue
Block a user