* [Buildroot] [PATCH 0/5] support/docker: add new dockers
@ 2018-07-13 6:38 Yann E. MORIN
2018-07-13 6:38 ` [Buildroot] [PATCH 1/5] core: add a rule to generate all our docker images Yann E. MORIN
` (4 more replies)
0 siblings, 5 replies; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-13 6:38 UTC (permalink / raw)
To: buildroot
Hello All!
Add new docker images of various distros, with the packages needed to
run Buildroot already installed.
This will help:
- users, to get a build environment known to work,
- developpers, to more easily reproduce build failures reported by
users.
A basic set of a few, very various distors have been chosen, to cover
a range of diversity:
- the existing, rock-solid Debian Stretch, pinned to a known state,
that we use for the Gitlab-CI testing;
- Fedora-F28, a bleeding-edge mainstream distro, pinned to the state
it was at release time;
- Arch 2018.07.01, a snapshot of a popular rolling-release distro;
- Alpine 3.7, an not-so-obscur-yet-far-from-mainstream distro, which
peculiarity is to be based on musl and busybox, instead of the more
conventional glibc, coreutils, linux-utils, bash, et al...
More variants can be added later, depending on the demand.
Note 1: when this series is applied (if it is), I'll generate the images
and push them to the Buildroot repo on the Docker hub.
Note 2: in the first patch, I am absoutely sure we can bike-shed at
length on the rule name. Shoot! ;-)
Regards,
Yann E. MORIN.
The following changes since commit bf79731153d2739580954161547225acb60f65e8
libcurl: security bump to version 7.61.0 (2018-07-12 22:18:54 +0200)
are available in the git repository at:
git://git.buildroot.org/~ymorin/git/buildroot.git
for you to fetch changes up to 9f99ad9f8d86876a7e16185a9025223bc01edf9d
support/docker: add an Alpine-3.7 based image (2018-07-13 08:35:08 +0200)
----------------------------------------------------------------
Yann E. MORIN (5):
core: add a rule to generate all our docker images
support/docker: rename the Dockerfile and its accompanying file
support/docker: add a Fedore-28 based image
support/docker: add an Arch image
support/docker: add an Alpine-3.7 based image
Makefile | 13 ++++++
support/docker/Dockerfile.alpine-3.7 | 42 +++++++++++++++++++
support/docker/Dockerfile.arch-2018.07.01 | 40 ++++++++++++++++++
support/docker/Dockerfile.base | 1 +
.../{Dockerfile => Dockerfile.debian-stretch} | 7 +++-
support/docker/Dockerfile.fedora-28 | 48 ++++++++++++++++++++++
...ources.list => debian-stretch.apt-sources.list} | 0
7 files changed, 149 insertions(+), 2 deletions(-)
create mode 100644 support/docker/Dockerfile.alpine-3.7
create mode 100644 support/docker/Dockerfile.arch-2018.07.01
create mode 120000 support/docker/Dockerfile.base
rename support/docker/{Dockerfile => Dockerfile.debian-stretch} (87%)
create mode 100644 support/docker/Dockerfile.fedora-28
rename support/docker/{apt-sources.list => debian-stretch.apt-sources.list} (100%)
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 18+ messages in thread* [Buildroot] [PATCH 1/5] core: add a rule to generate all our docker images
2018-07-13 6:38 [Buildroot] [PATCH 0/5] support/docker: add new dockers Yann E. MORIN
@ 2018-07-13 6:38 ` Yann E. MORIN
2018-07-16 0:39 ` Ricardo Martincoski
2018-07-13 6:38 ` [Buildroot] [PATCH 2/5] support/docker: rename the Dockerfile and its accompanying file Yann E. MORIN
` (3 subsequent siblings)
4 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-13 6:38 UTC (permalink / raw)
To: buildroot
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Makefile | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/Makefile b/Makefile
index 8d25c8a239..e2b8770d53 100644
--- a/Makefile
+++ b/Makefile
@@ -1071,6 +1071,8 @@ help:
@echo ' external-deps - list external packages used'
@echo ' legal-info - generate info about license compliance'
@echo ' printvars - dump all the internal variables'
+ @echo ' docker4buildroot - build docker images of some distros, with all the'
+ @echo ' packages needed to use Buildroot already installed'
@echo
@echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build'
@echo ' make O=dir - Locate all output files in "dir", including .config'
@@ -1131,6 +1133,17 @@ print-version:
(cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@
./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@
+.PHONY: docker4buildroot
+docker4buildroot:
+ @if [ -z "$(BR2_DOCKER_VERSION)" ]; then \
+ printf "Please, set the version of the docker images with BR2_DOCKER_VERSION\n"; \
+ exit 1; \
+ fi
+ for d in support/docker/Dockerfile.*; do \
+ docker build -t "buildroot/$${d#*/Dockerfile.}:$(BR2_DOCKER_VERSION)" \
+ -f "$${d}" "$${d%/*}" || exit 1; \
+ done
+
include docs/manual/manual.mk
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))
--
2.14.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [Buildroot] [PATCH 1/5] core: add a rule to generate all our docker images
2018-07-13 6:38 ` [Buildroot] [PATCH 1/5] core: add a rule to generate all our docker images Yann E. MORIN
@ 2018-07-16 0:39 ` Ricardo Martincoski
0 siblings, 0 replies; 18+ messages in thread
From: Ricardo Martincoski @ 2018-07-16 0:39 UTC (permalink / raw)
To: buildroot
Hello,
On Fri, Jul 13, 2018 at 03:38 AM, Yann E. MORIN wrote:
[snip]
> @@ -1071,6 +1071,8 @@ help:
> @echo ' external-deps - list external packages used'
> @echo ' legal-info - generate info about license compliance'
> @echo ' printvars - dump all the internal variables'
> + @echo ' docker4buildroot - build docker images of some distros, with all the'
> + @echo ' packages needed to use Buildroot already installed'
From your cover letter:
"Note 1: when this series is applied (if it is), I'll generate the images
and push them to the Buildroot repo on the Docker hub."
So for the everyday use, people will not build the images, but instead just
download the images and use them, something like this:
$ docker pull buildroot/fedora-28:20180717.1955
So we could use a bash script instead of creating another make target just for
this:
support/docker/build
This script could:
- enforce it is called from base dir (if that matters, I am not sure);
- accept the BR2_DOCKER_VERSION as a command line parameter and also in its
usage do state it is preferable to use the YYYYMMDD.HHMM format, reusing the
text from the dockerfile header: "(YYYYMMDD.HHMM is the current date and
time in UTC)"
- allow users to easily change the prefix for the tag. It would be useful when
someone wants to create a patch adding stuff to the docker images, generate
a test image, upload to its own hub.docker.com account (e.g.
docker push ricardomartincoski/debian-stretch:20180717.1955) and use it for
tests in its own gitlab account.
[snip]
> +docker4buildroot:
> + @if [ -z "$(BR2_DOCKER_VERSION)" ]; then \
> + printf "Please, set the version of the docker images with BR2_DOCKER_VERSION\n"; \
> + exit 1; \
> + fi
> + for d in support/docker/Dockerfile.*; do \
> + docker build -t "buildroot/$${d#*/Dockerfile.}:$(BR2_DOCKER_VERSION)" \
After applying only patch 1 I get:
$ export BR2_DOCKER_VERSION=20180717.1955
$ make docker4buildroot
invalid argument "buildroot/*:20180717.1955" for "-t, --tag" flag: invalid reference format
Because the pattern Dockerfile.* does not match before patch 2 is applied.
You could adjust the pattern (Dockerfile.* -> Dockerfile*) but maybe even better
is to invert the order of patches 1 and 2 in the series.
> + -f "$${d}" "$${d%/*}" || exit 1; \
> + done
> +
Regards,
Ricardo
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 2/5] support/docker: rename the Dockerfile and its accompanying file
2018-07-13 6:38 [Buildroot] [PATCH 0/5] support/docker: add new dockers Yann E. MORIN
2018-07-13 6:38 ` [Buildroot] [PATCH 1/5] core: add a rule to generate all our docker images Yann E. MORIN
@ 2018-07-13 6:38 ` Yann E. MORIN
2018-07-16 0:44 ` Ricardo Martincoski
2018-07-13 6:38 ` [Buildroot] [PATCH 3/5] support/docker: add a Fedore-28 based image Yann E. MORIN
` (2 subsequent siblings)
4 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-13 6:38 UTC (permalink / raw)
To: buildroot
Currently, we only generate one docker image, for use by the gitlab-ci
infra.
However, users have expressed an interest in using that image for other
uses, like:
- reproducing build failures as reported by the gitlab-ci jobs;
- having a ready-to-use base image to use as-is, or as a template for
further customisations.
Additionally, some users have reported the need for similar base images,
but based off different distros, with the same goals as above, plus:
- reproducing build failures reported by users on other distros.
As a first step toward providing such images, rename our Dockerfile to
include the name and version of the distro it is based off.
We add a symlink so that we still have a 'base' image that we can
reference from the gitla-ci infra.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/docker/Dockerfile.base | 1 +
support/docker/{Dockerfile => Dockerfile.debian-stretch} | 7 +++++--
.../docker/{apt-sources.list => debian-stretch.apt-sources.list} | 0
3 files changed, 6 insertions(+), 2 deletions(-)
create mode 120000 support/docker/Dockerfile.base
rename support/docker/{Dockerfile => Dockerfile.debian-stretch} (87%)
rename support/docker/{apt-sources.list => debian-stretch.apt-sources.list} (100%)
diff --git a/support/docker/Dockerfile.base b/support/docker/Dockerfile.base
new file mode 120000
index 0000000000..06a988b45e
--- /dev/null
+++ b/support/docker/Dockerfile.base
@@ -0,0 +1 @@
+Dockerfile.debian-stretch
\ No newline at end of file
diff --git a/support/docker/Dockerfile b/support/docker/Dockerfile.debian-stretch
similarity index 87%
rename from support/docker/Dockerfile
rename to support/docker/Dockerfile.debian-stretch
index 36cd3b28a4..2a178e3ca4 100644
--- a/support/docker/Dockerfile
+++ b/support/docker/Dockerfile.debian-stretch
@@ -1,6 +1,9 @@
+# vi: ft=dockerfile
# This Dockerfile generates the docker image that gets used by Gitlab CI
# To build it (YYYYMMDD.HHMM is the current date and time in UTC):
-# sudo docker build -t buildroot/base:YYYYMMDD.HHMM support/docker
+# sudo docker build -t buildroot/base:YYYYMMDD.HHMM \
+# -f support/docker/Dockerfile.debian-stretch \
+# support/docker
# sudo docker push buildroot/base:YYYYMMDD.HHMM
# We use a specific tag for the base image *and* the corresponding date
@@ -16,7 +19,7 @@ description="Container with everything needed to run Buildroot"
ENV DEBIAN_FRONTEND noninteractive
# This repository can be a bit slow at times. Don't panic...
-COPY apt-sources.list /etc/apt/sources.list
+COPY debian-stretch.apt-sources.list /etc/apt/sources.list
# The container has no package lists, so need to update first
RUN dpkg --add-architecture i386 && \
diff --git a/support/docker/apt-sources.list b/support/docker/debian-stretch.apt-sources.list
similarity index 100%
rename from support/docker/apt-sources.list
rename to support/docker/debian-stretch.apt-sources.list
--
2.14.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [Buildroot] [PATCH 3/5] support/docker: add a Fedore-28 based image
2018-07-13 6:38 [Buildroot] [PATCH 0/5] support/docker: add new dockers Yann E. MORIN
2018-07-13 6:38 ` [Buildroot] [PATCH 1/5] core: add a rule to generate all our docker images Yann E. MORIN
2018-07-13 6:38 ` [Buildroot] [PATCH 2/5] support/docker: rename the Dockerfile and its accompanying file Yann E. MORIN
@ 2018-07-13 6:38 ` Yann E. MORIN
2018-07-16 0:48 ` Ricardo Martincoski
2018-07-13 6:38 ` [Buildroot] [PATCH 4/5] support/docker: add an Arch image Yann E. MORIN
2018-07-13 6:38 ` [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image Yann E. MORIN
4 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-13 6:38 UTC (permalink / raw)
To: buildroot
Hopefully, this image is reproducible, since we are not using any update
repository, and from the looks of it, the repository of the release is
never touched.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/docker/Dockerfile.fedora-28 | 48 +++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
create mode 100644 support/docker/Dockerfile.fedora-28
diff --git a/support/docker/Dockerfile.fedora-28 b/support/docker/Dockerfile.fedora-28
new file mode 100644
index 0000000000..7b8e193bc4
--- /dev/null
+++ b/support/docker/Dockerfile.fedora-28
@@ -0,0 +1,48 @@
+# vi: ft=dockerfile
+# Note: this dockerfile is not reproducible, because the repository
+# where we fetch packages from is not pinned to a specific point in
+# time; i.e. we'll get whatever is current at the moment we build.
+
+FROM fedora:28
+
+# Fedora's Dokerfile does not provide a edefault command
+CMD ["bash"]
+
+LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
+ vendor="Buildroot" \
+ description="Container based on Fedora 28, with everything needed to run Buildroot already installed"
+
+# Remove the repository with updates, so we only
+# get packages as they were at time of release.
+RUN rm -f /etc/yum.repos.d/fedora-updates*.repo && \
+ dnf -y install \
+ @development-tools \
+ bc \
+ bzip2 \
+ bzr \
+ cpio \
+ cvs \
+ file \
+ gcc-c++ \
+ git \
+ ncurses-devel \
+ mercurial \
+ perl-ExtUtils-MakeMaker \
+ perl-Thread-Queue \
+ python-nose2 \
+ python-pexpect \
+ qemu-system-arm \
+ qemu-system-x86 \
+ rsync \
+ subversion \
+ unzip \
+ wget \
+ && dnf -y clean all
+
+RUN useradd -ms /bin/bash br-user && \
+ chown -R br-user:br-user /home/br-user
+
+USER br-user
+WORKDIR /home/br-user
+ENV HOME /home/br-user
+ENV LC_ALL en_US.UTF-8
--
2.14.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-13 6:38 [Buildroot] [PATCH 0/5] support/docker: add new dockers Yann E. MORIN
` (2 preceding siblings ...)
2018-07-13 6:38 ` [Buildroot] [PATCH 3/5] support/docker: add a Fedore-28 based image Yann E. MORIN
@ 2018-07-13 6:38 ` Yann E. MORIN
2018-07-14 11:19 ` Martin Bark
2018-07-13 6:38 ` [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image Yann E. MORIN
4 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-13 6:38 UTC (permalink / raw)
To: buildroot
Hopefully, this image is reproducible, since we are using a tagged
base image, plus a pinned repository mirror.
As for the Debian-stretch Dockerfile, we refresh the repository and
install packages in two different layers (see commit c4f844ff321
(support/docker: run apt-get update and apt-get install in two RUNs)
for in-depth explanations.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/docker/Dockerfile.arch-2018.07.01 | 40 +++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 support/docker/Dockerfile.arch-2018.07.01
diff --git a/support/docker/Dockerfile.arch-2018.07.01 b/support/docker/Dockerfile.arch-2018.07.01
new file mode 100644
index 0000000000..65e74d0fdb
--- /dev/null
+++ b/support/docker/Dockerfile.arch-2018.07.01
@@ -0,0 +1,40 @@
+# vi: ft=dockerfile
+
+# When updating this version, please also update it below.
+FROM base/devel:2018.07.01
+
+LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
+ vendor="Buildroot" \
+ description="Container based on Arch 2018.07.01, with everything needed to run Buildroot already installed"
+
+# Pin the repository to a known version
+RUN echo 'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch' \
+ > /etc/pacman.d/mirrorlist && \
+ pacman -Sy
+RUN pacman --noconfirm -S \
+ bc \
+ bzr \
+ cvs \
+ cpio \
+ flake8 \
+ git \
+ mercurial \
+ python \
+ python-nose2 \
+ python-pexpect \
+ qemu \
+ qemu-arch-extra \
+ rsync \
+ subversion \
+ unzip \
+ wget
+
+RUN sed -i 's/# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
+ && /usr/sbin/locale-gen
+
+RUN useradd -ms /bin/bash br-user
+
+USER br-user
+WORKDIR /home/br-user
+ENV HOME /home/br-user
+ENV LC_ALL en_US.UTF-8
--
2.14.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-13 6:38 ` [Buildroot] [PATCH 4/5] support/docker: add an Arch image Yann E. MORIN
@ 2018-07-14 11:19 ` Martin Bark
2018-07-14 12:01 ` Yann E. MORIN
0 siblings, 1 reply; 18+ messages in thread
From: Martin Bark @ 2018-07-14 11:19 UTC (permalink / raw)
To: buildroot
Yann,
On 13 July 2018 at 07:38, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Hopefully, this image is reproducible, since we are using a tagged
> base image, plus a pinned repository mirror.
>
> As for the Debian-stretch Dockerfile, we refresh the repository and
> install packages in two different layers (see commit c4f844ff321
> (support/docker: run apt-get update and apt-get install in two RUNs)
> for in-depth explanations.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> support/docker/Dockerfile.arch-2018.07.01 | 40 +++++++++++++++++++++++++++++++
> 1 file changed, 40 insertions(+)
> create mode 100644 support/docker/Dockerfile.arch-2018.07.01
>
> diff --git a/support/docker/Dockerfile.arch-2018.07.01 b/support/docker/Dockerfile.arch-2018.07.01
> new file mode 100644
> index 0000000000..65e74d0fdb
> --- /dev/null
> +++ b/support/docker/Dockerfile.arch-2018.07.01
> @@ -0,0 +1,40 @@
> +# vi: ft=dockerfile
> +
> +# When updating this version, please also update it below.
> +FROM base/devel:2018.07.01
> +
> +LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
> + vendor="Buildroot" \
> + description="Container based on Arch 2018.07.01, with everything needed to run Buildroot already installed"
> +
It's best practice to combine the update and install from a package
manger in one line. So this should be
RUN echo 'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch'
\
> /etc/pacman.d/mirrorlist && \
pacman -Sy --noconfirm \
> +# Pin the repository to a known version
> +RUN echo 'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch' \
> + > /etc/pacman.d/mirrorlist && \
> + pacman -Sy
> +RUN pacman --noconfirm -S \
> + bc \
> + bzr \
> + cvs \
> + cpio \
> + flake8 \
> + git \
> + mercurial \
> + python \
> + python-nose2 \
> + python-pexpect \
> + qemu \
> + qemu-arch-extra \
If you change to using qemu-headless and qemu-headless-arch-extra
packages it saves about 500MB on the image size
Thanks
Martin
> + rsync \
> + subversion \
> + unzip \
> + wget
> +
> +RUN sed -i 's/# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
> + && /usr/sbin/locale-gen
> +
> +RUN useradd -ms /bin/bash br-user
> +
> +USER br-user
> +WORKDIR /home/br-user
> +ENV HOME /home/br-user
> +ENV LC_ALL en_US.UTF-8
> --
> 2.14.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-14 11:19 ` Martin Bark
@ 2018-07-14 12:01 ` Yann E. MORIN
2018-07-15 9:05 ` Yann E. MORIN
0 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-14 12:01 UTC (permalink / raw)
To: buildroot
On July 14, 2018 11:19:10 AM UTC, Martin Bark <martin@barkynet.com> wrote:
>Yann,
>
>On 13 July 2018 at 07:38, Yann E. MORIN <yann.morin.1998@free.fr>
>wrote:
>> Hopefully, this image is reproducible, since we are using a tagged
>> base image, plus a pinned repository mirror.
>>
>> As for the Debian-stretch Dockerfile, we refresh the repository and
>> install packages in two different layers (see commit c4f844ff321
>> (support/docker: run apt-get update and apt-get install in two RUNs)
>> for in-depth explanations.
>>
>> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
>> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>> ---
>> support/docker/Dockerfile.arch-2018.07.01 | 40
>+++++++++++++++++++++++++++++++
>> 1 file changed, 40 insertions(+)
>> create mode 100644 support/docker/Dockerfile.arch-2018.07.01
>>
>> diff --git a/support/docker/Dockerfile.arch-2018.07.01
>b/support/docker/Dockerfile.arch-2018.07.01
>> new file mode 100644
>> index 0000000000..65e74d0fdb
>> --- /dev/null
>> +++ b/support/docker/Dockerfile.arch-2018.07.01
>> @@ -0,0 +1,40 @@
>> +# vi: ft=dockerfile
>> +
>> +# When updating this version, please also update it below.
>> +FROM base/devel:2018.07.01
>> +
>> +LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>"
>\
>> + vendor="Buildroot" \
>> + description="Container based on Arch 2018.07.01, with
>everything needed to run Buildroot already installed"
>> +
>
>It's best practice to combine the update and install from a package
>manger in one line. So this should be
Please see:
https://git.busybox.net/buildroot/commit/support/docker/Dockerfile?id=c4f844ff3212266f845ea812da2a8647a9f1e13
Rgd.
>RUN echo
>'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch'
>\
> > /etc/pacman.d/mirrorlist && \
> pacman -Sy --noconfirm \
>
>> +# Pin the repository to a known version
>> +RUN echo
>'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch'
>\
>> + > /etc/pacman.d/mirrorlist && \
>> + pacman -Sy
>> +RUN pacman --noconfirm -S \
>> + bc \
>> + bzr \
>> + cvs \
>> + cpio \
>> + flake8 \
>> + git \
>> + mercurial \
>> + python \
>> + python-nose2 \
>> + python-pexpect \
>> + qemu \
>> + qemu-arch-extra \
>
>If you change to using qemu-headless and qemu-headless-arch-extra
>packages it saves about 500MB on the image size
>
>Thanks
>
>Martin
>
>> + rsync \
>> + subversion \
>> + unzip \
>> + wget
>> +
>> +RUN sed -i 's/# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
>> + && /usr/sbin/locale-gen
>> +
>> +RUN useradd -ms /bin/bash br-user
>> +
>> +USER br-user
>> +WORKDIR /home/br-user
>> +ENV HOME /home/br-user
>> +ENV LC_ALL en_US.UTF-8
>> --
>> 2.14.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
Martin, All,
--
Sent from my phone. Please excuse my brevity.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-14 12:01 ` Yann E. MORIN
@ 2018-07-15 9:05 ` Yann E. MORIN
2018-07-15 19:30 ` Martin Bark
0 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-15 9:05 UTC (permalink / raw)
To: buildroot
Martin, All,
So, I see that K9mail put the saultations at the end of the mail, which
is quite odd... Anyway, let me expand further on my previous reply...
On 2018-07-14 12:01 +0000, Yann E. MORIN spake thusly:
> On July 14, 2018 11:19:10 AM UTC, Martin Bark <martin@barkynet.com> wrote:
> >On 13 July 2018 at 07:38, Yann E. MORIN <yann.morin.1998@free.fr>
> >wrote:
> >> Hopefully, this image is reproducible", since we are using a tagged
> >> base image, plus a pinned repository mirror.
[--SNIP--]
> >It's best practice to combine the update and install from a package
> >manger in one line. So this should be
>
> Please see:
>
> https://git.busybox.net/buildroot/commit/support/docker/Dockerfile?id=c4f844ff3212266f845ea812da2a8647a9f1e13
So, the reasoning is that, since we use a pinned version of the
repository, running "pacman -Sy --noconfirm" will always yield the same
state of the distribution.
Now, it happens that we need to add a new package to the image, e.g. for
local testing. We can thus re-use the intermediate, locally-cached image
that has the local repository updated.
It kinda speeds up things a bit.
> >RUN echo
> >'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch'
> >\
> > > /etc/pacman.d/mirrorlist && \
> > pacman -Sy --noconfirm \
> >
> >> +# Pin the repository to a known version
> >> +RUN echo
> >'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch'
> >\
> >> + > /etc/pacman.d/mirrorlist && \
> >> + pacman -Sy
> >> +RUN pacman --noconfirm -S \
> >> + bc \
> >> + bzr \
> >> + cvs \
> >> + cpio \
> >> + flake8 \
> >> + git \
> >> + mercurial \
> >> + python \
> >> + python-nose2 \
> >> + python-pexpect \
> >> + qemu \
> >> + qemu-arch-extra \
> >
> >If you change to using qemu-headless and qemu-headless-arch-extra
> >packages it saves about 500MB on the image size
Ah, that one is interesting to know! :-)
However, are we sure that we don;t need the headed version of qemu?
And why do we even have to have qemu in the image to start with, in the
end?
Regards,
Yann E. MORIN.
> >Thanks
> >
> >Martin
> >
> >> + rsync \
> >> + subversion \
> >> + unzip \
> >> + wget
> >> +
> >> +RUN sed -i 's/# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
> >> + && /usr/sbin/locale-gen
> >> +
> >> +RUN useradd -ms /bin/bash br-user
> >> +
> >> +USER br-user
> >> +WORKDIR /home/br-user
> >> +ENV HOME /home/br-user
> >> +ENV LC_ALL en_US.UTF-8
> >> --
> >> 2.14.1
> >>
> >> _______________________________________________
> >> buildroot mailing list
> >> buildroot at busybox.net
> >> http://lists.busybox.net/mailman/listinfo/buildroot
>
> Martin, All,
> --
> Sent from my phone. Please excuse my brevity.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-15 9:05 ` Yann E. MORIN
@ 2018-07-15 19:30 ` Martin Bark
2018-07-15 19:45 ` Yann E. MORIN
0 siblings, 1 reply; 18+ messages in thread
From: Martin Bark @ 2018-07-15 19:30 UTC (permalink / raw)
To: buildroot
Yann,
On 15 July 2018 at 10:05, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Martin, All,
>
> So, I see that K9mail put the saultations at the end of the mail, which
> is quite odd... Anyway, let me expand further on my previous reply...
>
> On 2018-07-14 12:01 +0000, Yann E. MORIN spake thusly:
>> On July 14, 2018 11:19:10 AM UTC, Martin Bark <martin@barkynet.com> wrote:
>> >On 13 July 2018 at 07:38, Yann E. MORIN <yann.morin.1998@free.fr>
>> >wrote:
>> >> Hopefully, this image is reproducible", since we are using a tagged
>> >> base image, plus a pinned repository mirror.
> [--SNIP--]
>> >It's best practice to combine the update and install from a package
>> >manger in one line. So this should be
>>
>> Please see:
>>
>> https://git.busybox.net/buildroot/commit/support/docker/Dockerfile?id=c4f844ff3212266f845ea812da2a8647a9f1e13
>
> So, the reasoning is that, since we use a pinned version of the
> repository, running "pacman -Sy --noconfirm" will always yield the same
> state of the distribution.
>
> Now, it happens that we need to add a new package to the image, e.g. for
> local testing. We can thus re-use the intermediate, locally-cached image
> that has the local repository updated.
>
> It kinda speeds up things a bit.
Yes where you have a pinned package repo i agree splitting the update
and install is ok. So for debian and archlinux this is true but for
alpine you do need the update and install in one RUN
>
>> >RUN echo
>> >'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch'
>> >\
>> > > /etc/pacman.d/mirrorlist && \
>> > pacman -Sy --noconfirm \
>> >
>> >> +# Pin the repository to a known version
>> >> +RUN echo
>> >'Server=https://archive.archlinux.org/repos/2018/07/01/$repo/os/$arch'
>> >\
>> >> + > /etc/pacman.d/mirrorlist && \
>> >> + pacman -Sy
>> >> +RUN pacman --noconfirm -S \
>> >> + bc \
>> >> + bzr \
>> >> + cvs \
>> >> + cpio \
>> >> + flake8 \
>> >> + git \
>> >> + mercurial \
>> >> + python \
>> >> + python-nose2 \
>> >> + python-pexpect \
>> >> + qemu \
>> >> + qemu-arch-extra \
>> >
>> >If you change to using qemu-headless and qemu-headless-arch-extra
>> >packages it saves about 500MB on the image size
>
> Ah, that one is interesting to know! :-)
>
> However, are we sure that we don;t need the headed version of qemu?
>
> And why do we even have to have qemu in the image to start with, in the
> end?
Good questions i don't know the answer to. I assume it's something to
do with automated testing.
Thanks
Martin
>
> Regards,
> Yann E. MORIN.
>
>> >Thanks
>> >
>> >Martin
>> >
>> >> + rsync \
>> >> + subversion \
>> >> + unzip \
>> >> + wget
>> >> +
>> >> +RUN sed -i 's/# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
>> >> + && /usr/sbin/locale-gen
>> >> +
>> >> +RUN useradd -ms /bin/bash br-user
>> >> +
>> >> +USER br-user
>> >> +WORKDIR /home/br-user
>> >> +ENV HOME /home/br-user
>> >> +ENV LC_ALL en_US.UTF-8
>> >> --
>> >> 2.14.1
>> >>
>> >> _______________________________________________
>> >> buildroot mailing list
>> >> buildroot at busybox.net
>> >> http://lists.busybox.net/mailman/listinfo/buildroot
>>
>> Martin, All,
>> --
>> Sent from my phone. Please excuse my brevity.
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
> | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
> '------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-15 19:30 ` Martin Bark
@ 2018-07-15 19:45 ` Yann E. MORIN
2018-07-16 0:13 ` Martin Bark
0 siblings, 1 reply; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-15 19:45 UTC (permalink / raw)
To: buildroot
Martin, All,
On 2018-07-15 20:30 +0100, Martin Bark spake thusly:
> On 15 July 2018 at 10:05, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
[--SNIP--]
> > So, the reasoning is that, since we use a pinned version of the
> > repository, running "pacman -Sy --noconfirm" will always yield the same
> > state of the distribution.
> >
> > Now, it happens that we need to add a new package to the image, e.g. for
> > local testing. We can thus re-use the intermediate, locally-cached image
> > that has the local repository updated.
> >
> > It kinda speeds up things a bit.
>
> Yes where you have a pinned package repo i agree splitting the update
> and install is ok. So for debian and archlinux this is true but for
> alpine you do need the update and install in one RUN
Agreed on principle.
However, I'd like we use the same constructs in all our dockerfiles, for
consistency sake.
And even if I did not expend too much time at making the Alpine image
reproducible, I expect that we can ultimately make it so, if it is not
already.
In fact, I even expected people to show up and say "hey! what you did
makes ofr a reproducible image," or "hey! here's how you can make it
reproducible." ;-)
Regards,
Yann E. MORIN.
[--SNIP--]
> >> >> + qemu \
> >> >> + qemu-arch-extra \
> >> >
> >> >If you change to using qemu-headless and qemu-headless-arch-extra
> >> >packages it saves about 500MB on the image size
> >
> > Ah, that one is interesting to know! :-)
> >
> > However, are we sure that we don;t need the headed version of qemu?
> >
> > And why do we even have to have qemu in the image to start with, in the
> > end?
>
> Good questions i don't know the answer to. I assume it's something to
> do with automated testing.
>
> Thanks
>
> Martin
>
> >
> > Regards,
> > Yann E. MORIN.
> >
> >> >Thanks
> >> >
> >> >Martin
> >> >
> >> >> + rsync \
> >> >> + subversion \
> >> >> + unzip \
> >> >> + wget
> >> >> +
> >> >> +RUN sed -i 's/# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
> >> >> + && /usr/sbin/locale-gen
> >> >> +
> >> >> +RUN useradd -ms /bin/bash br-user
> >> >> +
> >> >> +USER br-user
> >> >> +WORKDIR /home/br-user
> >> >> +ENV HOME /home/br-user
> >> >> +ENV LC_ALL en_US.UTF-8
> >> >> --
> >> >> 2.14.1
> >> >>
> >> >> _______________________________________________
> >> >> buildroot mailing list
> >> >> buildroot at busybox.net
> >> >> http://lists.busybox.net/mailman/listinfo/buildroot
> >>
> >> Martin, All,
> >> --
> >> Sent from my phone. Please excuse my brevity.
> >
> > --
> > .-----------------.--------------------.------------------.--------------------.
> > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
> > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
> > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
> > '------------------------------^-------^------------------^--------------------'
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-15 19:45 ` Yann E. MORIN
@ 2018-07-16 0:13 ` Martin Bark
2018-07-16 16:15 ` Yann E. MORIN
0 siblings, 1 reply; 18+ messages in thread
From: Martin Bark @ 2018-07-16 0:13 UTC (permalink / raw)
To: buildroot
Yann,
On 15 July 2018 at 20:45, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Martin, All,
>
> On 2018-07-15 20:30 +0100, Martin Bark spake thusly:
>> On 15 July 2018 at 10:05, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> [--SNIP--]
>> > So, the reasoning is that, since we use a pinned version of the
>> > repository, running "pacman -Sy --noconfirm" will always yield the same
>> > state of the distribution.
>> >
>> > Now, it happens that we need to add a new package to the image, e.g. for
>> > local testing. We can thus re-use the intermediate, locally-cached image
>> > that has the local repository updated.
>> >
>> > It kinda speeds up things a bit.
>>
>> Yes where you have a pinned package repo i agree splitting the update
>> and install is ok. So for debian and archlinux this is true but for
>> alpine you do need the update and install in one RUN
>
> Agreed on principle.
>
> However, I'd like we use the same constructs in all our dockerfiles, for
> consistency sake.
>
> And even if I did not expend too much time at making the Alpine image
> reproducible, I expect that we can ultimately make it so, if it is not
> already.
>
> In fact, I even expected people to show up and say "hey! what you did
> makes ofr a reproducible image," or "hey! here's how you can make it
> reproducible." ;-)
>
hey! here's how you can make it reproducible
1) build the alpine docker image.
2) mkdir -p support/docker/alpine_snapshot
3) docker run -it --rm -v
$PWD/support/docker/alpine_snapshot:/snapshot -u root
buildroot/alpine-3.7:$BR2_DOCKER_VERSION bash
4) inside the container run
mkdir -p /var/cache/apk
ln -s /var/cache/apk /etc/apk/cache
apk cache sync
cp -a /etc/apk/cache/*.apk /snapshot
exit
7) sudo chown -R $(id -u):$(id -g) support/docker/alpine_snapshot
6) edit the Dockerfile so it looks like this
COPY ./alpine_snapshot /snapshot
RUN apk add /snapshot/*.apk
7) build the alpine docker image again. it will build using the apk
files from /snapshot directory we just created
This is not ideal but it's a proof of concept. To improve you could
copy the apk to a website, setup it up as a proper signed package
repository and then edit /etc/apk/repositories to use this snapshot
Thanks
Martin
> Regards,
> Yann E. MORIN.
>
> [--SNIP--]
>> >> >> + qemu \
>> >> >> + qemu-arch-extra \
>> >> >
>> >> >If you change to using qemu-headless and qemu-headless-arch-extra
>> >> >packages it saves about 500MB on the image size
>> >
>> > Ah, that one is interesting to know! :-)
>> >
>> > However, are we sure that we don;t need the headed version of qemu?
>> >
>> > And why do we even have to have qemu in the image to start with, in the
>> > end?
>>
>> Good questions i don't know the answer to. I assume it's something to
>> do with automated testing.
>>
>> Thanks
>>
>> Martin
>>
>> >
>> > Regards,
>> > Yann E. MORIN.
>> >
>> >> >Thanks
>> >> >
>> >> >Martin
>> >> >
>> >> >> + rsync \
>> >> >> + subversion \
>> >> >> + unzip \
>> >> >> + wget
>> >> >> +
>> >> >> +RUN sed -i 's/# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
>> >> >> + && /usr/sbin/locale-gen
>> >> >> +
>> >> >> +RUN useradd -ms /bin/bash br-user
>> >> >> +
>> >> >> +USER br-user
>> >> >> +WORKDIR /home/br-user
>> >> >> +ENV HOME /home/br-user
>> >> >> +ENV LC_ALL en_US.UTF-8
>> >> >> --
>> >> >> 2.14.1
>> >> >>
>> >> >> _______________________________________________
>> >> >> buildroot mailing list
>> >> >> buildroot at busybox.net
>> >> >> http://lists.busybox.net/mailman/listinfo/buildroot
>> >>
>> >> Martin, All,
>> >> --
>> >> Sent from my phone. Please excuse my brevity.
>> >
>> > --
>> > .-----------------.--------------------.------------------.--------------------.
>> > | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
>> > | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
>> > | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
>> > | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
>> > '------------------------------^-------^------------------^--------------------'
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
> | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
> '------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 4/5] support/docker: add an Arch image
2018-07-16 0:13 ` Martin Bark
@ 2018-07-16 16:15 ` Yann E. MORIN
0 siblings, 0 replies; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-16 16:15 UTC (permalink / raw)
To: buildroot
Martin, All,
On 2018-07-16 01:13 +0100, Martin Bark spake thusly:
> On 15 July 2018 at 20:45, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > On 2018-07-15 20:30 +0100, Martin Bark spake thusly:
> >> On 15 July 2018 at 10:05, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > [--SNIP--]
> >> > So, the reasoning is that, since we use a pinned version of the
> >> > repository, running "pacman -Sy --noconfirm" will always yield the same
> >> > state of the distribution.
> >> >
> >> > Now, it happens that we need to add a new package to the image, e.g. for
> >> > local testing. We can thus re-use the intermediate, locally-cached image
> >> > that has the local repository updated.
> >> >
> >> > It kinda speeds up things a bit.
[--SNIP--]
> hey! here's how you can make it reproducible
Wee! :-)
> 1) build the alpine docker image.
> 2) mkdir -p support/docker/alpine_snapshot
> 3) docker run -it --rm -v
> $PWD/support/docker/alpine_snapshot:/snapshot -u root
> buildroot/alpine-3.7:$BR2_DOCKER_VERSION bash
> 4) inside the container run
>
> mkdir -p /var/cache/apk
> ln -s /var/cache/apk /etc/apk/cache
> apk cache sync
> cp -a /etc/apk/cache/*.apk /snapshot
> exit
>
> 7) sudo chown -R $(id -u):$(id -g) support/docker/alpine_snapshot
> 6) edit the Dockerfile so it looks like this
>
> COPY ./alpine_snapshot /snapshot
> RUN apk add /snapshot/*.apk
>
> 7) build the alpine docker image again. it will build using the apk
> files from /snapshot directory we just created
>
> This is not ideal but it's a proof of concept. To improve you could
> copy the apk to a website, setup it up as a proper signed package
> repository and then edit /etc/apk/repositories to use this snapshot
Wooo... Scary...
OK, I'll give it a try.
Thanks you for the feedback! :-)
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image
2018-07-13 6:38 [Buildroot] [PATCH 0/5] support/docker: add new dockers Yann E. MORIN
` (3 preceding siblings ...)
2018-07-13 6:38 ` [Buildroot] [PATCH 4/5] support/docker: add an Arch image Yann E. MORIN
@ 2018-07-13 6:38 ` Yann E. MORIN
2018-07-14 11:19 ` Martin Bark
2018-07-16 1:05 ` Ricardo Martincoski
4 siblings, 2 replies; 18+ messages in thread
From: Yann E. MORIN @ 2018-07-13 6:38 UTC (permalink / raw)
To: buildroot
No attempt was made at making this image reproducible.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/docker/Dockerfile.alpine-3.7 | 42 ++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 support/docker/Dockerfile.alpine-3.7
diff --git a/support/docker/Dockerfile.alpine-3.7 b/support/docker/Dockerfile.alpine-3.7
new file mode 100644
index 0000000000..e05eb2bd4a
--- /dev/null
+++ b/support/docker/Dockerfile.alpine-3.7
@@ -0,0 +1,42 @@
+# vi: ft=dockerfile
+# Note: this dockerfile is not reproducible, because the repository
+# where we fetch packages from is not pinned to a specific point in
+# time; i.e. we'll get whatever is current at the moment we build.
+
+FROM alpine:3.7
+
+LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
+ vendor="Buildroot" \
+ description="Container based on Alpine 3.7, with everything needed to run Buildroot already installed"
+
+RUN apk update
+
+RUN apk add \
+ alpine-sdk \
+ bash \
+ bc \
+ bzip2 \
+ bzr \
+ cpio \
+ cvs \
+ file \
+ flake8 \
+ grep \
+ gzip \
+ mercurial \
+ ncurses-dev \
+ perl \
+ py2-nose \
+ py2-pexpect \
+ python \
+ rsync \
+ subversion \
+ unzip \
+ wget
+
+RUN adduser -h /home/br-user -s /bin/bash -D br-user
+
+USER br-user
+WORKDIR /home/br-user
+ENV HOME /home/br-user
+ENV LC_ALL en_US.UTF-8
--
2.14.1
^ permalink raw reply related [flat|nested] 18+ messages in thread* [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image
2018-07-13 6:38 ` [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image Yann E. MORIN
@ 2018-07-14 11:19 ` Martin Bark
2018-07-16 1:05 ` Ricardo Martincoski
1 sibling, 0 replies; 18+ messages in thread
From: Martin Bark @ 2018-07-14 11:19 UTC (permalink / raw)
To: buildroot
Yann,
On 13 July 2018 at 07:38, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> No attempt was made at making this image reproducible.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Ricardo Martincoski <ricardo.martincoski@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> support/docker/Dockerfile.alpine-3.7 | 42 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
> create mode 100644 support/docker/Dockerfile.alpine-3.7
>
> diff --git a/support/docker/Dockerfile.alpine-3.7 b/support/docker/Dockerfile.alpine-3.7
> new file mode 100644
> index 0000000000..e05eb2bd4a
> --- /dev/null
> +++ b/support/docker/Dockerfile.alpine-3.7
> @@ -0,0 +1,42 @@
> +# vi: ft=dockerfile
> +# Note: this dockerfile is not reproducible, because the repository
> +# where we fetch packages from is not pinned to a specific point in
> +# time; i.e. we'll get whatever is current at the moment we build.
> +
> +FROM alpine:3.7
> +
> +LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
> + vendor="Buildroot" \
> + description="Container based on Alpine 3.7, with everything needed to run Buildroot already installed"
> +
It's best practice to combine the update and install from a package
manger in one line. So this should be changed to
RUN apk update && apk add \
Thanks
Martin
> +RUN apk update
> +
> +RUN apk add \
> + alpine-sdk \
> + bash \
> + bc \
> + bzip2 \
> + bzr \
> + cpio \
> + cvs \
> + file \
> + flake8 \
> + grep \
> + gzip \
> + mercurial \
> + ncurses-dev \
> + perl \
> + py2-nose \
> + py2-pexpect \
> + python \
> + rsync \
> + subversion \
> + unzip \
> + wget
> +
> +RUN adduser -h /home/br-user -s /bin/bash -D br-user
> +
> +USER br-user
> +WORKDIR /home/br-user
> +ENV HOME /home/br-user
> +ENV LC_ALL en_US.UTF-8
> --
> 2.14.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image
2018-07-13 6:38 ` [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image Yann E. MORIN
2018-07-14 11:19 ` Martin Bark
@ 2018-07-16 1:05 ` Ricardo Martincoski
1 sibling, 0 replies; 18+ messages in thread
From: Ricardo Martincoski @ 2018-07-16 1:05 UTC (permalink / raw)
To: buildroot
Hello,
On Fri, Jul 13, 2018 at 03:38 AM, Yann E. MORIN wrote:
[snip]
> +RUN apk add \
> + alpine-sdk \
> + bash \
> + bc \
> + bzip2 \
> + bzr \
> + cpio \
> + cvs \
> + file \
> + flake8 \
Not sure why it does not work. See:
https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/81881805
Maybe it's a dependency issue that we can work around by adding py-enum34? (not
tested)
> + grep \
> + gzip \
> + mercurial \
> + ncurses-dev \
> + perl \
> + py2-nose \
No. We need nose2. See:
https://gitlab.com/RicardoMartincoski/buildroot/-/jobs/81881843
I am not sure it is packaged.
> + py2-pexpect \
> + python \
qemu-<something> ?
> + rsync \
> + subversion \
> + unzip \
> + wget
> +
Regards,
Ricardo
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2018-07-16 16:15 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-13 6:38 [Buildroot] [PATCH 0/5] support/docker: add new dockers Yann E. MORIN
2018-07-13 6:38 ` [Buildroot] [PATCH 1/5] core: add a rule to generate all our docker images Yann E. MORIN
2018-07-16 0:39 ` Ricardo Martincoski
2018-07-13 6:38 ` [Buildroot] [PATCH 2/5] support/docker: rename the Dockerfile and its accompanying file Yann E. MORIN
2018-07-16 0:44 ` Ricardo Martincoski
2018-07-13 6:38 ` [Buildroot] [PATCH 3/5] support/docker: add a Fedore-28 based image Yann E. MORIN
2018-07-16 0:48 ` Ricardo Martincoski
2018-07-13 6:38 ` [Buildroot] [PATCH 4/5] support/docker: add an Arch image Yann E. MORIN
2018-07-14 11:19 ` Martin Bark
2018-07-14 12:01 ` Yann E. MORIN
2018-07-15 9:05 ` Yann E. MORIN
2018-07-15 19:30 ` Martin Bark
2018-07-15 19:45 ` Yann E. MORIN
2018-07-16 0:13 ` Martin Bark
2018-07-16 16:15 ` Yann E. MORIN
2018-07-13 6:38 ` [Buildroot] [PATCH 5/5] support/docker: add an Alpine-3.7 based image Yann E. MORIN
2018-07-14 11:19 ` Martin Bark
2018-07-16 1:05 ` Ricardo Martincoski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox