@@ -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
805805RUN 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
838838RUN 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
855855RUN 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
862862RUN 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
869869RUN 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;
875875RUN 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
886886RUN 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'
894894RUN 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
903903RUN 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'
910910RUN 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'
917917RUN 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'
924924RUN 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
943943RUN 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'
967967RUN 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.
14871487RUN cd $MIG_ROOT/mig/src/sslsession \
1488- && pip2 install . ;
1488+ && pip2 install --no-cache-dir . ;
14891489RUN if [ "${WITH_PY3}" = "True" ]; then \
14901490 cd $MIG_ROOT/mig/src/sslsession \
1491- && pip3 install . ; \
1491+ && pip3 install --no-cache-dir . ; \
14921492 fi;
14931493
14941494RUN cp generated-confs/libnss_mig.conf /etc/ \
0 commit comments