Ñò QÜjZc@s1ddkZddkZddkZddkZddkZeieiZy eZ Wne j o dZ nXe Z ddklZddddgZd„Zdd d„ƒYZeigZdefd „ƒYZeeigZd iƒD]Zeeeed ƒqò[ƒZdefd „ƒYZdS(iÿÿÿÿN(tDistutilsErrortAbstractSandboxtDirectorySandboxtSandboxViolationt run_setupc s¡tiƒ}ti}ti}tiitiiˆƒƒ}tii|dƒ}tii|ƒpti |ƒnt i }ti i ƒ}z›|t _ ti|ƒyJˆgt|ƒti(tiid|ƒt|ƒi‡fd†ƒWn4tj o(} | io| ido‚q)nXWdti i|ƒx2tti ƒD]!} | |joti | =qMqMWti|ƒ|ti(|ti(|t _ XdS(s8Run a distutils setup script, sandboxed in its directoryttempicstdhˆd6dd6ƒS(ssetup.pyt__file__t__main__t__name__(texecfile((t setup_script(s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pytsN(tostgetcwdtsystargvtpathtabspathtdirnametjointisdirtmakedirsttempfilettempdirtmodulestcopytchdirtlisttinsertRtrunt SystemExittargstupdate( R Rtold_dirt save_argvt save_patht setup_dirttemp_dirtsave_tmpt save_modulestvtkey((R s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyR s:           cBsÑeZdZeZd„Zd„Zd„Zd„Zx>dddgD]-Z e e e ƒoee ƒe ƒe s       cs%ttˆƒ‰‡‡fd†}|S(NcsB|io%|iˆ||||Ž\}}nˆ||||ŽS(N(R>t _remap_pair(R0tsrctdstRtkw(R2toriginal(s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pytwrapQs %(R5R,(R2RF((R2REs6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyt_mk_dual_path_wrapperOstrenametlinktsymlinkcs,ˆp ttˆƒ‰‡‡fd†}|S(Ncs6|io|iˆ|||Ž}nˆ|||ŽS(N(R>t _remap_input(R0RRRD(R2RE(s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRF^s (R5R,(R2RERF((R2REs6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyt_mk_single_path_wrapper\sR:R<tstattlistdirRtchmodtchowntmkdirtremovetunlinktrmdirtutimetlchowntchroottlstatt startfiletmkfifotmknodtpathconftaccesscs%ttˆƒ‰‡‡fd†}|S(NcsO|io5|iˆ|||Ž}|iˆˆ|||ŽƒSˆ|||ŽS(N(R>RKt _remap_output(R0RRRD(R2RE(s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRFqs (R5R,(R2RF((R2REs6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyt_mk_single_with_returnostreadlinkttempnamcs%ttˆƒ‰‡‡fd†}|S(Ncs.ˆ||Ž}|io|iˆ|ƒS|S(N(R>R^(R0RRDtretval(R2RE(s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRF}s (R5R,(R2RF((R2REs6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyt _mk_query{sR ttmpnamcCs|S(s=Called to remap or validate any path, whether input or output((R0R((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyt_validate_path‡scOs |i|ƒS(sCalled for path inputs(Re(R0t operationRRRD((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRK‹scCs |i|ƒS(sCalled for path outputs(Re(R0RfR((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyR^scOs6|i|d|||Ž|i|d|||ŽfS(s?Called for path pairs like rename, link, and symlink operationss-froms-to(RK(R0RfRBRCRRD((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRA“sN(Rt __module__t__doc__R?R>R3R7RRGR2R.R,tlocalstNoneRLR8R;R_RcReRKR^RA(((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyR/sF          cBs¬eZdZeiddddddddd d d d d g ƒZed„Zd„Ze odd„Z ndd„Z d„Z d„Z d„Z d„Zdd„ZRS(s<Restrict operations to a single subdirectory - pseudo-chrootR<RORPRQRRRSRTRURVRWRZR[RacCsVtiitii|ƒƒ|_tii|idƒ|_||_ti |ƒdS(Nt( R Rtnormcasetrealpatht_sandboxRt_prefixt _exceptionsRR3(R0tsandboxt exceptions((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyR3¥s! cOst|||ƒ‚dS(N(R(R0RfRRD((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyt _violation«strcOsN|djo.|i|ƒ o|id||||Žnt||||ŽS(NRttrttrbtrUtUR:(RtRusrbsrURx(t_okRsR8(R0RtmodeRRD((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyR8¯scOsN|djo.|i|ƒ o|id||||Žnt||||ŽS(NRtRuRvRwRxR<(RtsrtsrbsrURx(RyRsR;(R0RRzRRD((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyR;´scCs|idƒdS(NRd(Rs(R0((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRd¹scCs}|i}zct|_tiitii|ƒƒ}||ijp#||ijp|i|i ƒot SWd||_XdS(N( R>R?R RRlRmRpRnR-RoR=(R0RtactiveRm((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRy¼s    cOsK||ijo7|i|ƒ o&|i|tii|ƒ||Žn|S(sCalled for path inputs(t write_opsRyRsR RRm(R0RfRRRD((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRKÇs!&cOsI|i|ƒ p|i|ƒ o|i|||||Žn||fS(s?Called for path pairs like rename, link, and symlink operations(RyRs(R0RfRBRCRRD((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRAÍs"iÿcCsI|t@o+|i|ƒ o|id|||ƒnti|||ƒS(sCalled for low-level os.open()sos.open(t WRITE_FLAGSRyRsR,R<(R0R:tflagsRz((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyR<Ós(RRgRhtdicttfromkeysR|t _EXCEPTIONSR3RsR8R;RdRyRKRAR<(((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRs      s4O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC O_TEMPORARYicBseZdZd„ZRS(sEA setup script attempted to modify the filesystem outside the sandboxcCs d|iS(Ns³SandboxViolation: %s%r %s The package setup script has attempted to modify files on your system that are not within the EasyInstall build area, and has been aborted. This package cannot be safely installed by EasyInstall, and may not support alternate installation locations even if you run its setup script by hand. Please inform the package's author and the EasyInstall maintainers to find out if a fix or workaround is available.(R(R0((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyt__str__æs (RRgRhR‚(((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyRãs((R RR9RtoperatorRR2R,R:R8t NameErrorRjR<R;tdistutils.errorsRt__all__RRtdevnullRRtreducetor_R1tsplittaR5R}R(((s6/usr/lib/python2.6/site-packages/setuptools/sandbox.pyts"<   #l =/