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`  [/\c@@sdZddlmZddlmZddlmZddlZddlZddl Zddl Z ddl Z ddl Z e j dZde jfdYZdS( u! Contains the dnf.Package class. i(tabsolute_import(tunicode_literals(t_NudnftPackagecB@seZdZdZedZejdZedZedZedZ edZ edZ ed Z e jd Z ed Z ed Zed ZedZedZedZedZejdZedZedZedZedZedZedZdZdZdZdZdZd&d"Zd#Z d$Z!d%Z"RS('u Represents a package. #:api cC@s>tt|j|||_d|_d|_d|_dS(N(tsuperRt__init__tbasetNonet _priv_chksumt_repot _priv_size(tselft initobjectR((s//usr/lib/python2.7/site-packages/dnf/package.pyR)s    cC@sr|jr|jS|jrbtjjj}tjjj||j}tj |t j |fSt t |jS(N(Rt _from_cmdlinetdnftyumtmisctget_default_chksum_typetchecksumtlocationthawkeyt chksum_typetbinasciit unhexlifyRRtchksum(R Rt chksum_val((s//usr/lib/python2.7/site-packages/dnf/package.pyt_chksum0s   cC@s ||_dS(N(R(R tval((s//usr/lib/python2.7/site-packages/dnf/package.pyR;scC@sdj|jS(uu returns name of debuginfo package for given package e.g. kernel-PAE -> kernel-PAE-debuginfo u {}-debuginfo(tformattname(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyt debug_name?scC@s|jtjkS(N(treponameRtCMDLINE_REPO_NAME(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyR HscC@s|jtjkS(N(RRtSYSTEM_REPO_NAME(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyt _from_systemLscC@sBd}|jr'|jjj|}ni}|r;d|S|jS(Nu@(RR"RthistorytrepoR(R tpkgrepo((s//usr/lib/python2.7/site-packages/dnf/package.pyt _from_repoPs cC@stjj|jS(N(Rtrpmt_headertlocalPkg(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyR([scC@s |jr|jStt|jS(N(R RRtsize(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyt_size_s cC@s ||_dS(N(R (R R((s//usr/lib/python2.7/site-packages/dnf/package.pyR+escC@sdj|jS(u returns name of debuginfo package for source package of given package e.g. krb5-libs -> krb5-debuginfo u {}-debuginfo(Rt source_name(R ((s//usr/lib/python2.7/site-packages/dnf/package.pytsource_debug_nameiscC@sJ|jdk r@tjj|jd}|jddd}nd}|S(uO returns name of source package e.g. krb5-libs -> krb5 u.src.rpmu-iiN(t sourcerpmRRtutiltrtrimtrsplit(R tsrcname((s//usr/lib/python2.7/site-packages/dnf/package.pyR,rs cC@s/|jdkrdS|j\}}tj|S(N(t hdr_chksumRRthexlify(R RR((s//usr/lib/python2.7/site-packages/dnf/package.pyt_pkgidscC@s t|jS(u: Always type it to int, rpm bindings expect it like that. (tinttrpmdbid(R ((s//usr/lib/python2.7/site-packages/dnf/package.pytidxscC@s|jS(N(R(R ((s//usr/lib/python2.7/site-packages/dnf/package.pytrepoidscC@s(|j|jt|j|j|jfS(N(Rtarchtstrtetvtr(R ((s//usr/lib/python2.7/site-packages/dnf/package.pytpkgtupscC@s!|jr|jS|jj|jS(N(R RtreposR(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyR$s cC@s ||_dS(N(R (R R((s//usr/lib/python2.7/site-packages/dnf/package.pyR$scC@s|jS(N(R(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyt relativepathscC@s|jS(N(R:(R ((s//usr/lib/python2.7/site-packages/dnf/package.pytascC@s|jS(N(tepoch(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyR<scC@s|jS(N(tversion(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyR=scC@s|jS(N(trelease(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyR>scC@s|jS(N(R(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyt ui_from_reposcC@s|j|dkS(Ni(tevr_cmp(R tpkg((s//usr/lib/python2.7/site-packages/dnf/package.pytevr_eqscC@s|j|dkS(Ni(RG(R RH((s//usr/lib/python2.7/site-packages/dnf/package.pytevr_gtscC@s|j|dkS(Ni(RG(R RH((s//usr/lib/python2.7/site-packages/dnf/package.pytevr_ltscC@s|jS(N(tmedianr(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyt getDiscNumscC@s|jr|jS|j}|jjjs@tjj|}n>|jr~|jj dr~tjj |j|j ddStjj |jj |j dS(u Package's location in the filesystem. For packages in remote repo returns where the package will be/has been downloaded. ufile://u/i( R RR$R tisLocaltostpathtbasenametbaseurlt startswithtjointlstriptpkgdir(R tloc((s//usr/lib/python2.7/site-packages/dnf/package.pyR)s  #uhttpuftpufileuhttpsc@safd}jsdSjjj}|rA||Sjjr]|jjSdS(u The location from where the package can be downloaded from :param schemes: list of allowed protocols. Default is ('http', 'ftp', 'file', 'https') :return: location (string) or None c@sxz|D]r}rZtjjj|d}|krytjj|jjdSqtjj|jjdSqWdS(Niu/( RtpycompturlparseRORPRTRRUR(turl_listturlts(tschemesR (s//usr/lib/python2.7/site-packages/dnf/package.pytschemes_filters  "#N(RRR$R t getMirrorsRR(R R]R^tmirrors((R]R s//usr/lib/python2.7/site-packages/dnf/package.pytremote_locations   cC@sH|jdkrtS|jpG|jjjoG|j pG|jjdS(Nu@Systemufile://(R9tTrueR R$R RNRRRS(R ((s//usr/lib/python2.7/site-packages/dnf/package.pyt _is_local_pkgs cC@sD|jdkrdS|j\}}tj|tj|jfS(u] Return the chksum type and chksum string how the legacy yum expects it. N(NN(RRRt chksum_nameRR4tdecode(R RR((s//usr/lib/python2.7/site-packages/dnf/package.pyt returnIdSumscC@s|jrtdn|jr%tS|j\}}tjjj||j d|j }||krt j t d||||tStS(Nu$Can not verify an installed package.tdatasizeu%s: %s check failed: %s vs %s(R"t ValueErrorR RbRfRRRRR)R+tloggertdebugRtFalse(R RRtreal_sum((s//usr/lib/python2.7/site-packages/dnf/package.pytverifyLocalPkgs    (uhttpuftpufileuhttps(#t__name__t __module__t__doc__RtpropertyRtsetterRR R"R&R(R+R-R,R5R8R9R?R$RARBR<R=R>RFRIRJRKRMR)RaRcRfRm(((s//usr/lib/python2.7/site-packages/dnf/package.pyR&sD             (Rpt __future__RRtdnf.i18nRRtdnf.rpmRt dnf.yum.miscRtloggingROt getLoggerRiR(((s//usr/lib/python2.7/site-packages/dnf/package.pyts