From 71199f595de081a4f2e93142d9f5b98df16e9089 Mon Sep 17 00:00:00 2001 From: Solomon Hykes Date: Wed, 1 May 2013 18:32:38 -0700 Subject: [PATCH 1/3] New Dockerfile operation: 'add' --- contrib/docker-build/docker-build | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/contrib/docker-build/docker-build b/contrib/docker-build/docker-build index 18d3153e86..c82377e107 100755 --- a/contrib/docker-build/docker-build +++ b/contrib/docker-build/docker-build @@ -69,11 +69,14 @@ def insert(base, src, dst, author=None): stdin.seek(0) return run_and_commit(base, "cat > {0}; chmod +x {0}".format(dst), stdin=stdin, author=author) -def push(base, dst, author=None): +def add(base, src, dst, author=None): print "PUSH to {} in {}".format(dst, base) + if src == ".": + tar = subprocess.Popen(["tar", "-c", "."], stdout=subprocess.PIPE).stdout + else: + tar = subprocess.Popen(["curl", src], stdout=subprocess.PIPE).stdout if dst == "": raise Exception("Missing argument to push") - tar = subprocess.Popen(["tar", "-c", "."], stdout=subprocess.PIPE).stdout return run_and_commit(base, "mkdir -p '{0}' && tar -C '{0}' -x".format(dst), stdin=tar, author=author) def main(): @@ -104,8 +107,9 @@ def main(): steps.append(result) base = result print "===> " + base - elif op == "push": - result = push(base, param.strip(), author=maintainer) + elif op == "add": + src, dst = param.split(" ", 1) + result = add(base, src, dst, author=maintainer) steps.append(result) base=result print "===> " + base From 6ca3b151b1fc0b838b55586adbc6c0990cfb2586 Mon Sep 17 00:00:00 2001 From: Solomon Hykes Date: Wed, 1 May 2013 22:05:36 -0700 Subject: [PATCH 2/3] * Hack: improve the way dockerbuilder is built --- hack/dockerbuilder/Dockerfile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hack/dockerbuilder/Dockerfile b/hack/dockerbuilder/Dockerfile index bf5a25de90..5a7a3160aa 100644 --- a/hack/dockerbuilder/Dockerfile +++ b/hack/dockerbuilder/Dockerfile @@ -1,5 +1,6 @@ # This will build a container capable of producing an official binary build of docker and # uploading it to S3 +maintainer Solomon Hykes from ubuntu:12.10 run apt-get update run DEBIAN_FRONTEND=noninteractive apt-get install -y -q s3cmd @@ -10,8 +11,9 @@ run DEBIAN_FRONTEND=noninteractive apt-get install -y -q build-essential # Packages required to build an ubuntu package run DEBIAN_FRONTEND=noninteractive apt-get install -y -q debhelper run DEBIAN_FRONTEND=noninteractive apt-get install -y -q autotools-dev -copy fake_initctl /usr/local/bin/initctl +add . /src +run cp /src/dockerbuilder /usr/local/bin/ +run cp /src/fake_initctl /usr/local/bin/initctl +run cp /src/s3cfg /.s3cfg run DEBIAN_FRONTEND=noninteractive apt-get install -y -q devscripts -copy dockerbuilder /usr/local/bin/dockerbuilder -copy s3cfg /.s3cfg -# run $img dockerbuilder $REVISION_OR_TAG $S3_ID $S3_KEY +cmd dockerbuilder From e7271cdaae50db382d5b5728904063c07d5549e4 Mon Sep 17 00:00:00 2001 From: Solomon Hykes Date: Thu, 2 May 2013 05:56:51 +0000 Subject: [PATCH 3/3] dockerbuilder: fix permissions --- hack/dockerbuilder/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hack/dockerbuilder/Dockerfile b/hack/dockerbuilder/Dockerfile index 5a7a3160aa..55540984fd 100644 --- a/hack/dockerbuilder/Dockerfile +++ b/hack/dockerbuilder/Dockerfile @@ -12,8 +12,8 @@ run DEBIAN_FRONTEND=noninteractive apt-get install -y -q build-essential run DEBIAN_FRONTEND=noninteractive apt-get install -y -q debhelper run DEBIAN_FRONTEND=noninteractive apt-get install -y -q autotools-dev add . /src -run cp /src/dockerbuilder /usr/local/bin/ -run cp /src/fake_initctl /usr/local/bin/initctl +run cp /src/dockerbuilder /usr/local/bin/ && chmod +x /usr/local/bin/dockerbuilder +run cp /src/fake_initctl /usr/local/bin/initctl && chmod +x /usr/local/bin/initctl run cp /src/s3cfg /.s3cfg run DEBIAN_FRONTEND=noninteractive apt-get install -y -q devscripts -cmd dockerbuilder +cmd ["dockerbuilder"]