commit:     b34b40552fb2c632908967b55bc6972068565fd7
Author:     Rahil Bhimjiani <me <AT> rahil <DOT> rocks>
AuthorDate: Tue Feb 27 16:31:26 2024 +0000
Commit:     John Helmert III <ajak <AT> gentoo <DOT> org>
CommitDate: Sun Mar  3 04:22:48 2024 +0000
URL:        https://gitweb.gentoo.org/proj/docker-images.git/commit/?id=b34b4055

python.Dockerfile: use HEREDOC syntax for RUN command

HEREDOC syntax is supported in docker
https://docs.docker.com/reference/dockerfile/#here-documents

Why:
1) better readability
2) ability to add comments
3) can treat it like another bash script

Signed-off-by: Rahil Bhimjiani <me <AT> rahil.rocks>
Signed-off-by: John Helmert III <ajak <AT> gentoo.org>

 python.Dockerfile | 35 +++++++++++++++++++++++++----------
 1 file changed, 25 insertions(+), 10 deletions(-)

diff --git a/python.Dockerfile b/python.Dockerfile
index 7b61532..b0a5bd3 100644
--- a/python.Dockerfile
+++ b/python.Dockerfile
@@ -1,16 +1,31 @@
+# syntax=docker/dockerfile:1
+
+# FIRST LINE IS VERY IMPORTANT. DO NOT MODIFY
+
 FROM gentoo/stage3:amd64-nomultilib-openrc
 
 # derived from 
https://github.com/projg2/gentoo-python-image/blob/master/Dockerfile
 
-RUN echo '*/* ~amd64' >> /etc/portage/package.accept_keywords/base.conf \
- && echo '*/* full-stdlib sqlite' >> /etc/portage/package.use/python \
- && echo 'dev-vcs/git -perl' >> /etc/portage/package.use/git \
- && wget --progress=dot:mega -O - 
https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz | tar -xz \
- && mv gentoo-master /var/db/repos/gentoo \
- && emerge -1vnt --jobs dev-python/tox app-arch/lzip dev-vcs/git \
-    dev-python/pypy{,3_9,3_10}-exe-bin dev-db/sqlite \
- && emerge -1v --jobs --nodeps dev-lang/python:{2.7,3.8,3.9,3.10,3.11,3.12} \
-    dev-python/pypy{,3_9,3_10,3} \
- && rm -r /var/db/repos/* /var/cache/distfiles/*
+RUN <<-EOF
+    set -e
+
+    # configure portage
+    echo '*/* ~amd64' >> /etc/portage/package.accept_keywords/base.conf
+    echo '*/* full-stdlib sqlite' >> /etc/portage/package.use/python
+    echo 'dev-vcs/git -perl' >> /etc/portage/package.use/git
+
+    # install ::gentoo
+    wget --progress=dot:mega -O - 
https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz | tar -xz
+    mv gentoo-master /var/db/repos/gentoo
+
+    # main job
+    emerge -1vnt --jobs dev-python/tox app-arch/lzip dev-vcs/git \
+        dev-python/pypy{,3_9,3_10}-exe-bin dev-db/sqlite
+    emerge -1v --jobs --nodeps dev-lang/python:{2.7,3.8,3.9,3.10,3.11,3.12} \
+        dev-python/pypy{,3_9,3_10,3}
+
+    # cleanup
+    rm -r /var/db/repos/* /var/cache/distfiles/*
+EOF
 
 CMD ["/bin/bash"]

Reply via email to