1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-10-02 09:10:11 +02:00

build: better logging output on rsync failures

Save rsync error output and combine that with the command invocation
into an FDroidException which can be logged to the wiki.

This additionally sets -q for rsync to only print errors.
This commit is contained in:
Marcus Hoffmann 2017-12-05 21:31:55 +01:00
parent bb643eddcf
commit e12e1b6a5c

View File

@ -100,18 +100,22 @@ def build_server(app, build, vcs, build_dir, output_dir, log_dir, force):
# Helper to copy the contents of a directory to the server...
def send_dir(path):
logging.debug("rsyncing " + path + " to " + ftp.getcwd())
subprocess.check_call(['rsync', '-rple',
'ssh -o StrictHostKeyChecking=no' +
' -o UserKnownHostsFile=/dev/null' +
' -o LogLevel=FATAL' +
' -o IdentitiesOnly=yes' +
' -o PasswordAuthentication=no' +
' -p ' + str(sshinfo['port']) +
' -i ' + sshinfo['idfile'],
path,
sshinfo['user'] +
"@" + sshinfo['hostname'] +
":" + ftp.getcwd()])
try:
subprocess.check_output(['rsync', '-rplqe',
'ssh -o StrictHostKeyChecking=no' +
' -o UserKnownHostsFile=/dev/null' +
' -o LogLevel=FATAL' +
' -o IdentitiesOnly=yes' +
' -o PasswordAuthentication=no' +
' -p ' + str(sshinfo['port']) +
' -i ' + sshinfo['idfile'],
path,
sshinfo['user'] +
"@" + sshinfo['hostname'] +
":" + ftp.getcwd()],
stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
raise FDroidException(str(e), e.output.decode())
logging.info("Preparing server for build...")
serverpath = os.path.abspath(os.path.dirname(__file__))