From 2f6956eb88b1cf900292f940bf57e74b8382eec8 Mon Sep 17 00:00:00 2001 From: gdm85 Date: Mon, 2 Jun 2014 14:55:57 +0200 Subject: [PATCH] * added missing patch * added changes for previous commit --- docker/bitcoin-0.9.1-gitian-build.md | 23 ++++++++++++++++++++++- docker/gitian-host/Dockerfile | 9 +++++---- docker/gitian-host/setup.sh | 3 +++ 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/docker/bitcoin-0.9.1-gitian-build.md b/docker/bitcoin-0.9.1-gitian-build.md index 4616d55..e63c745 100644 --- a/docker/bitcoin-0.9.1-gitian-build.md +++ b/docker/bitcoin-0.9.1-gitian-build.md @@ -19,7 +19,28 @@ sudo apt-get install -y parallel patch Apply this patch to gitian-builder: ``` -INSERT PATCH HERE +diff --git a/bin/make-base-vm b/bin/make-base-vm +index c1920f3..8a44f13 100755 +--- a/bin/make-base-vm ++++ b/bin/make-base-vm +@@ -109,16 +109,3 @@ rm -rf $OUT + sudo vmbuilder kvm ubuntu --rootsize 10240 --arch=$ARCH --suite=$SUITE --addpkg=$addpkg --removepkg=$removepkg --ssh-key=var/id_dsa.pub --ssh-user-key=var/id_dsa.pub --mirror=$MIRROR --secu + mv $OUT/*.qcow2 $OUT.qcow2 + rm -rf $OUT +- +-if [ $LXC = "1" ]; then +- #sudo debootstrap --include=$addpkg --arch=$ARCH $SUITE $OUT-root $MIRROR +- echo Extracting partition for lxc +- qemu-img convert $OUT.qcow2 $OUT.raw +- loop=`sudo kpartx -av $OUT.raw|sed -n '/loop.p1/{s/.*loop\(.\)p1.*/\1/;p}'` +- sudo cp --sparse=always /dev/mapper/loop${loop}p1 $OUT +- sudo chown $USER $OUT +- sudo kpartx -d /dev/loop$loop +- rm -f $OUT.raw +- # bootstrap-fixup is done in libexec/make-clean-vm +-fi +- + ``` Afterwards run this script: diff --git a/docker/gitian-host/Dockerfile b/docker/gitian-host/Dockerfile index 168ce42..d0add52 100644 --- a/docker/gitian-host/Dockerfile +++ b/docker/gitian-host/Dockerfile @@ -37,13 +37,14 @@ EXPOSE 22 RUN echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc RUN echo 'debian ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/debian-sudo -RUN useradd -m -s /bin/bash debian && adduser debian sudo +##NOTE: all the chown/chmod hacks are workarounds to docker's glitches +RUN useradd -m -s /bin/bash debian && adduser debian sudo && mkdir /home/debian/.ssh && chown debian.debian /home/debian/.ssh + +WORKDIR /home/debian ## provide authorized keys to allow connections inside host ADD authorized_keys /home/debian/.ssh/authorized_keys -RUN chmod -R go-rwx /home/debian/.ssh - -WORKDIR /home/debian +RUN chown -R debian.debian .ssh && chmod -R go-rwx /home/debian/.ssh ## download in clear HTTP & check md5 right afterwards RUN wget http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12.4+bzr489.orig.tar.gz && echo "ec12e0070a007989561bfee5862c89a32c301992dd2771c4d5078ef1b3014f03 vm-builder_0.12.4+bzr489.orig.tar.gz" | sha256sum -c diff --git a/docker/gitian-host/setup.sh b/docker/gitian-host/setup.sh index 98d1b35..7518750 100755 --- a/docker/gitian-host/setup.sh +++ b/docker/gitian-host/setup.sh @@ -109,4 +109,7 @@ umount /dev/shm rmdir /dev/shm ln -s /run/shm /dev/shm +## test that debian user has access to its own .ssh (yes, Docker glitches crawling...) +su -c 'cat /home/debian/.ssh/authorized_keys' -l -- debian || exit $? + echo "Gitian host configuration for LXC guests completed successfully"