[PATCH 1/2] Add mips Debian 8 container
Hi! I hope that this will work and help with the mips package building. I originially had forgotten to do the pkg gitlab steps too. Please let me know if I can help with that in any other way and disregard the previous patch. This is basically the same one, with both commits. --- .gitlab-ci.yml | 10 ++++++++++ misc/docker/debian-9-mips/Dockerfile | 26 ++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 misc/docker/debian-9-mips/Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3642b671..f6a5bb39 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,6 +17,7 @@ stages: allow_failure: true script: - $DOCKER_CMD login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.labs.nic.cz + - $DOCKER_CMD --rm --privileged aptman/qus -s -- -p mips # Make sure we refresh the base image if it updates (eg. security updates, etc) # If we do just the build, cache is always reused and the freshness of the # base image is never checked. However, pull always asks and updates the @@ -52,6 +53,11 @@ docker_debian-9-i386: IMG_NAME: "debian-9-i386" <<: *docker_build +docker_debian-9-mips: + variables: + IMG_NAME: "debian-9-mips" + <<: *docker_build + docker_debian-10-amd64: variables: IMG_NAME: "debian-10-amd64" @@ -248,6 +254,10 @@ build-debian-9-i386: <<: *build-linux image: registry.labs.nic.cz/labs/bird:debian-9-i386 +build-debian-9-mips: + <<: *build-linux + image: registry.labs.nic.cz/labs/bird:debian-9-mips + build-debian-10-amd64: <<: *build-linux image: registry.labs.nic.cz/labs/bird:debian-10-amd64 diff --git a/misc/docker/debian-9-mips/Dockerfile b/misc/docker/debian-9-mips/Dockerfile new file mode 100644 index 00000000..1600011b --- /dev/null +++ b/misc/docker/debian-9-mips/Dockerfile @@ -0,0 +1,26 @@ +FROM multiarch/debian-debootstrap:mips-stretch-slim +ENV DEBIAN_FRONTEND noninteractive +RUN sed -i 's/deb.debian.org/ftp.cz.debian.org/' /etc/apt/sources.list +RUN apt-get -y update +RUN apt-get -y upgrade +RUN apt-get -y --no-install-recommends install \ + build-essential \ + flex \ + bison \ + autoconf \ + ncurses-dev \ + libreadline-dev \ + libssh-gcrypt-dev \ + linuxdoc-tools-latex \ + texlive-latex-extra \ + opensp \ + docbook-xsl \ + xsltproc +RUN apt-get -y --no-install-recommends install \ + git \ + dpkg-dev \ + debhelper \ + quilt \ + python3 \ + python3-pip \ + python3-setuptools -- 2.26.3
--- .gitlab-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6a5bb39..55e979d3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -438,6 +438,11 @@ pkg-debian-9-i386: needs: [build-debian-9-i386] image: registry.labs.nic.cz/labs/bird:debian-9-i386 +pkg-debian-9-mips: + <<: *pkg-deb + needs: [build-debian-9-mips] + image: registry.labs.nic.cz/labs/bird:debian-9-mips + pkg-debian-10-amd64: <<: *pkg-deb needs: [build-debian-10-amd64] -- 2.26.3
On Mon, May 24, 2021 at 04:12:33PM +0300, Skyler Mäntysaari wrote:
Hi!
I hope that this will work and help with the mips package building. I originially had forgotten to do the pkg gitlab steps too.
Please let me know if I can help with that in any other way and disregard the previous patch. This is basically the same one, with both commits.
Hi Interesting, i did not know that it can emulate different arch. It is done natively by Docker, or it is done in those dockerfiles from multiarch/*, by some integration of qemu? Also, what exactly this command does:
+ - $DOCKER_CMD --rm --privileged aptman/qus -s -- -p mips
? We can try it, but it depends of how fast it will be. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
That command basically executes an container in privileged mode which enables qemu emulation for mips architecture only. Docker doesn't emulate it natively per se, which is why the usage of QEMU is required because otherwise the container will not be able to even run sed command. You can read more about that specific container here: https://github.com/dbhi/qus. I also wasn't sure where that command should be done as it needs to be done on the host which is executing the container. On Mon, May 24, 2021, at 19:18, Ondrej Zajicek wrote:
On Mon, May 24, 2021 at 04:12:33PM +0300, Skyler Mäntysaari wrote:
Hi!
I hope that this will work and help with the mips package building. I originially had forgotten to do the pkg gitlab steps too.
Please let me know if I can help with that in any other way and disregard the previous patch. This is basically the same one, with both commits.
Hi
Interesting, i did not know that it can emulate different arch. It is done natively by Docker, or it is done in those dockerfiles from multiarch/*, by some integration of qemu?
Also, what exactly this command does:
+ - $DOCKER_CMD --rm --privileged aptman/qus -s -- -p mips
?
We can try it, but it depends of how fast it will be.
-- Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org <mailto:santiago%40crfreenet.org>) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Hi, Has this been tested at all yet? I would like to know if it works, so that I can maybe fix it if it doesn't. On 25/05/2021 12.07, Skyler Mäntysaari wrote:
That command basically executes an container in privileged mode which enables qemu emulation for mips architecture only. Docker doesn't emulate it natively per se, which is why the usage of QEMU is required because otherwise the container will not be able to even run sed command.
You can read more about that specific container here: https://github.com/dbhi/qus <https://github.com/dbhi/qus>.
I also wasn't sure where that command should be done as it needs to be done on the host which is executing the container.
On Mon, May 24, 2021, at 19:18, Ondrej Zajicek wrote:
On Mon, May 24, 2021 at 04:12:33PM +0300, Skyler Mäntysaari wrote:
Hi!
I hope that this will work and help with the mips package building. I originially had forgotten to do the pkg gitlab steps too.
Please let me know if I can help with that in any other way and disregard the previous patch. This is basically the same one, with both commits.
Hi
Interesting, i did not know that it can emulate different arch. It is done natively by Docker, or it is done in those dockerfiles from multiarch/*, by some integration of qemu?
Also, what exactly this command does:
+ - $DOCKER_CMD --rm --privileged aptman/qus -s -- -p mips
?
We can try it, but it depends of how fast it will be.
-- Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org <mailto:santiago%40crfreenet.org>) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Thu, Jun 10, 2021 at 04:19:45AM +0300, Skyler Mäntysaari wrote:
Hi,
Has this been tested at all yet? I would like to know if it works, so that I can maybe fix it if it doesn't.
Hi We tested that and it seemes to be usable, but works only on local Gitlab instance, not on our regular Gitlab instance (probably due to privileged aspect), we will discuss that with our admins. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Fri, Jun 11, 2021, at 20:10, Ondrej Zajicek wrote:
On Thu, Jun 10, 2021 at 04:19:45AM +0300, Skyler Mäntysaari wrote:
Hi,
Has this been tested at all yet? I would like to know if it works, so that I can maybe fix it if it doesn't.
Hi
We tested that and it seemes to be usable, but works only on local Gitlab instance, not on our regular Gitlab instance (probably due to privileged aspect), we will discuss that with our admins.
-- Elen sila lumenn' omentielvo
Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Hi! It seems that some testing has been done with the patch, but how are the base images made? I couldn't figure out how the base docker images have been done as it currently seems to fail due to having no image in the registry it's trying to use. If I know how that's done I could help with getting it done. https://gitlab.nic.cz/labs/bird/-/jobs/549543
participants (2)
-
Ondrej Zajicek -
Skyler Mäntysaari