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