B$dZddlmZddlZddlmZmZddlmZddl m Z ddl m Z ddl mZmZdd lmZdd lmZmZdd lmZmZdd lmZdd lmZddlmZddlmZddl m!Z!ej"e#Z$GddeZ%e&ee%fZ'e(eefZ)e(eeefZ*e&ee+e)fZ,e&ee+e*fZ-e(e,e-fZ.e(e'e.fZ/d*dZ0 d+d,dZ1d-dZ2d.d%Z3d/d'Z4d0d)Z5dS)1z&Validation of dependencies of packages) annotationsN) GeneratorIterable)suppress)Parser)reduce)Callable NamedTuple) Requirement)Tag parse_tag)NormalizedNamecanonicalize_name)Version))make_distribution_for_install_requirement)get_default_environment)BaseDistribution)InstallRequirementc$eZdZUded<ded<dS)PackageDetailsrversionzlist[Requirement] dependenciesN)__name__ __module__ __qualname____annotations__p/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pip/_internal/operations/check.pyrrs*######rrreturntuple[PackageSet, bool]c\i}d}t}|ddD]}|j} t|}t |j|||<D#ttf$r(}t d||d}Yd}~xd}~wwxYw||fS)z3Converts a list of distributions into a PackageSet.Fr) local_onlyskipz$Error parsing dependencies of %s: %sTN) riter_installed_distributionscanonical_namelistiter_dependenciesrrOSError ValueErrorloggerwarning) package_setproblemsenvdistnameres r!create_package_set_from_installedr3,sKH ! # #C00E0KK"  6 6 8 899L .t|\ J JK  $    NNA4 K K KHHHHHH    s9A..B'?B""B'r- PackageSet should_ignoreCallable[[str], bool] | None CheckResultcNi}i}|D]\}}t}t}|r ||r0|jD]}t|j} | |vr?d} |j|jddi} | r|| |fY|| j} |j | ds|| | |f|rt|t||<|rt|t||< ||fS)zCheck if a package set is consistent If should_ignore is passed, it should be a callable that takes a package name and returns a boolean. TNextra) prereleases)key) itemssetrrr1markerevaluateaddr specifiercontainssortedstr) r-r5missing conflicting package_namepackage_detail missing_depsconflicting_depsreqr1missedrs rcheck_package_setrN=skGK(3(9(9(;(;JJ$ n%(UU -0UU  ]]<88  !. ; ;C$SX..D;&&:) Z00'2??F2 $$dC[111"$'/G=))'t)DD ; $$dGS%9:::  B$*z)check_install_conflicts..ys D 4Ir)r5)r3_simulate_installation_of_create_whitelistrN)rOr-_would_be_installedrUs @rcheck_install_conflictsr[jsf 788NK2:{KK""4kBBI  'I'I'I'I    rpackagesIterable[BaseDistribution]supported_tags Iterable[Tag]'Generator[BaseDistribution, None, None]c #K|D]}tt5|d}ttjt tt | dgt }| |r|Vdddn #1swxYwYdS)NWHEELr ) rFileNotFoundError read_textr frozensetunionmapr rparsestrget_all isdisjoint)r\r^p wheel_file wheel_tagss rcheck_unsupportedrn~s   ' ( (  W--J)/Ivxx00<<DDUBOOPP **J $$^44                  sBCC C set[NormalizedName]ct}|D]x}t|}|}|j}t |jt |||<||y|S)z=Computes the version of packages after installing to_install.) r>rget_metadata_distributionr&rrr'r(rA)rOr- installedinst_req abstract_distr0r1s rrWrWs IA(KK 6688"*4<d>T>T>V>V9W9WXX D d rrZct|}|D]D}||vr||jD]/}t|j|vr||n0E|SrT)r>rrr1rA)rZr-packages_affectedrHrLs rrXrXs.//# , , , |,9  C **.???!%%l333@ r)r r!rT)r-r4r5r6r r7)rOrPr rQ)r\r]r^r_r r`)rOrPr-r4r ro)rZror-r4r ro)6__doc__ __future__rloggingcollections.abcrr contextlibr email.parserr functoolsrtypingr r "pip._vendor.packaging.requirementsr pip._vendor.packaging.tagsr r pip._vendor.packaging.utilsrrpip._vendor.packaging.versionrpip._internal.distributionsrpip._internal.metadatarpip._internal.metadata.baserpip._internal.req.req_installr getLoggerrr+rdictr4tupleMissing Conflictingr' MissingDictConflictingDictr7rQr3rNr[rnrWrXrrrrs{,,""""""//////// ;:::::55555555IIIIIIII111111QQQQQQ::::::888888<<<<<<  8 $ $$$$$$Z$$$ ..0 1  + ,NG[89 >4=01 ~tK'889K01  K/0!!!!$LP* * * * * Z(     &r