PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  7m`c@sddlmZddlmZddlmZddlZddlZddl Zddl Zddl Z ddl Z ddlZddlZe jdZdejfdYZdS(i(tunicode_literals(t_(t _parse_specsNudnft OptionParsercBsHeZdZdZdZdejfdYZdejfdYZdej fdYZ d ejfd YZ d ejfd YZ d ejfdYZ dejfdYZdejfdYZdZdZdZdZdZdZdZdZddZddZRS(u5ArgumentParser like class to do things the "yum way".cCsDtt|ji|_t|_|j|_d|_ dS(N( tsuperRt__init__t _cmd_usagetsett _cmd_groupst _main_parsert main_parsertNonetcommand_arg_parser(tself((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR's   cCs1|jtjtd|tjddS(uOutput an error message, and exit the program. This method overrides standard argparser's error so that error output goes to the logger. :param msg: the error message to output uCommand line error: %siN(t print_usagetloggertcriticalRtsystexit(R tmsg((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyterror.s t _RepoCallbackcBseZdZRS(csW|dkrdndt||j}|jfdtjd|DdS(Nu --disablerepoudisableuenablec3s|]}|fVqdS(N((t.0tx(t operation(s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pys =su \s*[,\s]\s*(tgetattrtdesttextendtretsplit(R tparsert namespacetvaluestopt_strtl((Rs9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyt__call__:s(t__name__t __module__R#(((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR9st_RepoCallbackEnablecBseZdZRS(cCs.|jj|ddft|d|dS(Niuenableureponame(trepos_edtappendtsetattr(R RRR R!((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR#@s(R$R%R#(((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR&?st_SplitCallbackcBseZdZdZRS(uN Split all strings in seq, at "," and whitespace. Returns a new list. cCsCx<tjd|D](}ttj|j||||qWdS(Nu \s*[,\s]\s*(RRRRR*R#(R RRR R!tval((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR#Gs (R$R%t__doc__R#(((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR*Dst_SplitExtendDictCallbackcBseZdZdZRS(u[ Split string at "," or whitespace to (key, value). Extends dict with {key: value}.c Csy0|jd\}}| s&| r/tnWn3tk retd|}tj||nXt||j}||| and repo_.c Cs[|jd}t|dkr;tjtd|dSt|dkrgtjtd|dS|\}}|jd}|dkr|| } ||d}t|dr|j} ni} | j| ij|gj |t |d |j | nQt|d r!|j } ni} | j|gj |t |d |j | dS( Nu=iu'Setopt argument has multiple values: %su Setopt argument has no value: %su.iiu repo_setoptsurepo_u main_setoptsumain_( RtlenRtwarningRtfindthasattrt repo_setoptst setdefaultR(R)Rt main_setopts( R RRR R!tvalstktvtperiodtrepotrepooptstmainopts((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR#]s,    % (R$R%R,R#(((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR3ZstParseSpecGroupFileCallbackcBseZdZRS(cCst||dS(N(R(R RRR R!((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR#ys(R$R%R#(((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyRBxstPkgNarrowCallbackcBseZdZdZRS(cOsi|_y3x,ddgD]}|||j|<||=qWWn/tk rm}td|jj|fnXg|ddd?ddddd td@|j dAdBddCdDt ddddEd tdF|j dGdHddIddJddd tdKdDt |j dLddddd tdM|j dNddOddddd tdP|j dQdRdddDt d tdS|j dTddddUddd tdV|j dWddd tdXddY|j dZd[ddddd td\|j d]ddddd td^|j d_d|jdd`dgdda|j}|j dbd|jdd`dgdda|j dcddddadded|j dgd tdf|j}|j dgdhdtddiddd tdj|j dkdldtddmddd tdn|j dodpdqdgddrd|j d tdsddt|j dudvdgddwd|j d tdxdda|j dydid|jddzd td{|j d|dd!dddd}d td~|j ddd!ddddd td|j dddddd td|j dddddd td|j dddddd tddddd|j dddddd tddddd|j ddddddd td|j ddddddtd td|j dddddd td|j dddd td|j dddd td|j dddd td|j dddd td|j dddddgddd td|j ddgddddd td|j ddgddd td|j dddddddgdgddddd td|j ddddtjd|jdttjjjd td|S(u0 Standard options known to all dnf subcommands. tadd_helpuOptional argumentsu-cu--configRuconfig_file_pathtdefaulttmetavaru [config file]thelpuconfig file locationu-qu--quietuquiettactionu store_trueuquiet operationu-vu --verboseuverbose operationu --versionushow DNF version and exitu --installrootuset install rootu[path]u--nodocsu store_consttconstunodocsutsflagsudo not install documentationsu --nopluginsu store_falseupluginsudisable all pluginsu--enablepluginu enablepluginuenable plugins by nameu[plugin]u--disablepluginu disablepluginudisable plugins by nameu --releaseveru:override the value of $releasever in config and repo filesu--setoptusetoptsu%set arbitrary config and repo optionsu --skip-brokenu skip_brokenu.resolve depsolve problems by skipping packagesu-hu--helpu --help-cmduhelpushow command helpu--allowerasingu;allow erasing of installed packages to resolve dependenciesu-bu--bestu8try the best available package versions in transactions.u-Cu --cacheonlyu cacheonlyu2run entirely from system cache, don't update cacheu-Ru --randomwaitu sleeptimettypeu [minutes]umaximum command wait timeu-du --debuglevelu debuglevelu [debug level]udebugging output levelu --debugsolveru)dumps detailed solving results into filesu--showduplicatesushowdupesfromreposu2show duplicates, in repos, in list/search commandsu-eu --errorleveluerror output levelu --obsoletesu obsoletesuenables dnf's obsoletes processing logic for upgrade or display capabilities that the package obsoletes for info, list and repoqueryu--rpmverbosityudebugging output level for rpmu[debug level name]u-yu --assumeyesu*automatically answer yes for all questionsu --assumenou)automatically answer no for all questionsu --enablerepourepos_edu[repo]u --disablerepou--repou--repoidurepouUenable just specific repositories by an id or a glob, can be specified multiple timesu--enableu --set-enabledu set_enabledu>enable repos with config-manager command (automatically saves)u --disableu--set-disabledu set_disabledu?disable repos with config-manager command (automatically saves)u-xu --excludeu --excludepkgsu excludepkgsu exclude packages by name or globu [package]u--disableexcludesu--disableexcludepkgsudisable_excludesudisable excludepkgsu--repofrompathu [repo,path]uIlabel and path to additional repository, can be specified multiple times.u--noautoremoveuclean_requirements_on_removeu7disable removal of dependencies that are no longer usedu --nogpgcheckugpgchecku5disable gpg signature checking (if RPM policy allows)u--colorucolorucontrol whether color is usedu --refreshufreshest_metadatau2set metadata as expired before running the commandu-4u ip_resolveuresolve to IPv4 addresses onlyuipv4u-6uresolve to IPv6 addresses onlyuipv6u --destdiru --downloaddirudestdiru!set directory to copy packages tou--downloadonlyu downloadonlyuonly download packagesu --commentucommentuadd a comment to transactionu--bugfixu,Include bugfix relevant packages, in updatesu --enhancementu1Include enhancement relevant packages, in updatesu --newpackageu0Include newpackage relevant packages, in updatesu --securityu.Include security relevant packages, in updatesu --advisoryu --advisoriesuadvisoryuappendu=Include packages needed to fix the given advisory, in updatesu--bzsubugzillau7Include packages needed to fix the given BZ, in updatesu--cvesu8Include packages needed to fix the given CVE, in updatesu--sec-severityu --secseveritytchoicesuCriticalu ImportantuModerateuLowuseverityuDInclude security relevant packages matching the severity, in updatesu --forcearchuARCHu Force the use of an architectureN(R/tArgumentParsertdnfRWt PROGRAM_NAMEtFalseRt _optionalsttitlet add_argumentR R*R3tintRtadd_mutually_exclusive_groupR-tSUPPRESSRNtsortedtrpmt _BASEARCH_MAPtkeys(R R t repo_groupt enable_group((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR s2      !                                                                     cCsdtjj|jf}tt|j|dtd|jgd|j tt|j ddddt j t j |dt|_|j|j_|j||S( Nu%s %sRRtparentst descriptionucommandtnargsiRU(R[RWR\t_basecmdRRRR]R tsummaryR`R/RcRZR Rt set_argparser(R tcommandtprog((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyt_command_parserLs    cCsgtjj|j}tjj|jd}||jkrc||f|j|<|jj|ndS(u- store usage info about a single dnf command.iN(R[ti18ntucdRntaliasesRRtadd(R tcmdtgroupRntname((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyt_add_cmd_usageXs cCs1x*t|jD]}|j||qWdS(u store name & summary for dnf commands The stored information is used build usage information grouped by build-in & plugin commands. N(RR Rz(R tcli_cmdsRxRw((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyt add_commands`scCsitdd6tdd6}tjj}d|}xddgD]}||jkr^qCn|d||7}xSt|jjD]<}|j|\}}||kr|d||f7}qqWqCW|S(u- get the usage information to show the user. uList of Main Commands:umainuList of Plugin Commands:upluginu%s [options] COMMAND u %s u %-25s %s (RR[RWR\RRdRRg(R tdescRytusagetgrpRxRn((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyt get_usageis   cOs\tg|D]}|d|jk^q rEtt|j||S|jj||SdS(Ni(tallt prefix_charsRRR`R (R RHRItarg((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR`zs,cCs\tjtjjdtd|jg}|jddddtj|j |\}}|S(NRRRjucommandRlu?RU( R/RZR[RWR\R]R R`Rctparse_known_args(R RHRRt _unused_args((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pytparse_main_argss cCsJ|j|tt|j|\}}|jj|||_|jS(N(RrRRRR t parse_argstopts(R RpRHRtextras((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pytparse_command_argss  cCs/|j|jj7_tt|j|dS(N(t_actionsR RRR(R tfile_((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyRscCsc|r@|j|}|j|jj7_tt|jn|j|j_|jjdS(N( RrRR RRt print_helpRR R~(R Rptcp((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyRs N(R$R%R,RRR/tActionRR&t _AppendActionR*R-R3RBRCRNR RrRzR|RR`RRR RR(((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyR$s*        (t __future__Rtdnf.i18nRtdnf.utilRR/tdnf.exceptionsR[tdnf.rpmt dnf.yum.misctloggingtos.pathtosRRt getLoggerRRZR(((s9/usr/lib/python2.7/site-packages/dnf/cli/option_parser.pyts