M#dZddlmZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z m Z ddlmZddlmZddlmZdd lmZdd lmZmZmZdd lmZdd lmZdd lm Z m!Z!ddl"m#Z#m$Z$m%Z%m&Z&ddl'm(Z(m)Z)m*Z*ddl+m,Z,m-Z-ddl.m/Z/ddl0m1Z1m2Z2ddl3m4Z4ddl5m6Z6ddl7m8Z8m9Z9er.ddl:m;Z;ddlm?Z?ddl@mAZAddlBmCZCGddedZDejEeFZGd4d$ZHGd%d&ZId5d'ZJd6d)ZKGd*d+eZLGd,d-ZMGd.d/ZNGd0d1ZOGd2d3eOZPdS)7z:Build Environment used for isolation during sdist building) annotationsN) OrderedDict)IterableSequence)AbstractContextManager) nullcontext)StringIO) TracebackType) TYPE_CHECKINGProtocol TypedDict)Version)__file__)open_rich_spinner open_spinner)BuildDependencyInstallErrorDiagnosticPipErrorInstallWheelBuildErrorPipError) get_platlib get_purelib get_scheme)get_default_environmentget_environment) deprecated)VERBOSEcapture_logging)get_requirement)call_subprocess) TempDirectory tempdir_kinds) WheelCache) PackageFinder) BuildTracker)InstallRequirement) BaseResolverceZdZUded<dS) ExtraEnvironzdict[str, str] extra_environN)__name__ __module__ __qualname____annotations__w/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib/python3.11/site-packages/pip/_internal/build_env.pyr(r(,s%%%%%%r/r(F)totalastrbreturntuple[str] | tuple[str, str]c||kr||fn|fSNr.)r2r4s r0_dedupr93s!VVAq66!%r/ceZdZddZdS)_Prefixpathr3r5Nonec||_d|_td|}|j|_t |j|j|_dS)NF)prefix) r<setuprscriptsbin_dirr9purelibplatliblib_dirs)selfr<schemes r0__init__z_Prefix.__init__8sD  Bt,,,~ v~v~>> r/N)r<r3r5r=)r*r+r,rIr.r/r0r;r;7s(??????r/r;ctjtj}|st |Stj|dz S)zGet a file to pass to a Python executable, to run the currently-running pip. This is used to run a pip subprocess, for installing requirements into the build environment. z__pip-runner__.py) pathlibPath pip_locationresolveparentis_dirr3osfsdecode)sources r0get_runnable_piprT@sV \, ' ' / / 1 1 8F ==??6{{ ;v 33 4 44r/set[str]cttdrtj}ntt g}d|DS)zGet system site packages Usually from site.getsitepackages, but fallback on `get_purelib()/get_platlib()` if unavailable (e.g. in a virtualenv created by virtualenv<20) Returns normalized set of strings. getsitepackagescLh|]!}tj|"Sr.)rQr<normcase).0r<s r0 z+_get_system_sitepackages..as( < < 11#s;;;HHVG$9z::;;      ! -%+$:$K$K$M$M I I 5 TI$5$5c3$?$??GHHHH&  & KKz!}- . . .)!""~ @ @  0+>???? @ KK % % %% 0 0D KK. / / / / < 3 KKFL1 2 2 2( 2 2D KK)40 1 1 1 1   8 KK6#56 7 7 7   ? KK&*<= > > >   + KK) * * *  1 ? KK*<= > > >  " E$(#: E E ^_=>>> 1?CDDDD&(  1 Y$:Q Y-/QSV.WXM  # W KK.0H0R0R0T0TU V V V D L!!!'. F', F "GL " " "B ... / / 7  G4G1EGG                        sN;;N?N?)NF)rmr#rnrorprqr5r=r5r=ri)r*r+r,rjrIrrhr.r/r0rlrltsr/316 RRRRR    :ggggggr/rlc:eZdZdZdddddZd dZd!dZd"dZdS)#"InprocessBuildEnvironmentInstallera Build dependency installer that runs in the same pip process. This contains a stripped down version of the install command with only the logic necessary for installing build dependencies. The finder, session, build tracker, and wheel cache are reused, but new instances of everything else are created as needed. Options are inherited from the parent install command unless they don't make sense for build dependencies (in which case, they are hard-coded, see comments below). r.r)rn verbosityrmr# build_trackerr$ wheel_cacher"rnSequence[InstallRequirement]rintr5r=cddlm}||_||_||_d|_t dd}||||jj|j ||ddddddddd |_ dS) Nr)RequirementPreparerzbuild-env-installTrdglobally_managedr?Foff)build_isolation_installerrmsession build_dirrrsrc_dir download_dirbuild_isolationcheck_build_deps progress_barrequire_hashes use_user_site lazy_wheellegacy_resolver) pip._internal.operations.preparer_finderrs _wheel_cache_levelr _link_collectorrr< _preparer)rGrmrrrnrrrs r0rIz+InprocessBuildEnvironmentInstaller.__init__s IHHHHH "3' !':TRRR ,,&**2n' "!!)   r/rbrcr@r;rdr3rerfctt o |jdk}|r!t }t d|}nDt tt }}td| |xjdz c_|5|5}| ||dddn #1swxYwYdddn #1swxYwYnC#t$r} ttj | td| ddi td t||| d d} ~ wt $r} tj | } |sMd} t%| t&rtd| ntd t||| | d} ~ wwxYw|xjdzc_dS#|xjdzc_wxYw) z@Install entrypoint. Manages output capturing and error handling.rrzInstalling %s ...rNz%srichT)extrar?)cause log_lineszpip crashed unexpectedly)r isEnabledForrrrrrr info _install_implrtextwrapdedentgetvalueerrorr Exception splitlines isinstancer exception) rGrbr@rdre capture_logs capture_ctxrstreamexclogss r0rhz*InprocessBuildEnvironmentInstaller.install@s"..w777LDK1RD>R>R,S,SGG$/xzz#:#:KMMK KK+T 2 2 2  KK1 KK 9 9+ 9""<888 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9"    KK(9(9:: ; ; ; LLs64.L 9 9 9 KKOOO-SD    %-_V__5F5F%G%G%R%R%T%TD Ac8,,ALLs++++$$%?@@@-SD   KK1 KKKKDKK1 KKKKKKsC0&C#)C  C# C C#C C# C0#C''C0*C'+C0.I0 H0:B F H0BH++H00IIc ddlm}ddlm}ddlmddlm}fd|D}||j | }| |d}|j |jd |jD} || |jd \} } | rt%| ||||jd d d d d d } t+t-|j} || | x}rt0|d Sd S)z$Core build dependency install logic.r)installed_packages_summary)install_given_reqs)install_req_from_line)buildc*g|]}|dS)T) user_suppliedr.)rZreqrs r0 zDInprocessBuildEnvironmentInstaller._install_impl..{s*XXXC&&s$???XXXr/T)check_supported_wheelsc g|] }|j | Sr.)is_wheel)rZrs r0rzDInprocessBuildEnvironmentInstaller._install_impl..s/   1:    r/)verifyNFr)r@roothomewarn_script_locationr pycompiler)pip._internal.commands.installrpip._internal.reqrpip._internal.req.constructorsrpip._internal.wheel_builderrrrs_make_resolverrNr prepare_linked_requirements_morerbvaluesrequirements_to_installrrget_installation_orderr<rlistrFrr)rGrbr@rrrireqsresolver resolved_set reqs_to_buildrbuild_failures installedenvsummaryrs @r0rz0InprocessBuildEnvironmentInstaller._install_impltsMMMMMM888888HHHHHH555555XXXX<XXX T,---&&((''d'KK  77  % , , . .     #;   "E-1B4PPP>  9(88 8&&  + +L 9 9;!&    d6?334400C@@ @7 ! KK  ! !r/r&c dddlm}ddlm}|||j|j|jddddddd S) z'Create a new resolver for one time use.r)install_req_from_req_string)ResolverFTzto-satisfy-onlyN) make_install_reqpreparerrmrignore_requires_pythonrignore_dependenciesignore_installedforce_reinstallupgrade_strategypy_version_info)rr,pip._internal.resolution.resolvelib.resolverrrrr)rGrrs r0rz1InprocessBuildEnvironmentInstaller._make_resolversj ONNNNNIIIIIIx8^<)#( %!!.     r/N) rmr#rr$rr"rnrrrr5r=ri)rbrcr@r;r5r=)r5r&)r*r+r,rjrIrhrrr.r/r0rr s  &;=& & & & & & P2222h'!'!'!'!R      r/rc@eZdZdZddZddZddZddZddd dZdS)!BuildEnvironmentzACreates and manages an isolated environment to install build deps installerrar5r=c||_ttjdt fddD|_g|_g|_tt|j D]@}|j |j |j |jAt}t jjd|_t j|jst!j|jt-t j|jddd 5}|t1jd ||j ddddS#1swxYwYdS) NTrc3K|]8}|ttjj|fV9dSr8)r;rQr<r)rZrtemp_dirs r0 z,BuildEnvironment.__init__..sV% % 727<< t<<== >% % % % % % r/)normaloverlayr]zsitecustomize.pywzutf-8)encodinga 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) )r^rF)rr r! BUILD_ENVr _prefixes _bin_dirs _lib_dirsreversedrrrrCrrFr_rQr<r _site_direxistsmkdiropenwriterrformat)rGrr@r^fprs @r0rIzBuildEnvironment.__init__s" m&=PTUUU$% % % % -% % %    %'$&tDN$9$9$;$;<<== 3 3F N ! !&. 1 1 1 N ! !&/ 2 2 2 2 011 hmV<<w~~dn-- % HT^ $ $ $  GLL); < z.BuildEnvironment.__enter__..s:    "*..t,,   r/)PATHPYTHONNOUSERSITE PYTHONPATHr,r) _save_envrrsplitrQpathsepr"r{updater)rGr<old_path pythonpaths r0 __enter__zBuildEnvironment.__enter__s  B    ~aaa >&)  4 KKrz22 3 3 3n%   --$' jooj99       r/exc_typetype[BaseException] | Noneexc_valBaseException | Noneexc_tbTracebackType | Nonec|jD]7\}}|!tj|d(|tj|<8dSr8)r/itemsrQr{pop)rGr6r8r:varname old_values r0__exit__zBuildEnvironment.__exit__s^ #'."6"6"8"8 0 0 GY  w----&/ 7##  0 0r/reqsrc%tuple[set[tuple[str, str]], set[str]]cjt}t}|rt|drt|jn t }|D]}t |}|j|jddis5||j }|s| |gt|j tr|j d|j }n|j d|j }|j|j ds| ||f||fS) zReturn 2 sets: - conflicting requirements: set of (installed, wanted) reqs tuples - missing requirements: set of reqs r Nrr?z==z===T) prereleases)setr\rr rrmarkerevaluateget_distributionraddrversionr specifiercontains) rGrBmissing conflictingrreq_strrdistinstalled_req_strs r0check_requirementsz#BuildEnvironment.check_requirementssU%%ee  B4--////,..    B B%g..:)#*2E2EwPRm2T2T)++CH55KK(((dlG44G+.8(E(Et|(E(E%%+.8(F(F (F(F%}--dl-MMBOO%6$@AAAG##r/Nrerbprefix_as_stringr3rdrerfc|j|}|jrJd|_|sdS|j||||dS)NT)rdre)rrArrh)rGrbrUrdrer@s r0install_requirementsz%BuildEnvironment.install_requirements2sX 01<   F |V$PPPPPr/)rrar5r=rr6r7r8r9r:r;r5r=)rBrcr5rC rbrcrUr3rdr3rerfr5r=) r*r+r,rjrIr5rArSrWr.r/r0rrsKK5555n    * 0 0 0 0 $ $ $ $P.2 Q Q Q Q Q Q Q Qr/rc@eZdZdZddZddZdd Zdd ZddddZdS)NoOpBuildEnvironmentz0A no-op drop-in replacement for BuildEnvironmentr5r=cdSr8r.rGs r0rIzNoOpBuildEnvironment.__init__E r/cdSr8r.r]s r0r5zNoOpBuildEnvironment.__enter__Hr^r/r6r7r8r9r:r;cdSr8r.)rGr6r8r:s r0rAzNoOpBuildEnvironment.__exit__Ks r/cdSr8r.r]s r0cleanupzNoOpBuildEnvironment.cleanupSr^r/NrTrbrcrUr3rdrerfctr8)NotImplementedError)rGrbrUrdres r0rWz)NoOpBuildEnvironment.install_requirementsVs"###r/rrXrY) r*r+r,rjrIr5rArbrWr.r/r0r[r[Bs::                .2 $$$$$$$$r/r[)r2r3r4r3r5r6)r5r3)r5rU)Qrj __future__rrrQrKr]rr collectionsrcollections.abcrr contextlibrContextManagerrior typesr typingr r r pip._vendor.packaging.versionrpiprrMpip._internal.cli.spinnersrrpip._internal.exceptionsrrrrpip._internal.locationsrrrpip._internal.metadatarrpip._internal.utils.deprecationrpip._internal.utils.loggingrrpip._internal.utils.packagingrpip._internal.utils.subprocessrpip._internal.utils.temp_dirr r!pip._internal.cacher""pip._internal.index.package_finderr#,pip._internal.operations.build.build_trackerr$pip._internal.req.req_installr%pip._internal.resolution.baser&r( getLoggerr*rr9r;rTr_rarlrrr[r.r/r0r~s@@""""""  ######........??????""""""5555555555111111((((((FFFFFFFF IHHHHHHHHHKKKKKKKK666666@@@@@@@@999999::::::EEEEEEEE&......@@@@@@IIIIII@@@@@@::::::&&&&&y&&&&  8 $ $&&&&???????? 5 5 5 5 ====(         SSSSSSSSlh h h h h h h h VJQJQJQJQJQJQJQJQZ$$$$$+$$$$$r/