17db96d56Sopenharmony_ci#!/bin/sh
27db96d56Sopenharmony_ci#
37db96d56Sopenharmony_ci# Install/upgrade pip.
47db96d56Sopenharmony_ci#
57db96d56Sopenharmony_ci
67db96d56Sopenharmony_ciPYVER="@PYVER@"
77db96d56Sopenharmony_ciPYMAJOR="@PYMAJOR@"
87db96d56Sopenharmony_ciFWK="/Library/Frameworks/Python.framework/Versions/${PYVER}"
97db96d56Sopenharmony_ciRELFWKBIN="../../..${FWK}/bin"
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ciumask 022
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ci"${FWK}/bin/python${PYVER}" -E -s -m ensurepip --upgrade
147db96d56Sopenharmony_ci
157db96d56Sopenharmony_ci# bpo-33290: An earlier "pip3 install --upgrade pip" may have installed
167db96d56Sopenharmony_ci#     a "pip" in the fw bin directory.  For a py3 install, remove it.
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_cirm -f "${FWK}/bin/pip"
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ci"${FWK}/bin/python${PYVER}" -E -s -Wi \
217db96d56Sopenharmony_ci    "${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
227db96d56Sopenharmony_ci    -f -x badsyntax \
237db96d56Sopenharmony_ci    "${FWK}/lib/python${PYVER}/site-packages"
247db96d56Sopenharmony_ci
257db96d56Sopenharmony_ci"${FWK}/bin/python${PYVER}" -E -s -Wi -O \
267db96d56Sopenharmony_ci    "${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
277db96d56Sopenharmony_ci    -f -x badsyntax \
287db96d56Sopenharmony_ci    "${FWK}/lib/python${PYVER}/site-packages"
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_cichgrp -R admin "${FWK}/lib/python${PYVER}/site-packages" "${FWK}/bin"
317db96d56Sopenharmony_cichmod -R g+w "${FWK}/lib/python${PYVER}/site-packages" "${FWK}/bin"
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ci# We do not know if the user selected the Python command-line tools
347db96d56Sopenharmony_ci# package that installs symlinks to /usr/local/bin.  So we assume
357db96d56Sopenharmony_ci# that the command-line tools package has already completed or was
367db96d56Sopenharmony_ci# not selected and we will only install /usr/local/bin symlinks for
377db96d56Sopenharmony_ci# pip et al if there are /usr/local/bin/python* symlinks to our
387db96d56Sopenharmony_ci# framework bin directory.
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ciif [ -d /usr/local/bin ] ; then
417db96d56Sopenharmony_ci    (
427db96d56Sopenharmony_ci        install_links_if_our_fw() {
437db96d56Sopenharmony_ci            if [ "$(readlink -n ./$1)" = "${RELFWKBIN}/$1" ] ; then
447db96d56Sopenharmony_ci                shift
457db96d56Sopenharmony_ci                for fn ;
467db96d56Sopenharmony_ci                do
477db96d56Sopenharmony_ci                    if [ -e "${RELFWKBIN}/${fn}" ] ; then
487db96d56Sopenharmony_ci                        rm -f ./${fn}
497db96d56Sopenharmony_ci                        ln -s "${RELFWKBIN}/${fn}" "./${fn}"
507db96d56Sopenharmony_ci                        chgrp -h admin "./${fn}"
517db96d56Sopenharmony_ci                        chmod -h g+w "./${fn}"
527db96d56Sopenharmony_ci                    fi
537db96d56Sopenharmony_ci                done
547db96d56Sopenharmony_ci            fi
557db96d56Sopenharmony_ci        }
567db96d56Sopenharmony_ci
577db96d56Sopenharmony_ci        cd /usr/local/bin
587db96d56Sopenharmony_ci
597db96d56Sopenharmony_ci        # Create pipx.y and easy_install-x.y links if /usr/local/bin/pythonx.y
607db96d56Sopenharmony_ci        #   is linked to this framework version
617db96d56Sopenharmony_ci        install_links_if_our_fw "python${PYVER}" \
627db96d56Sopenharmony_ci                                    "pip${PYVER}" "easy_install-${PYVER}"
637db96d56Sopenharmony_ci
647db96d56Sopenharmony_ci        # Create pipx link if /usr/local/bin/pythonx is linked to this version
657db96d56Sopenharmony_ci        install_links_if_our_fw "python${PYMAJOR}" \
667db96d56Sopenharmony_ci                                    "pip${PYMAJOR}"
677db96d56Sopenharmony_ci
687db96d56Sopenharmony_ci        # Create pip and easy_install link if /usr/local/bin/python
697db96d56Sopenharmony_ci        #   is linked to this version
707db96d56Sopenharmony_ci        install_links_if_our_fw "python" \
717db96d56Sopenharmony_ci                                    "pip" "easy_install"
727db96d56Sopenharmony_ci    )
737db96d56Sopenharmony_cifi
747db96d56Sopenharmony_ciexit 0
75