All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Fam Zheng <famz@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 1/3] tests/docker: add basic user mapping support
Date: Tue, 14 Feb 2017 15:11:36 +0000	[thread overview]
Message-ID: <87d1ekvmc7.fsf@linaro.org> (raw)
In-Reply-To: <20170214142204.GA20715@lemon.lan>


Fam Zheng <famz@redhat.com> writes:

> On Tue, 02/14 10:07, Alex Bennée wrote:
>> Currently all docker builds are done by exporting a tarball to the
>> docker container and running the build as the containers root user.
>> Other use cases are possible however and it is possible to map a part
>> of users file-system to the container. This is useful for example for
>> doing cross-builds of arbitrary source trees. For this to work
>> smoothly the container needs to have a user created that maps cleanly
>> to the host system.
>>
>> This adds a -u option to the docker script so that:
>>
>>   DEB_ARCH=armhf DEB_TYPE=stable ./tests/docker/docker.py build \
>>     -u --include-executable=arm-linux-user/qemu-arm \
>>     debian:armhf ./tests/docker/dockerfiles/debian-bootstrap.docker
>>
>> Will build a container that can then be run like:
>>
>>   docker run --rm -it -v /home/alex/lsrc/qemu/risu.git/:/src \
>>     --user=alex:alex -w /src/ debian:armhf \
>>     sh -c "make clean && ./configure -s && make"
>>
>> Alternatively specifying USER will add the appropriate stanza when
>> building via the Makefile:
>>
>>   make docker-image-debian-armhf-cross USER=1
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Reviewed-by: Fam Zheng <famz@redhat.com>
>>
>> ---
>> v2
>>   - write the useradd directly
>>   - change long option to --add-current-user
>> v3
>>   - images -> image's
>>   - add r-b
>>   - add USER to Makefile
>> ---
>>  tests/docker/Makefile.include |  2 ++
>>  tests/docker/docker.py        | 15 +++++++++++++--
>>  2 files changed, 15 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
>> index 3f15d5aea8..8db55e43aa 100644
>> --- a/tests/docker/Makefile.include
>> +++ b/tests/docker/Makefile.include
>> @@ -50,6 +50,7 @@ docker-image-%: $(DOCKER_FILES_DIR)/%.docker
>>  	$(call quiet-command,\
>>  		$(SRC_PATH)/tests/docker/docker.py build qemu:$* $< \
>>  		$(if $V,,--quiet) $(if $(NOCACHE),--no-cache) \
>> +		$(if $(USER),--add-current-user,) \
>>  		$(if $(EXECUTABLE),--include-executable=$(EXECUTABLE)),\
>>  		"BUILD","$*")
>>
>> @@ -99,6 +100,7 @@ docker:
>>  	@echo '                         (default is 1)'
>>  	@echo '    DEBUG=1              Stop and drop to shell in the created container'
>>  	@echo '                         before running the command.'
>> +	@echo '    USER=1		Add current user to docker image.'
>
> This is a bad choice of name, $USER is "$(id -un)", maybe
> ADD_CUR_USER?

Or we could just enable it by default? Is there a reason not to enable
the current user for these images?

>
> Fam
>
>
>>  	@echo '    NOCACHE=1            Ignore cache when build images.'
>>  	@echo '    EXECUTABLE=<path>    Include executable in image.'
>>


--
Alex Bennée

  reply	other threads:[~2017-02-14 15:11 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-14 10:07 [Qemu-devel] [PATCH v3 0/3] Docker cross-compile targets and user build support Alex Bennée
2017-02-14 10:07 ` [Qemu-devel] [PATCH v3 1/3] tests/docker: add basic user mapping support Alex Bennée
2017-02-14 14:22   ` Fam Zheng
2017-02-14 15:11     ` Alex Bennée [this message]
2017-02-14 15:20       ` Fam Zheng
2017-02-14 10:07 ` [Qemu-devel] [PATCH v3 2/3] new: debian docker targets for cross-compiling Alex Bennée
2017-02-14 14:00   ` Fam Zheng
2017-02-14 14:27     ` Fam Zheng
2017-02-14 15:10       ` Alex Bennée
2017-02-14 14:30   ` Peter Maydell
2017-02-14 15:09     ` Alex Bennée
2017-02-14 15:18       ` Fam Zheng
2017-02-14 10:07 ` [Qemu-devel] [PATCH v3 3/3] .shippable.yml: new CI provider Alex Bennée
2017-02-14 14:11   ` Fam Zheng
2017-02-14 15:56     ` Alex Bennée
2017-02-15  0:51       ` Fam Zheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d1ekvmc7.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=famz@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.