Skip to content

Commit ace0647

Browse files
committed
Disable pip caches as recommended by hadolint.
1 parent b726bc6 commit ace0647

File tree

2 files changed

+73
-73
lines changed

2 files changed

+73
-73
lines changed

Dockerfile.rocky8

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -477,7 +477,7 @@ RUN if [ "${ENABLE_GDP}" = "True" ]; then \
477477
xorg-x11-server-Xvfb \
478478
&& dnf clean all \
479479
&& rm -fr /var/cache/dnf \
480-
&& pip2 install pdfkit; \
480+
&& pip2 install --no-cache-dir pdfkit; \
481481
if [ "${WITH_PY3}" = "True" ]; then \
482482
echo "install py3 deps" && \
483483
dnf update -y && \
@@ -493,8 +493,8 @@ RUN if [ "${ENABLE_GDP}" = "True" ]; then \
493493
# Prepare mod WSGI for py2 (no longer in dnf here)
494494
# See standalone notes on https://pypi.org/project/mod-wsgi/
495495
#RUN dnf install -y apr-devel && dnf clean all && rm -fr /var/cache/dnf
496-
#RUN pip2 install mod_wsgi-standalone
497-
RUN pip2 install mod_wsgi && \
496+
#RUN pip2 install --no-cache-dir mod_wsgi-standalone
497+
RUN pip2 install --no-cache-dir mod_wsgi && \
498498
#find /usr/lib64/python2.7/site-packages/mod_wsgi && \
499499
cp /usr/lib64/python2.7/site-packages/mod_wsgi/server/mod_wsgi-py27.so \
500500
/etc/httpd/modules/mod_wsgi.so && \
@@ -795,16 +795,16 @@ USER root
795795
# Prepare py2 dependencies no longer in dnf or just outdated there
796796

797797
# NOTE: use jsonrpclib and pysendfile from pip both for py2 and py3 here
798-
RUN pip2 install 'jsonrpclib<0.2' pysendfile; \
798+
RUN pip2 install --no-cache-dir 'jsonrpclib<0.2' pysendfile; \
799799
if [ "${WITH_PY3}" = "True" ]; then \
800-
pip3 install 'jsonrpclib<0.2' pysendfile; \
800+
pip3 install --no-cache-dir 'jsonrpclib<0.2' pysendfile; \
801801
fi;
802802

803803
# NOTE: recent paramiko is required for modern host key algo
804804
# NOTE: paramiko is unavailable for py2 in dnf here so always install it with pip2
805805
RUN if [ "${UPGRADE_PARAMIKO}" = "True" ]; then \
806806
# NOTE: paramiko-3.0.0 & pyOpenSSL-22.0 dropped python2 support
807-
pip2 install 'pyOpenSSL<22' 'paramiko<3'; \
807+
pip2 install --no-cache-dir 'pyOpenSSL<22' 'paramiko<3'; \
808808
if [ "${WITH_PY3}" = "True" ]; then \
809809
# NOTE: paramiko-3.0.0 & pyOpenSSL-22.0 deps dropped python3.6 support
810810
# NOTE: a newer setuptools MAY be needed and setuptools_rust MUST be
@@ -815,18 +815,18 @@ RUN if [ "${UPGRADE_PARAMIKO}" = "True" ]; then \
815815
# /usr/local, which is now the default install location for
816816
# pip3. Thus, we force pip3 to install the paramiko plus
817817
# dependencies specifically into /usr instead.
818-
#pip3 install -U setuptools; \
818+
#pip3 install --no-cache-dir -U setuptools; \
819819
# NOTE: explicitly install typing-extensions 3.7 to avoid the
820820
# compatibility issues mentioned in note above.
821821
# Just use distro package on Rocky 8.
822-
#pip3 install 'typing-extensions<3.8'; \
823-
pip3 install setuptools_rust; \
824-
pip3 install --prefix=$(python3-config --prefix) pynacl bcrypt cryptography \
822+
#pip3 install --no-cache-dir 'typing-extensions<3.8'; \
823+
pip3 install --no-cache-dir setuptools_rust; \
824+
pip3 install --no-cache-dir --prefix=$(python3-config --prefix) pynacl bcrypt cryptography \
825825
'pyOpenSSL<22' 'paramiko<3'; \
826826
fi; \
827827
else \
828828
# NOTE: mimic python3 dnf versions in this case
829-
pip2 install 'pyOpenSSL<20' 'cryptography<3.3' 'paramiko<2.5'; \
829+
pip2 install --no-cache-dir 'pyOpenSSL<20' 'cryptography<3.3' 'paramiko<2.5'; \
830830
fi;
831831

832832
# NOTE: openstackclient is unavailable in dnf here so always install with pip
@@ -836,40 +836,40 @@ RUN if [ "${UPGRADE_PARAMIKO}" = "True" ]; then \
836836
# NOTE: openstacksdk-1.5 may have introduced typing conflicts here
837837
# NOTE: cinderclient-6.x introduced python-requests conflict on py2 here
838838
RUN if [ "${ENABLE_CLOUD}" = "True" ]; then \
839-
pip2 install PyYAML==3.12 'openstacksdk<2' 'python-cinderclient<6' \
839+
pip2 install --no-cache-dir PyYAML==3.12 'openstacksdk<2' 'python-cinderclient<6' \
840840
'python-openstackclient<5'; \
841841
if [ -n "${OPENSTACKSDK_VERSION_OVERRIDE}" ]; then \
842-
pip2 install "openstacksdk==${OPENSTACKSDK_VERSION_OVERRIDE}" ; \
842+
pip2 install --no-cache-dir "openstacksdk==${OPENSTACKSDK_VERSION_OVERRIDE}" ; \
843843
fi; \
844844
if [ "${WITH_PY3}" = "True" ]; then \
845-
pip3 install PyYAML==3.12 'openstacksdk<1.5' 'python-openstackclient<6'; \
845+
pip3 install --no-cache-dir PyYAML==3.12 'openstacksdk<1.5' 'python-openstackclient<6'; \
846846
if [ -n "${OPENSTACKSDK_VERSION_OVERRIDE}" ]; then \
847-
pip3 install "openstacksdk==${OPENSTACKSDK_VERSION_OVERRIDE}" ; \
847+
pip3 install --no-cache-dir "openstacksdk==${OPENSTACKSDK_VERSION_OVERRIDE}" ; \
848848
fi; \
849849
fi; \
850850
fi;
851851

852852
# Prepare OpenID (python-openid for py2 and python-openid2 for py3)
853-
#RUN pip2 install python-openid
854-
RUN pip2 install https://github.com/openid/python-openid/archive/master.zip
853+
#RUN pip2 install --no-cache-dir python-openid
854+
RUN pip2 install --no-cache-dir https://github.com/openid/python-openid/archive/master.zip
855855
RUN if [ "${WITH_PY3}" = "True" ]; then \
856-
pip3 install python-openid2; \
856+
pip3 install --no-cache-dir python-openid2; \
857857
fi;
858858

859859
# Modules required by grid_events.py
860860
# NOTE: watchdog-1.0 dropped python2 support
861-
RUN pip2 install 'watchdog<1.0' scandir
861+
RUN pip2 install --no-cache-dir 'watchdog<1.0' scandir
862862
RUN if [ "${WITH_PY3}" = "True" ]; then \
863-
pip3 install watchdog scandir; \
863+
pip3 install --no-cache-dir watchdog scandir; \
864864
fi;
865865

866866
# Modules required by grid_webdavs
867867
# NOTE: on python 2 we require either wsgidav 1.3 bundled with cherrypy or
868868
# wsgidav 3.x using standalone cheroot
869869
RUN if [ "${MODERN_WSGIDAV}" = "False" ]; then \
870-
pip2 install 'wsgidav<2'; \
870+
pip2 install --no-cache-dir 'wsgidav<2'; \
871871
else \
872-
pip2 install 'more-itertools<6' 'jaraco.functools<3' 'jinja2<3' \
872+
pip2 install --no-cache-dir 'more-itertools<6' 'jaraco.functools<3' 'jinja2<3' \
873873
'markupsafe<2' 'pyyaml<6' 'cheroot<10.0.1' 'wsgidav<4'; \
874874
fi;
875875
RUN if [ "${WITH_PY3}" = "True" ]; then \
@@ -878,51 +878,51 @@ RUN if [ "${WITH_PY3}" = "True" ]; then \
878878
# IMPORTANT: use cheroot before 10.0.1 as it currently crashes webdavs
879879
# One can trigger the crash with a simple testssl.sh run
880880
# TODO: investigate if the problem is in cheroot, wsgidav or migrid.
881-
pip3 install 'cheroot<10.0.1' 'wsgidav>=4.1.0'; \
881+
pip3 install --no-cache-dir 'cheroot<10.0.1' 'wsgidav>=4.1.0'; \
882882
fi;
883883
# Prefer sslkeylog as session tracking helper in webdavs daemon if available.
884884
# Automatic fallback to our _sslsession C-extension when not.
885-
RUN python2 -V 2>&1 | egrep -q 'Python 2\.7\.[0-8]$' || pip2 install sslkeylog
885+
RUN python2 -V 2>&1 | egrep -q 'Python 2\.7\.[0-8]$' || pip2 install --no-cache-dir sslkeylog
886886
RUN if [ "${WITH_PY3}" = "True" ]; then \
887-
pip3 install sslkeylog ; \
887+
pip3 install --no-cache-dir sslkeylog ; \
888888
fi;
889889

890890
# Modules required by grid_ftps
891891
# NOTE: relies on pyOpenSSL and Cryptography from yum/dnf for now
892892
# NOTE: python-3.6 fails with unsupported OpenSSL attribute in pyftpdlib-2.x
893-
RUN pip2 install 'pyftpdlib<2.0'
893+
RUN pip2 install --no-cache-dir 'pyftpdlib<2.0'
894894
RUN if [ "${WITH_PY3}" = "True" ]; then \
895-
pip3 install 'pyftpdlib<2.0'; \
895+
pip3 install --no-cache-dir 'pyftpdlib<2.0'; \
896896
fi;
897897

898898
# Modules required by grid_X IO daemons (not available in yum/dnf for python3)
899899
# IMPORTANT: install in main python site-packages to work with 'python -s'
900900
# Otherwise sftpsubsys will fail to import it because the /usr/local
901901
# dir used as prefix by default in pip is outside sys.path
902-
RUN pip2 install --prefix=$(python2-config --prefix) cracklib
902+
RUN pip2 install --no-cache-dir --prefix=$(python2-config --prefix) cracklib
903903
RUN if [ "${WITH_PY3}" = "True" ]; then \
904-
pip3 install --prefix=$(python3-config --prefix) cracklib; \
904+
pip3 install --no-cache-dir --prefix=$(python3-config --prefix) cracklib; \
905905
fi;
906906

907907
# Module required to run pytests
908908
# NOTE: pytest-5.0 dropped python2 support
909-
RUN pip2 install 'pytest<5.0'
909+
RUN pip2 install --no-cache-dir 'pytest<5.0'
910910
RUN if [ "${WITH_PY3}" = "True" ]; then \
911-
pip3 install pytest; \
911+
pip3 install --no-cache-dir pytest; \
912912
fi;
913913

914914
# Modules required by 2FA
915915
# NOTE: pyotp-2.4 dropped python2 support
916-
RUN pip2 install 'pyotp<2.4'
916+
RUN pip2 install --no-cache-dir 'pyotp<2.4'
917917
RUN if [ "${WITH_PY3}" = "True" ]; then \
918-
pip3 install pyotp; \
918+
pip3 install --no-cache-dir pyotp; \
919919
fi;
920920

921921
# Modules required for smart country selection
922922
# NOTE: iso3361-2.0 dropped python2 support
923-
RUN pip2 install 'iso3166<2.0'
923+
RUN pip2 install --no-cache-dir 'iso3166<2.0'
924924
RUN if [ "${WITH_PY3}" = "True" ]; then \
925-
pip3 install iso3166; \
925+
pip3 install --no-cache-dir iso3166; \
926926
fi;
927927

928928
# Modules required for email validation (not available in yum/dnf for python2)
@@ -931,41 +931,41 @@ RUN if [ "${WITH_PY3}" = "True" ]; then \
931931
# https://github.com/JoshData/python-email-validator/issues/91
932932
# NOTE: email-validator relies on dnspython which dropped py2 support in the
933933
# 2.x series, so we force a previous version there.
934-
RUN pip2 install 'dnspython<2.0' 'email-validator<1.3.0'
934+
RUN pip2 install --no-cache-dir 'dnspython<2.0' 'email-validator<1.3.0'
935935
# IMPORTANT: install in main python site-packages to work with 'python -s'
936936
# Otherwise sftpsubsys will fail to import it because the /usr/local
937937
# dir used as prefix by default in pip is outside sys.path
938938
#RUN if [ "${WITH_PY3}" = "True" ]; then \
939-
# pip3 install --prefix=$(python3-config --prefix) email-validator; \
939+
# pip3 install --no-cache-dir --prefix=$(python3-config --prefix) email-validator; \
940940
# fi;
941941

942942
# Modules required for Trac integration
943943
RUN if [ -n "${TRAC_ADMIN_PATH}" ]; then \
944944
echo "install Trac and plugins" \
945-
&& pip2 install Trac TracMercurial TracWikiPrint TracGraphviz TracFullBlog TracWikiCssPlugin; \
945+
&& pip2 install --no-cache-dir Trac TracMercurial TracWikiPrint TracGraphviz TracFullBlog TracWikiCssPlugin; \
946946
if [ "${WITH_PY3}" = "True" ]; then \
947-
pip3 install Trac TracWikiPrint TracGraphviz TracFullBlog TracWikiCssPlugin \
947+
pip3 install --no-cache-dir Trac TracWikiPrint TracGraphviz TracFullBlog TracWikiCssPlugin \
948948
# IMPORTANT: Mercurial plugin is required for our repos and only recent
949949
# stable releases support current python and Trac versions.
950950
# We need 1.0.0.11+ for the default Python 3 and Trac-1.6.
951-
&& pip3 install 'TracMercurial>=1.0.0.11' \
951+
&& pip3 install --no-cache-dir 'TracMercurial>=1.0.0.11' \
952952
# NOTE: these plugins would be nice but have gone stale and only support
953953
# older Trac versions.
954-
#&& pip3 install TracStats TracMasterTickets TracDiscussion TracDownloads TracWysiwyg \
955-
#&& pip3 install https://trac-hacks.org/svn/tracwysiwygplugin/0.12
954+
#&& pip3 install --no-cache-dir TracStats TracMasterTickets TracDiscussion TracDownloads TracWysiwyg \
955+
#&& pip3 install --no-cache-dir https://trac-hacks.org/svn/tracwysiwygplugin/0.12
956956
# NOTE: install more recent dev versions of those with Trac-1.6+ support
957957
# latest tag https://github.com/trac-hacks/tracstats/releases/tag/v0.6.1 is pre 1.6
958-
&& pip3 install https://github.com/trac-hacks/tracstats/archive/refs/heads/master.zip ; \
958+
&& pip3 install --no-cache-dir https://github.com/trac-hacks/tracstats/archive/refs/heads/master.zip ; \
959959
fi; \
960960
else \
961961
echo "no Trac deps"; \
962962
fi;
963963

964964
# Modules required for workflows
965965
# NOTE: nbformat-5.0, nbconvert-6.0 and papermill-2.0 dropped python2 support
966-
RUN pip2 install 'nbformat<5.0' 'nbconvert<6.0' 'papermill<2.0'
966+
RUN pip2 install --no-cache-dir 'nbformat<5.0' 'nbconvert<6.0' 'papermill<2.0'
967967
RUN if [ "${WITH_PY3}" = "True" ]; then \
968-
pip3 install nbformat nbconvert papermill; \
968+
pip3 install --no-cache-dir nbformat nbconvert papermill; \
969969
fi;
970970

971971
#------------------------- next stage -----------------------------#
@@ -1485,10 +1485,10 @@ RUN cd $MIG_ROOT/mig/src/libnss-mig \
14851485
# on python 2.7.9+ and 3. The sslsession module generally builds but fails at
14861486
# runtime when used with OpenSSL-1.1+, however.
14871487
RUN cd $MIG_ROOT/mig/src/sslsession \
1488-
&& pip2 install . ;
1488+
&& pip2 install --no-cache-dir . ;
14891489
RUN if [ "${WITH_PY3}" = "True" ]; then \
14901490
cd $MIG_ROOT/mig/src/sslsession \
1491-
&& pip3 install . ; \
1491+
&& pip3 install --no-cache-dir . ; \
14921492
fi;
14931493

14941494
RUN cp generated-confs/libnss_mig.conf /etc/ \

0 commit comments

Comments
 (0)