Commit 9451958b authored by Matthias Putz's avatar Matthias Putz

smaller bugfix in gpg setup

parent 2b4037ae
......@@ -14,6 +14,8 @@
* enable debugging: -d
* set debug host: --debug-host=172.31.0.250
* (used port is 19499)
* using local git-repo (in $GIT_REPO; branch 'dev') and local git repositories (in $REPOS)
$GIT_REPO/repo init -u $REPOS/manifest/ --no-repo-verify --repo-branch=dev
# repo functionality
......
......@@ -150,10 +150,10 @@ class _Repo(object):
try:
result = cmd.Execute(copts, cargs)
except DownloadError as e:
print('error: %s' % str(e), file=sys.stderr)
print('error: DownloadError: %s' % str(e), file=sys.stderr)
result = 1
except ManifestInvalidRevisionError as e:
print('error: %s' % str(e), file=sys.stderr)
print('error: ManifestInvalidRevisionError: %s' % str(e), file=sys.stderr)
result = 1
except NoManifestException as e:
print('error: manifest required for this command -- please run init',
......
......@@ -130,10 +130,7 @@ class XmlManifest(object):
try:
if os.path.lexists(self.manifestFile):
os.remove(self.manifestFile)
#if portable.isLinux():
src = 'manifests/%s' % name
#else:
# src = self.manifestProject.relpath + '/%s' % name
portable.os_link('./.repo/%s' % src, self.manifestFile)
except OSError as e:
raise ManifestParseError('cannot link manifest %s: %s' % (name, str(e)))
......
......@@ -8,6 +8,7 @@ import os
import platform
import subprocess
import sys
import stat
SYNC_REPO_PROGRAM = False
SUBPROCESSES = []
......@@ -56,4 +57,14 @@ def os_link(src, dst):
else:
# requires paths in relation to current dir (not in relation to target file)
src = toUnixPath(src)
os.link(src, dst)
\ No newline at end of file
os.link(src, dst)
def removeReadOnlyFilesHandler(fn, path, excinfo):
removeReadOnlyFiles(fn, path)
def removeReadOnlyFiles(fn, path):
if not os.access(path, os.W_OK):
os.chmod(path, stat.S_IWUSR)
fn(path)
else:
raise Exception("Could not delete %s" % path)
\ No newline at end of file
......@@ -54,7 +54,7 @@ def _lwrite(path, content):
def _error(fmt, *args):
msg = fmt % args
print('error: %s' % msg, file=sys.stderr)
print('error in project: %s' % msg, file=sys.stderr)
def not_rev(r):
return '^' + r
......
......@@ -3,6 +3,8 @@
import sys
# copied from portable
import portable
def stream2str(stream):
return str(stream, encoding='UTF-8')
......@@ -239,6 +241,7 @@ def _Init(args):
dst = os.path.abspath(os.path.join(repodir, S_repo))
_Clone(url, dst, opt.quiet)
print(opt.no_repo_verify)
if can_verify and not opt.no_repo_verify:
rev = _Verify(dst, branch, opt.quiet)
else:
......@@ -331,7 +334,7 @@ def SetupGnuPG(quiet):
print(file=sys.stderr)
return False
proc.stdin.write(MAINTAINER_KEYS)
proc.stdin.write(MAINTAINER_KEYS.encode())
proc.stdin.close()
if proc.wait() != 0:
......@@ -519,7 +522,7 @@ def _Verify(cwd, branch, quiet):
print(file=sys.stderr)
env = os.environ.copy()
env['GNUPGHOME'] = gpg_dir.encode()
env['GNUPGHOME'] = gpg_dir
cmd = [GIT, 'tag', '-v', cur]
proc = subprocess.Popen(cmd,
......@@ -704,7 +707,7 @@ def main(orig_args):
except CloneFailure:
for root, dirs, files in os.walk(repodir, topdown=False):
for name in files:
os.remove(os.path.join(root, name))
portable.removeReadOnlyFiles(os.remove, os.path.join(root, name))
for name in dirs:
os.rmdir(os.path.join(root, name))
os.rmdir(repodir)
......
......@@ -23,6 +23,7 @@ import sys
from color import Coloring
from command import InteractiveCommand, MirrorSafeCommand
from error import ManifestParseError
import portable
from project import SyncBuffer
from git_config import GitConfig
from git_command import git_require, MIN_GIT_VERSION
......@@ -193,7 +194,7 @@ to update the working directory files.
# Better delete the manifest git dir if we created it; otherwise next
# time (when user fixes problems) we won't go through the "is_new" logic.
if is_new:
shutil.rmtree(m.gitdir)
shutil.rmtree(m.gitdir, onerror=portable.removeReadOnlyFilesHandler)
sys.exit(1)
if opt.manifest_branch:
......
......@@ -412,7 +412,7 @@ later is required to fix a server side protocol bug.
else:
print('Deleting obsolete path %s' % project.worktree,
file=sys.stderr)
shutil.rmtree(project.worktree)
shutil.rmtree(project.worktree, onerror=portable.removeReadOnlyFilesHandler)
# Try deleting parent subdirs if they are empty
project_dir = os.path.dirname(project.worktree)
while project_dir != self.manifest.topdir:
......@@ -496,7 +496,7 @@ later is required to fix a server side protocol bug.
except netrc.NetrcParseError as e:
print('Error parsing .netrc file: %s' % e, file=sys.stderr)
if (username and password):
if username and password:
manifest_server = manifest_server.replace('://', '://%s:%s@' %
(username, password),
1)
......@@ -538,7 +538,7 @@ later is required to fix a server side protocol bug.
sys.exit(1)
self.manifest.Override(manifest_name)
else:
print('error: %s' % manifest_str, file=sys.stderr)
print('error in getting manifest: %s' % manifest_str, file=sys.stderr)
sys.exit(1)
except (socket.error, IOError, xmlrpc.client.Fault) as e:
print('error: cannot connect to manifest server %s:\n%s'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment