From 1d83d4396c280db6f46d712bf2133577dcbba0ed Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 7 Dec 2017 15:56:09 +0100 Subject: [PATCH 1/4] makebuildserver: quiet rsync for copy_caches_from_host --- makebuildserver | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makebuildserver b/makebuildserver index 306c2845..f2faa09c 100755 --- a/makebuildserver +++ b/makebuildserver @@ -561,7 +561,7 @@ def main(): '-o PasswordAuthentication=no')) # TODO vagrant 1.5+ provides `vagrant rsync` run_via_vagrant_ssh(v, ['cd ~ && test -d', d, '|| mkdir -p', d]) - subprocess.call(['rsync', '-axv', '--progress', '--delete', '-e', + subprocess.call(['rsync', '-ax', '--delete', '-e', ssh_command, fullpath + '/', user + '@' + hostname + ':~/' + d + '/']) From 4af8f196e349f0660b2401e679f052c6c9dd532b Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 7 Dec 2017 21:40:15 +0100 Subject: [PATCH 2/4] metadata: error if .fdroid.txt exists, it is unsupported Using .txt format has bugs when used embedded in an app's git repo, so tell the user to use YAML or JSON. #364 --- fdroidserver/metadata.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index d2bae63f..c066d499 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -748,6 +748,8 @@ def read_metadata(xref=True, check_vcs=[], sort_by_time=False): metadatafiles = sorted(metadatafiles) for metadatapath in metadatafiles: + if metadatapath == '.fdroid.txt': + warn_or_exception(_('.fdroid.txt is not supported! Convert to .fdroid.yml or .fdroid.json.')) packageName, _ignored = fdroidserver.common.get_extension(os.path.basename(metadatapath)) if packageName in apps: warn_or_exception(_("Found multiple metadata files for {appid}") From bb758d3f00ba976fcf955928492f517e4b94685b Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 7 Dec 2017 22:26:13 +0100 Subject: [PATCH 3/4] build: `apt-get purge sudo` after using it for sudo= build field Once `sudo` has been used to execute the commands in sudo=, then it should be removed from the build VM. That prevents any other part of the build from using sudo. That means that all commands run with `sudo` must be committed to fdroiddata.git, making them very visible. closes #424 --- fdroidserver/build.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index d83342d5..e2866fbd 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -414,6 +414,11 @@ def build_local(app, build, vcs, build_dir, output_dir, log_dir, srclib_dir, ext raise BuildException("Error running sudo command for %s:%s" % (app.id, build.versionName), p.output) + p = FDroidPopen(['sudo', 'apt-get', '-y', 'purge', 'sudo']) + if p.returncode != 0: + raise BuildException("Error removing sudo for %s:%s" % + (app.id, build.versionName), p.output) + log_path = os.path.join(log_dir, common.get_toolsversion_logname(app, build)) with open(log_path, 'w') as f: From 5c9d46b5b273515c7abc627b097ff7bfa9745fba Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 8 Dec 2017 00:09:41 +0100 Subject: [PATCH 4/4] remove XML files from bash completion, they are not supported anymore --- completion/bash-completion | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/completion/bash-completion b/completion/bash-completion index 3627ae46..28588656 100644 --- a/completion/bash-completion +++ b/completion/bash-completion @@ -35,7 +35,7 @@ __by_ext() { } __package() { - files="$(__by_ext txt) $(__by_ext yml) $(__by_ext json) $(__by_ext xml)" + files="$(__by_ext txt) $(__by_ext yml) $(__by_ext json)" COMPREPLY=( $( compgen -W "$files" -- $cur ) ) }