Message ID | b909713a26b89db6eae65efffa7e05a8136fd9df.1531463897.git.yann.morin.1998@free.fr |
---|---|
State | Changes Requested |
Headers | show |
Series | None | expand |
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@busybox.net > http://lists.busybox.net/mailman/listinfo/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@busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot Martin, All,
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@busybox.net > >> http://lists.busybox.net/mailman/listinfo/buildroot > > Martin, All, > -- > Sent from my phone. Please excuse my brevity.
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@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. | > '------------------------------^-------^------------------^--------------------'
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@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, 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@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. | > '------------------------------^-------^------------------^--------------------'
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.
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
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