Ñò ")[c @sddklZlZddklZlZddklZddkTddklZddk Z ddk Z ddk Z ddk Z da d„Zd„Zd „Zeed „ƒZd „Zd efd „ƒYZdefd„ƒYZd„Zd„ZdS(iÿÿÿÿ(tPopentPIPE(t_tYumBase(tDownloadBaseCallback(t*(RNcCs0tdjotiatddƒt_ndS(Nis /dev/nulltw(tverbosetsyststdoutt old_stdouttopen(((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyt mute_stdout s  cCs4tdjo#tdjo tt_q0dGHndS(Niiÿÿÿÿs ERR: unmute called without mute?(RR RR (((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyt unmute_stdouts   cstddk}tiƒ‰tiƒ‰|idƒ‰ˆiˆjoˆiˆjoˆS‡‡‡‡fd†}|S(NiÿÿÿÿtabrtcsMtiˆiƒtiˆiƒˆ||Ž}tiˆƒtiˆƒ|S(N(tostsetegidtpw_gidtseteuidtpw_uid(targstkwargstretval(Rt current_uidt current_gidtfn(s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytwrapped#s   (tpwdRtgetuidtgetgidtgetpwnamRR(RRR((RRRRs</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytensure_abrt_uids     cCsC|d|}td||ƒtd|ƒtdƒi|ƒGH|d}yt|dƒ}Wn-tj o!} tdƒi|| ƒGHtSXtd|gd |d d ƒ} | iƒ} | d jo3td ƒ|ptd|ƒt i |ƒqn#|i ƒtdƒi|ƒGHtS|i ƒt|dƒ}tdƒid|ƒGHd} ddg} |o<x |D]}| d|d7} qhWdd| i ƒg} ntddƒi iƒ}zC|~}t| d|d d d|d |d|ƒ}|iƒ} WdQX| d jotdƒt i |ƒntdƒi|ƒGHtSdS(Nt/sExtracting %s to %ss%ssExtracting cpio from {0}s/unpacked.cpiotwbsCan't write to '{0}': {1}trpm2cpioR tbufsizeiÿÿÿÿiscpio written OKskeeprpms = False, removing %ssCan't extract package '{0}'trbs$Caching files from {0} made from {1}s unpacked.cpiottcpios-idut.t s /dev/nullRtcwdtstdintstderrsfiles extracted OKsCan't extract files from '{0}'(tlog1tlog2RtformatR tIOErrortRETURN_FAILURERtwaitRtunlinktclosetstript__exit__t __enter__(tpackage_file_nametfilesttmp_dirtdestdirtkeeprpmt exact_filestpackage_full_pathtunpacked_cpio_patht unpacked_cpiotexR"tretcodet file_patternst cpio_argstfilenamet_[1]tnullR&((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyt unpack_rpm3sP         &  cCskto`ytitƒWqgtj o<}|itijo ttdƒit|ƒƒqcqgXndS(NsCan't remove '{0}': {1}( ttmpdirtshutiltrmtreetOSErrorterrnotENOENTt error_msgRR.(R@((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytclean_upjs tMyDownloadCallbackcBseZd„Zd„ZRS(cCs5||_d|_d|_d|_ti|ƒdS(Ni(t total_pkgstdownloaded_pkgstlast_pctt last_timeRt__init__(tselfRQ((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyRUss     cCsgt|dƒ}||ijotdƒdS||_tiiƒoftiid|id|i||fƒ|djo+t dƒi |id|i||ƒGHqVn©t i ƒ}|i djo ||_ n|djp$|i |jp||i djoNt dƒi |id|i||ƒGH||_ |djo d|_ qVntii ƒdS(Nids-percentage is the same, not updating progresss&Downloading (%i of %i) %s: %3u%%is$Downloading ({0} of {1}) {2}: {3:3}%ii(tintRSR-RR tisattytwriteRRRQRR.ttimeRTtflush(RVtnametfractfreadtftimetpcttt((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytupdateProgresszs*     #  1   (t__name__t __module__RURb(((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyRPrs tDebugInfoDownloadcBs2eZeed„Zed„ƒZed„ZRS(cCsŸ||_||_|a||_||_ti|ƒtƒtdƒGHy|iƒWn:t j o.}t ƒtdƒi |ƒGHt dƒnXt ƒdS(NsInitializing yums7Error initializing yum (YumBase.doConfigSetup): '{0!s}'i( tcachedirRHtkeeprpmstnoninteractiveRRUR Rt doConfigSetupt ExceptionR R.texit(RVtcachettmpt keep_rpmsRhte((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyRU s      cCs¤tii|iƒp:yti|iƒWqPtj o}d|GHtSXntii|iƒp:yti|iƒWq tj o}d|GHtSXntS(NsCan't create tmpdir: %ssCan't create cachedir: %s( RtpathtexistsRHtmakedirsRKR0Rft RETURN_OK(RVR@((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytsetup_tmp_dirs¹s    cCsãd}d}d}d}|pdS|iƒp|iidƒtdƒnxp|iiƒD]_}y!|iƒ|ii|iƒWq_t j o)}t dƒi |it |ƒƒGHq_Xq_Wt dƒGHx´|ii ddƒD]} yR|ii| iƒ} |iid t | iƒƒtd | ƒt| d tƒWqãt j o6}t d ƒi | i|ƒGH|ii| iƒqãXqãWt d ƒGHy|iiddddƒWn*t j o} t dƒi | ƒGHdSXy|iiddddƒWn*t j o} t dƒi | ƒGHdSXg} h} xß|D]×}td|ƒ|ii|ƒ}|o‘|d| iƒjo| |di|ƒnJ|g| |d<|t|diƒ7}|t|diƒ7}|d7}td||dƒq6td|ƒ| i|ƒq6Wt|ƒ}|ii|ƒtdjpt| ƒdjot dƒi t| ƒƒGHntdjp |djoft dƒi |ƒGHt dƒi |d(|d)ƒ}|i t!jot"|ƒ ot dƒGHt#Snxo| i$ƒD]a\}}||_%d|_&|i'dƒ}t(i)i*|ƒ}|i+ƒ}|t#jo|St(i)i,|i-|ƒ}||_.|i/d|gƒ}|i0d|i1d|i2d |i3}|d!}|o>yt(i4|i-d"|ƒWnnXt d#ƒi |ƒGHnLt5|||i-|i6|i7d$|ƒ}|t8jot d%ƒGHt9ƒt8S|d7}qøW|i7 owt(i)i:|i-ƒoat d&ƒi |i-ƒGHyt(i;|i-ƒWqßt<j o#t=t d'ƒi |i-ƒƒqßXnt#S(*s @files - iNs#Error: can't make cachedir, exitingi2s'Can't disable repository '{0!s}': {1!s}sSetting up yum repositoriestpatterns *debuginfo*tthisreposenabled repo %stskip_if_unavailablesCan't setup {0}: {1}, disablings+Looking for needed packages in repositoriestmdtypetmetadatat cacheonlyis"Error retrieving metadata: '{0!s}'t filelistss#Error retrieving filelists: '{0!s}'syum whatprovides %ssfound pkg for %s: %ssnot found pkg for %ss+Can't find packages for {0} debuginfo filessPackages to download: {0}s;Downloading {0:.2f}Mb, installed size: {1:.2f}Mb. Continue?isDownload cancelled by usert relativepathtpkglistt-R's.rpmR sDownloading package {0} failedR<s&Unpacking failed, aborting download...s Removing {0}s/Can't remove %s, probably contains an error logii(>t setCacheDirtloggerterrorRktrepost listEnabledR3t disableRepotidRjRR.tstrt findRepost enableRepotdoSetupR,tsetattrtTruet populateSackR-tpkgSackt searchFilestkeystappendtfloattsizet installedsizeRPtsetProgressBarRtlenRhtFalset ask_yes_noRst iteritemsRRRlt returnSimpleRRptbasenameRttjoinRHt localpatht downloadPkgsR\tversiontreleasetarchR2RGRfRgR0RORqtrmdirRKRN(RVR8tdownload_exact_filestinstalled_sizeRQttodownload_sizeRRtrepoR@trtridRot not_foundtpackage_files_dicttdebuginfo_pathtpkgtdnlcbtquestiontremotetlocalRterrtpkg_nvraR7t unpack_result((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytdownloadËsÈ  )                  *   !%(RcRdR–R‹RURRtR³(((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyReŸsc Cs4g}|D]"}|d||d |dfq ~S(s~ build_id1=${build_id:0:2} build_id2=${build_id:2} file="usr/lib/debug/.build-id/$build_id1/$build_id2.debug" s&%s/usr/lib/debug/.build-id/%s/%s.debugi((tpfxt build_idsREtb_id((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytbuild_ids_to_pathcscCs6td|ƒ}g}x\|D]T}td|ƒtii|ƒotd|ƒqntd|ƒ|i|ƒqW|o|}g}n|Sx |D]˜}td|ƒxf|D]^}||}td|ƒtii|ƒotd|ƒq±ntd|ƒ|i|ƒq±W|o|}g}q–|Sq–W|S(NR%s looking: %ss found: %ss not found: %ss looking in %s(R·R-RRpRqR(Rµt cache_dirsR8tmissingRªt cache_dirtcache_debuginfo_path((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pytfilter_installed_debuginfosms>         (t subprocessRRtyumRRt yum.callbacksRt reportclientRRRZRLR R R RR–RGRORPReR·R¼(((s</usr/lib64/python2.6/site-packages/reportclient/debuginfo.pyts&        6 -Ä