Re@s~dZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z mZddlmZddlmZdd lmZdd lmZmZdd lmZer,dd lmZdd lmZmZm Z m!Z!m"Z"m#Z#ddl$m%Z%ej&e'Z(GdddZ)Gddde*Z+Gddde+Z,dS)z;Build Environment used for isolation during sdist building N) OrderedDict)get_python_lib) get_paths) RequirementVersionConflict WorkingSet)__file__) open_spinner)call_subprocess) TempDirectory tempdir_kinds)MYPY_CHECK_RUNNING) TracebackType)TupleSetIterableOptionalListType) PackageFinderc@seZdZddZdS)_PrefixcCs||_d|_ttjdkr*dnddd|d|id|_tddd |}tdd d |}||kr|g|_n||g|_dS) NFnt posix_prefixvarsbaseplatbasescripts plat_specificprefixT)pathsetuprosnamebin_dirrlib_dirs)selfrpurelibplatlibr(/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/build_env.py__init__s    z_Prefix.__init__N)__name__ __module__ __qualname__r*r(r(r(r)rs rc@sReZdZdZddZddZddZdd Zd d Zd S) BuildEnvironmentzFCreates and manages an isolated environment to install build deps c s]tdtjddtfdddD|_g|_g|_xItt|jj D],}|jj |j |jj |j qhWdd td d td dfD}tjjjd |_tjj|jstj|jttjj|jd d2}|jtjdjd|d|jWdQRXdS)Nkindglobally_managedTc3s3|])}|ttjjj|fVqdS)N)rr!rjoin).0r")temp_dirr(r) ;sz,BuildEnvironment.__init__..normaloverlaycSs"h|]}tjj|qSr()r!rnormcase)r2siter(r(r) Hs z,BuildEnvironment.__init__..rFr8zsitecustomize.pywa import os, site, sys # First, drop system-sites related paths. original_sys_path = sys.path[:] known_paths = set() for path in {system_sites!r}: site.addsitedir(path, known_paths=known_paths) system_paths = set( os.path.normcase(path) for path in sys.path[len(original_sys_path):] ) original_sys_path = [ path for path in original_sys_path if os.path.normcase(path) not in system_paths ] sys.path = original_sys_path # Second, add lib directories. # ensuring .pth file are processed. for path in {lib_dirs!r}: assert not path in sys.path site.addsitedir(path) system_sitesr$)r5r6)r r BUILD_ENVr _prefixes _bin_dirs _lib_dirsreversedlistvaluesappendr#extendr$rr!rr1 _site_direxistsmkdiropenwritetextwrapdedentformat)r%rr;fpr()r3r)r*4s(  "  $  zBuildEnvironment.__init__cCsdddD|_|jdd}|jd}|rU|j|jtj|jg}tjjdtjj |dddtjj |idS)NcSs(i|]}tjj|d|qS)N)r!environget)r2r"r(r(r) os z.BuildEnvironment.__enter__..PATHPYTHONNOUSERSITE PYTHONPATH1)rQrRrS) _save_envr>rDsplitr!pathseprErNupdater1)r%rold_path pythonpathr(r(r) __enter__ms     zBuildEnvironment.__enter__cCsSxL|jjD];\}}|dkr>tjj|dq|tj|s*    .