[/\c7@@smddlmZddlmZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl mZdddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<g7ZejZejZejZejZejZejZd=eeefZejZejZejZejZejZejZejZejZejZej Z ej!Z!ej"Z"ej#Z#ej$Z$ej%Z%ej&Z&ej'Z'ej(Z(ej)Z)ej*Z*ej+Z+ej,Z,ej-Z-ej.Z.ej/Z/ej0Z0ej1Z1ej2Z2ej3Z3ej4Z4ej5Z5ej6Z6ej7Z7ej8Z8ej9Z9ej:Z:d>Z;ej<Z<ej=Z=ej>Z>ej?Z?ej@Z@ejAZAejBZBejCZCejDZDejEZEejFZFejGZGejHZHejIZIejJZJejKZKejLZLejMZMejNZNejOZOejPZPejQZQejRZRejSZSejTZTejUZUejVZVejWZWejXZXejYZYejZZZej[Z[ej\d?kZ]ej^d@Z_dAZ`d6ejafdBYZad4ejbfdCYZbdDZcdEZdd<ejefdFYZedS(Gi(tabsolute_import(t version_infoNi(t_hawkeytVERSIONt VERSION_MAJORt VERSION_MINORt VERSION_PATCHttestt CHKSUM_MD5t CHKSUM_SHA1t CHKSUM_SHA256t CHKSUM_SHA512tICASEtCMDLINE_REPO_NAMEtSYSTEM_REPO_NAMEt REASON_DEPt REASON_USERt REASON_CLEANtREASON_WEAKDEPt FORM_NEVRAt FORM_NEVRtFORM_NEVtFORM_NAt FORM_NAMEtFORM_ALLtMODULE_FORM_NSVCAPtMODULE_FORM_NSVCAtMODULE_FORM_NSVAPtMODULE_FORM_NSVAtMODULE_FORM_NSAPtMODULE_FORM_NSAtMODULE_FORM_NSVCPtMODULE_FORM_NSVPtMODULE_FORM_NSVCtMODULE_FORM_NSVtMODULE_FORM_NSPtMODULE_FORM_NStMODULE_FORM_NAPtMODULE_FORM_NAtMODULE_FORM_NPtMODULE_FORM_NArchExceptiont ExceptiontQueryExceptiontRuntimeExceptiontValueExceptiont chksum_namet chksum_typet split_nevratconvert_hawkey_reasontGoaltNEVRAtNSVCAPtPackagetQuerytRepotSacktSelectortSubjectu%d.%d.%dcC@sb|tkrtjjS|tkr,tjjS|tkrBtjjS|tkrXtjj Stjj S(N( Rtlibdnft transactiontTransactionItemReason_USERRt TransactionItemReason_DEPENDENCYRtTransactionItemReason_CLEANRt%TransactionItemReason_WEAK_DEPENDENCYtTransactionItemReason_UNKNOWN(t hawkey_reason((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyR0ms        itdnfcC@stj|}t|S(N(RR/R2(tstt((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyR/scB@s;eZddddddgZdZdZdZRS( tnametstreamtversiontcontexttarchtprofilecC@s/|jo.|j o.|j o.|j o.|j S(N(RERFRGRIRJ(tself((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt_has_just_namescC@sg|jD]}t||^q }gt|j|D]$\}}|dk r8||f^q8}djg|D]\}}dj||^qo}dj|S(Ns, s{}={}s (t NSVCAP_FIELDStgetattrtziptNonetjointformat(RKtitvaluestfieldtvaluetitemst items_str((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt__repr__s%=4cC@sLt}x?|jD]4}t||}t||}|||kM}qW|S(N(tTrueRMRN(RKtothertresultRUt value_selft value_other((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt__eq__s (t__name__t __module__RMRLRYR_(((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyR3s  cB@sGeZeeeeeeehZ dZ dZ dZ dZ RS(cC@s&tt|j|t|_dS(N(tsuperR1t__init__tsett group_members(RKtsack((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyRcscC@sJtt|j|}|tkr@|j|jkr@tjjSt |S(N( RbR1t get_reasonRREReR:R;tTransactionItemReason_GROUPR0(RKtpkgtcode((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyRgs cC@s2|tjjkr.|j|jkr.tjjS|S(N(R:R;R@REReRh(RKRitcurrent_reason((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt group_reasons$ cC@s6d}tj||j|j}|j|dS(Ns*--> Finding unneeded leftover dependencies(tloggertdebugt userinstalledtswdb(RKtquerythistorytmsgtuser_installed((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pytpush_userinstalleds (R`RatERASEt DISTUPGRADEtDISTUPGRADE_ALLt DOWNGRADEtINSTALLtUPGRADEt UPGRADE_ALLt _goal_actionsRcRgRlRu(((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyR1s    cC@s*t r&t|tr&|jddS|S(s Identity, except when obj is unicode then return a UTF-8 string. This assumes UTF-8 is good enough for libsolv and always will be. Else we'll have to deal with some encoding configuration. Since we use this to match string queries, we have to enforce 'strict' and potentially face exceptions rather than bizarre results. (Except that as long as we stick to UTF-8 it never fails.) tutf8tstrict(tPY3t isinstancetunicodetencode(tobj((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt_encodes cC@sZt rt|ts+tr7t|tr7|g}nt|toYtd|DS(Ncs@s%|]}t|td@VqdS(s*[?N(Rd(t.0tp((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pys s(RRt basestringtstrtlisttany(tpattern((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pytis_glob_patterns cB@sqeZedZdZedZdZddZ de deddZ dZ e dZRS( cC@s tt|j|d|dS(Nt ignore_case(RbR9Rc(RKtpkg_specR((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyRcsco@s>tt|j||}x|D]}td|Vq"WdS(Ntnsvcap(RbR9tnsvcap_possibilitiesR3(RKtargstkwargstpossR((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyRs cC@s"|jjdp!|jjdS(Nt/s*/(Rt startswith(RK((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt_filename_patternscC@s,|dr(|djr(t|djStS(Ntnevra(RIRtFalse(RKtsolution((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt_is_arch_specifiedscc@s^tjdtd}tj|tx1tt|jd|D]}td|VqBWdS(NtalwayssThe function 'nevra_possibilities' is deprecated. Please use 'get_nevra_possibilities' instead. The function will be removed on 2018-01-01tformsR(twarningst simplefiltertDeprecationWarningtwarnRbR9tget_nevra_possibilitiesR2(RKtformRsR((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pytnevra_possibilities s "c C@sv|dkr-|j|jd|dt}n|d}t|dkrMgS|j||}|sigS|j rt|js|dr|dj dkrt}|r|dr|dj rt }n|j } |r|j d|}n|j} | j dg| D]} | j ^q} |r?|j| n| j| }g} xj|jjD]V\}}|r||jjj d|j}n| j|j|j|qgW| S|r |dr |dj r |j|jjj d|}n|j } |r.|j| n|rR|j d|j| }n|s\gS|j|j|gSdS( NRtwith_srcRqiRtreponameREt obsoletes(RPtget_best_solutionRfRtlent_apply_security_filtersRRRREt has_just_nameRZt installedtfiltert availablet_report_already_installedtuniont _name_dictRWRqtruntappendt_list_or_query_to_selector(RKtbaseRRRtreportsRtqtwith_obsoletestinstalled_querytavailable_queryRitinstalled_relevant_querytsltrsREt pkgs_list((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyt_get_best_selectorssN !        ' cC@s;|j|dt}|s7tjdj|jn|S(Ntwarnings%No security updates for argument "{}"(t_merge_update_filtersRRmRRRR(RKRqR((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyRFscC@st|}|jd|S(NRi(R8Rd(Rft list_or_querytsltr((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyRLs N(R`RaRRcRtpropertyRRRPRRZRRt staticmethodR(((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyR9s     1 (ft __future__RtsysRtpython_versiont collectionst functoolstloggingtoperatorttimeRtlibdnf.transactionR:tRt__all__R2R5R8RRRRRR RRRRRRRRRRRRR R!R"R#R$R%R&R't MODULE_FORM_NR tEQtLTtGTtIGNORE_EXCLUDESRR R R RRRRR0tADVISORY_UNKNOWNtADVISORY_SECURITYtADVISORY_BUGFIXtADVISORY_ENHANCEMENTtADVISORY_NEWPACKAGEtREFERENCE_UNKNOWNtREFERENCE_BUGZILLAt REFERENCE_CVEtREFERENCE_VENDORR4tReldepR6R7R)R*R,t ArchExceptionR+R-R.t detect_archRvRwRxRyRzR{R|tALLOW_UNINSTALLt FORCE_BESTtVERIFYtIGNORE_WEAK_DEPStmajorRt getLoggerRmR/R3R1RRR9(((s5/usr/lib64/python2.7/site-packages/hawkey/__init__.pyts              !                                                                           #