VULN_CHECK_I913V6 (fddlmZddlmZddlZddlmZddlZddlZddl Zddl m Z ddl m Z ddlmZej dZGd d e j$Zy) )absolute_import)unicode_literalsN)chain)commands) OptionParser)_dnfceZdZdZej ej ejdZdZ de ejzZ e dZedZdZdZd Zd Zd Zd Zd ZdZdZy)InstallCommandzUA class containing methods needed by the cli to execute the install command. )z install-nz install-naz install-nevrazalternative-for({}))install localinstallinz,install a package or packages on your systemc p|jddtdtjtdy)Npackage+PACKAGEzPackage to install)nargsmetavaractionhelp) add_argumentrrParseSpecGroupFileCallback)parsers =/usr/lib/python3.12/site-packages/dnf/cli/commands/install.py set_argparserzInstallCommand.set_argparser2s1IS!I,#/#J#J!"#7!8  :c|jj}d|_d|_d|_d|_t jj|jjr*|jjxjdgz c_ tj|j|j|jj s tj"|jyy)zVerify that conditions are met so that this command can run. That there are enabled repositories with gpg keys, and that this command is called with appropriate arguments. T filelistsN)clidemandssack_activationavailable_repos resolving root_userr util_is_file_pattern_presentopts pkg_specsbaseconfoptional_metadata_typesr _checkGPGKey filenames_checkEnabledRepo)selfr s r configurezInstallCommand.configure8s (("""&"&   88 , ,TYY-@-@ A IINN 2 2{m C 2dii2yy""  & &tyy 1#rcg}g}g}|j}|jj|j|jjdk(r|jj s|jj rm|j|jj |jjjr(tjjtdg}|jj r|jjdk7rtjjrz tj j"j%|j}|j'|jj |jjjn|jj }|jj8ro|rm|j;|jj8|jjjr8tjjtd|j=}|r[|rY|j;||jjjrTtjjtd|r*|jjdk7r|j?||jjdk7r|jA|}tC|dk7stC|dk7s|r[|jjjr:tjjEtddjG||yy#tjj($r}|j*r"|j*D]}|j-||j.r%|j.D]}|j-d|z|j0} | r?t2j5tj j"j7| dYd}~d}~wwxYw) Nr zNothing to do.strict@rzUnable to find a match )pkg_specpackages)$_get_nevra_forms_from_commandr _populate_update_security_filterr'command grp_specsr(_log_not_valid_rpm_file_pathsr)r*r3r exceptionsErrorr WITH_MODULESmodule module_base ModuleBaser MarkingErrorsno_match_group_specsappenderror_group_specsmodule_depsolv_errorsloggererrorformat_modular_solver_errorsr-_inform_not_a_valid_combination_install_files_install_groups_install_packageslenPackagesNotAvailableErrorjoin) r/err_pkgserrserror_module_specs nevra_formsskipped_grp_specsrAee_specrGs rrunzInstallCommand.runJs+88:  11$))< 99   .DII4G4G499K^K^  . .tyy/B/B Cyy~~$$nn**1-=+>?? 99  499#4#4#Fxx$$ 7"%**"8"8"C"CDII"NK'' (;(;DIINNDYDY'Z%)II$7$7! 99  ;  0 01D1D Eyy~~$$nn**1-=+>??**,H   0 01B Cyy~~$$nn**1-=+>?? 499#4#4#F  !2 3 99   .))+6D INc(mq04FDIINNLaLa..::1=U;VDGHHTNDL;N NMb4F=~~33 7--&'&<&z>InstallCommand._log_not_valid_rpm_file_paths..sC!GrzNot a valid rpm file path: %s) maprr'r(rrHinfor)outputtermbold)r/r; group_namespkgmsgs rr<z,InstallCommand._log_not_valid_rpm_file_pathss^+Y7 ,,k:C34C KKTYY--2277< =;rc|D]P}td}tj||jjj j |Ry)NzNot a valid form: %s)rrHwarningr)rbrcrd)r/formsformrgs rrKz.InstallCommand._inform_not_a_valid_combinations@D*+C NN3 0 0 5 5 : :4 @ ArcHg}|jjj}|jj|jj ||jj jD] } |jj||"|S#tjj$rltd}tj||jj jj!|j"|j%|YwxYw)N)r3progressr2zNo match for argument: %s)r)r*r3add_remote_rpmsr'r-rbrmpackage_installr r= MarkingErrorrrHrarcrdlocationrE)r/rRr3rfrgs rrLzInstallCommand._install_filess&&99,,TYY-@-@6:ii6F6F6O6O-QC % ))#f)=Q >>.. %34 C!1!1!6!6!;!;CLL!IJ$ %s7BBD! D!cT |jj|t|jjj|jjj y#t jj$r$|jjj rYywxYw)Nr2) r)env_group_installtupler*group_package_typesr3r r=r>)r/r;s rrMzInstallCommand._install_groupss|  II ' ' (-diinn.P.P(Q/3yy~~/D/D ( F~~## yy~~$$% sA#A&&>B'&B'c|jjjj|jj |}|rjt d}tj|j |djtt|Dcgc]}|jc}yycc}w)N)providesz/There are following alternatives for "{0}": {1}z, ) r)sackqueryfiltermalternatives_provideformatrrHrarQsortedsetname)r/r6ryrgalts r_report_alternativesz#InstallCommand._report_alternativess $$&....55h?/A EFC KK  &%%@%3chh%%@!ABCE F &AsB;cHg}|jjj}|jjD]!} |jj |||#|S#t jj$r}dj|j|jjjj|}tj||jj!||j#||j%|Yd}~d}~wwxYw)N)r3rjz{}: {})r)r*r3r'r(r r r=rpr|valuerbrcrdrHra_report_icase_hintrrE)r/rUrSr3r6rWrgs rrNz InstallCommand._install_packagess&& ++H & !!(6!M, >>.. &ooaggtyy/?/?/D/D/I/I(/ST C  ,,X6))(3 H%%  &sAD!?G:: 2$3Nj > B F rr ) __future__rrlogging itertoolsrrdnf.exceptionsr dnf.utildnf.clirdnf.cli.option_parserrdnf.i18nr getLoggerrHCommandr r]rrrsK*'' .   5 !WX%%Wr