From eca54d6c218e7240e70d8e76f441727868e08c95 Mon Sep 17 00:00:00 2001 From: The Fox in the Shell Date: Sat, 13 Aug 2016 01:09:17 +0200 Subject: [PATCH] docker: Use a standard escaping function. The outer double-quotes (") were breaking things on some versions of Docker, such as the one currently available on Travis. --- bootstrapvz/providers/docker/tasks/image.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/bootstrapvz/providers/docker/tasks/image.py b/bootstrapvz/providers/docker/tasks/image.py index f4555e7..4d3d622 100644 --- a/bootstrapvz/providers/docker/tasks/image.py +++ b/bootstrapvz/providers/docker/tasks/image.py @@ -50,15 +50,9 @@ class PopulateLabels(Task): for label, value in info.manifest.provider['labels'].items(): labels[label] = value.format(**info.manifest_vars) - # pipes.quote converts newlines into \n rather than just prefixing - # it with a backslash, so we need to escape manually - def escape(value): - value = value.replace('"', '\\"') - value = value.replace('\n', '\\\n') - value = '"' + value + '"' - return value + from pipes import quote for label, value in labels.items(): - info._docker['dockerfile'].append('LABEL {}={}'.format(label, escape(value))) + info._docker['dockerfile'].append('LABEL {}={}'.format(label, quote(value))) class AppendManifestDockerfile(Task):