From: Ciaran Gultnieks Date: Sun, 11 Jan 2015 15:33:41 +0000 (+0000) Subject: Add option to not use rsync --checksum X-Git-Tag: 0.4.0~146 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=e8d7e69630d751f60f2dae10abdd1c5028e62b19;p=fdroidserver.git Add option to not use rsync --checksum --- diff --git a/completion/bash-completion b/completion/bash-completion index b57b843b..0ace8946 100644 --- a/completion/bash-completion +++ b/completion/bash-completion @@ -250,7 +250,7 @@ __complete_stats() { __complete_server() { opts="-i -v -q" lopts="--identity-file --local-copy-dir --sync-from-local-copy-dir - --verbose --quiet update" + --verbose --quiet --no-checksum update" __complete_options } diff --git a/fdroidserver/server.py b/fdroidserver/server.py index b5da4be2..26a66ae8 100644 --- a/fdroidserver/server.py +++ b/fdroidserver/server.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- # # server.py - part of the FDroid server tools -# Copyright (C) 2010-13, Ciaran Gultnieks, ciaran@ciarang.com +# Copyright (C) 2010-15, Ciaran Gultnieks, ciaran@ciarang.com # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -123,7 +123,9 @@ def update_awsbucket(repo_section): def update_serverwebroot(serverwebroot, repo_section): # use a checksum comparison for accurate comparisons on different # filesystems, for example, FAT has a low resolution timestamp - rsyncargs = ['rsync', '--archive', '--delete', '--checksum'] + rsyncargs = ['rsync', '--archive', '--delete'] + if not options.nochecksum: + rsyncargs.append('--checksum') if options.verbose: rsyncargs += ['--verbose'] if options.quiet: @@ -164,7 +166,8 @@ def _local_sync(fromdir, todir): '--one-file-system', '--delete', '--chmod=Da+rx,Fa-x,a+r,u+w'] # use stricter rsync checking on all files since people using offline mode # are already prioritizing security above ease and speed - rsyncargs += ['--checksum'] + if not options.nochecksum: + rsyncargs.append('--checksum') if options.verbose: rsyncargs += ['--verbose'] if options.quiet: @@ -202,6 +205,8 @@ def main(): help="Spew out even more information than normal") parser.add_option("-q", "--quiet", action="store_true", default=False, help="Restrict output to warnings and errors") + parser.add_option("--no-checksum", action="store_true", default=False, + help="Don't use rsync checksums") (options, args) = parser.parse_args() config = common.read_config(options)