ó
–<4Ic           @   s2  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d  d l
 Z
 d  d l m Z m Z m Z d  d l Td Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 j ƒ  a d j ƒ  a d „  Z d „  Z d „  Z d d d „ Z d d d „ Z d S(   iÿÿÿÿN(   t   errort   warnt   info(   t   *t   bz2c         B   s4  y | j  | j ƒ Wn- e k
 rC e j d | j j ƒ  ƒ ‚ n X| j } | j j |  ƒ } | d  k rŠ e j d |  | j f ƒ ‚ n  | | _ yI e j j	 | j ƒ  e
 ƒ } e | d ƒ } | d  U| rÛ | j ƒ  n  WnH e k
 r&e j j	 | j ƒ  e ƒ } e j | ƒ } | j | ƒ n X| | _ d  S(   Ns   No such directory s$   subdir not found (%s), restore is %st   r(   t   rescant   patht   OSErrort   Utilst   WscriptErrort   abspatht   find_dirt   Nonet   ost   joint   WSCRIPT_BUILD_FILEt   opent   closet   IOErrort   WSCRIPT_FILEt   load_modulet   build(   t   dirt   bldt   oldt   newt	   file_patht   filet   module(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyt
   add_subdir	   s(       		 c          C   sÄ  d }  t  t j t d  ƒ } | s9 t  t j t d  ƒ } n  | sm t j |  t t j	 j
 d ƒ t t f ƒ ‚ n  t j	 j
 | ƒ } t  t j t d  ƒ } | s² t  t j t d  ƒ } n  | sæ t j |  t t j	 j
 d ƒ t t f ƒ ‚ n  t j	 j
 | ƒ } y t j | ƒ Wn t k
 rn Xt j d | d | ƒ } | j d ƒ | j ƒ  t j ƒ  } | | t <| | t <t j | d <| j | d <| j | d <t j | d	 <t j j | d
 <| j t j ƒ d  S(   Nsc   The %s is not given in %s:
 * define a top level attribute named "%s"
 * run waf configure --%s=xxxt   .t   srcdirt   blddirt    t   argvt   hasht   filest   commandst   options(   t   getattrt   OptionsR'   t   SRCDIRR   R	   t   g_moduleR
   R   R   R   t   BLDDIRt   makedirsR   t	   Configuret   ConfigurationContextt
   sub_configt   storet   Environmentt   sysR#   R$   R%   R&   t   __dict__t   lockfile(   t   errt   srcR   t   conft   env(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyt	   configure   s:      .  .  


c         C   s4  |  g t  _ | t  _ d t j k rJ t  j ƒ  } | j ƒ  t j d ƒ n  d t } d  } d  } t  j } t
 j | ƒ } t }	 t | k r“ | } n„ d t j k rt | k rt
 j j t
 j j t j d ƒ ƒ }
 t t
 j |
 ƒ k r÷ |
 } t }	 n t d ƒ t j d ƒ | } n  x† |	 rŸt | ƒ d k r6Pn  t
 j | ƒ } t | k rZ| } n  d t j k rs| rsPn  t  j | k r†Pn  | | j t
 j ƒ  } qW| sd t j k sÄd	 t j k rçt d
 ƒ t  j ƒ  } | j ƒ  n
 t | ƒ t j d ƒ n  t
 j | ƒ t j t
 j j | t ƒ ƒ | rwt t j t d  ƒ } | rhd | | f } t | ƒ n  | t j _ n  t  j ƒ  } | j  d ƒ | j ƒ  t t j d d  ƒ } | r¿| ƒ  n  xg d d d g D]V } t  j! | rÏt t j | d  ƒ } | r| ƒ  n t" | d ƒ t j d ƒ qÏqÏWt# ƒ  d  S(   Ns	   --versioni    sT   Waf: *** Nothing to do! Please run waf from a directory containing a file named "%s"R:   s0   arg[0] directory does not contain a wscript filei   i   s   -hs   --helps9   No wscript file found: the help message may be incompletes&    Overriding build directory %s with %sR"   t   initt   distt	   distcleant	   distchecks   ()($   R)   t   tooldirt
   launch_dirR3   R#   t   Handlert
   parse_argst   exitR   R   R   t   listdirt   TrueR   R   R   t   dirnamet   FalseR    t   lenR5   t   rfindt   sepR   t   chdirR	   t   set_main_moduleR   R(   R+   R,   R!   t   sub_optionsR&   t   evalt   main(   t   tt   cwdt   vert   wafdirt   opt_objt   msg1t   build_dir_overridet	   candidatet   lstt   search_for_candidatet   calldirt   dirlstt   dt   msgt   funt   x(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyt   prepare_impl3   s|    	

		%	
			


 

c         C   sƒ   t  | k r8 d | t  | f } d | GHt j d ƒ n  y t |  | | | ƒ Wn- t j k
 r~ } t | ƒ t j d ƒ n Xd  S(   Ns3   Version mismatch: waf %s <> wafadmin %s (wafdir %s)s   [91mError: %s[0mi   (   t
   WAFVERSIONR3   RC   R`   R	   t   WafErrorR    (   RP   RQ   RR   RS   R]   t   e(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyt   preparet   s    	
c          C   s‘  t  j d rx t j ƒ  }  t ƒ  d } t  j j sZ t j d t j t j ƒ  |  ƒ ƒ } n  t d | ƒ t	 j
 d ƒ n  t j ƒ  } y t j t  j ƒ } Wnz t k
 rt  j d rÉ t j d ƒ ‚ qt j rt d ƒ t ƒ  t j ƒ  } t j t  j ƒ } qt j d	 ƒ ‚ n Xt j r_t  j d r_t  j d
 r_d } d } yM x6 | d D]* } t j | ƒ } t j | | j ƒ } qVW| | d k } Wn0 t k
 rÇ} t d t | ƒ f ƒ d } n X| r\t d ƒ t  j t  j t j t j f }	 | d t  _ | d t  j _ t ƒ  |	 \ t  _ t  _ t _ t _ t j ƒ  } t j t  j ƒ } q\q_n  | j | t | t ƒ | j  ƒ  t! t j" d d  ƒ }
 |
 r©|
 | ƒ nQ d  } x6 t j$ j% ƒ  D]% \ } } | j& d k r¿| } Pq¿q¿Wt j' d | ƒ ‚ t! t j" d d  ƒ } | r| ƒ  n  t  j d s5t  j( r2t  j d
 rmd d  l) } d „  } t* | j) d | ƒ n  t j ƒ  }  | j+ ƒ  t  j j r—d GHn  t  j( r­| j, ƒ  n  d } t  j j sçt j d t j t j ƒ  |  ƒ ƒ } n  t  j d rd | } n$ t  j d
 rd | } n
 d | } t | ƒ n  t  j d rhz | j- ƒ  t d ƒ Wd  | j. ƒ  Xn  t! t j" d d  ƒ } | r| ƒ  n  d  S(   NR:   R"   s    (%H:%M:%S)sE   Configuration finished successfully%s; project is now ready to build.i    t   cleans)   Nothing to clean (project not configured)s   Reconfiguring the projects2   Project not configured (run 'waf configure' first)t	   uninstallR%   R$   s5   Reconfiguring the project (an exception occurred: %s)i   s9   Reconfiguring the project (the configuration has changed)R&   R'   R   t   wscript_mains-   Could not find the function 'def build(bld).'t	   pre_buildiÿÿÿÿc         S   s   t  S(   N(   t   SKIP_ME(   t   self(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyt   runnable_statusº   s    Rk   t   installs4   Compilation and installation finished successfully%ss&   Uninstallation finished successfully%ss#   Compilation finished successfully%ss   Cleaning finished successfullyt   shutdown(/   R)   R&   t   timeR:   R'   t   progress_bart   strftimet   gmtimeR   R3   RC   t   Buildt   BuildContextR2   R5   R   R	   Rb   R.   t
   autoconfigR   R   t   hash_function_with_globalst	   Exceptiont   strt   Logst   zonest   verboseR4   t	   load_dirsR*   R,   t	   load_envsR(   R+   R   t   g_loaded_modulest   itemst   __name__R
   t
   is_installt   Taskt   setattrt   compileRl   Re   t   save(   t   init   elaR   t   projt   reconft   hR   t   modt   ext   backt   ft   main_wscriptR   R   Rh   R   Rk   R]   R^   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyRO   ~   s¦     (	
	


 
	
 	(  

 sw   .bzr .bzrignore .git .gitignore .svn CVS .cvsignore .arch-ids {arch} SCCS BitKeeper .hg Makefile Makefile.in config.logs5   ~ .rej .orig .pyc .pyo .bak .tar.bz2 tar.gz .zip .swpc      	   C   sŒ   |  j  d ƒ s` |  j  d ƒ s` |  j  d ƒ s` | d k rH |  t j k s` |  t k s` |  | k rd t Sx! t D] } |  j | ƒ rk t Sqk Wt S(   Ns   ,,s   ++s   .waf-1.R   (   t
   startswithR)   R5   t   excludesRE   t	   dist_extst   endswithRG   (   t   nameR7   t	   build_dirt   ext(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyt	   dont_distÓ   s    `c         C   s¨   t  j |  ƒ } t  j | ƒ x… | D]} } t  j j |  | ƒ } t  j j | | ƒ } t | |  | ƒ rk q# n  t  j j | ƒ r t | | | ƒ q# t j	 | | ƒ q# Wd  S(   N(
   R   RD   R-   R   R   R–   t   isdirt   copytreet   shutilt   copy2(   R7   t   dstR”   t   namesR“   t   srcnamet   dstname(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyR˜   Û   s    c          C   sÎ   t  j d ƒ }  x® |  D]¦ } | t j k r— y$ t j | ƒ } t j | t ƒ Wn t t	 f k
 rh n Xy t  j
 | ƒ Wq— t t	 f k
 r“ q— Xn  | j d ƒ r t j | d t ƒq q Wt d ƒ d  S(   NR   s   .waf-t   ignore_errorss   distclean finished successfully(   R   RD   R)   R5   R2   R™   t   rmtreeR,   R   R   t   removeR   RE   R   (   RX   R   R‡   (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyR=   ç   s    R"   c         C   s  d d  l  } |  s* t t j t d ƒ }  n  | sH t t j t d ƒ } n  |  d | } | d t } y t j | ƒ Wn t	 t
 f k
 rŽ n Xy t j | ƒ Wn t	 t
 f k
 r¹ n Xt d | t t j t d  ƒ ƒ t t j d d  ƒ } | r t j | ƒ z | ƒ  Wd  t j d ƒ Xn  | j | d	 t ƒ } | j | ƒ | j ƒ  t d
 | ƒ t j j | ƒ r}t j | ƒ n  | S(   Niÿÿÿÿt   nonames   1.0t   -s   .tar.R   t	   dist_hooks   ..s   w:s   Your archive is ready -> %s(   t   tarfileR(   R	   R+   t   APPNAMEt   VERSIONt   g_gzR™   R    R   R   R   R¡   R˜   R,   R   RK   R   t   addR   R   R   t   exists(   t   appnamet   versionR¥   t
   tmp_foldert	   arch_nameR¤   t   tar(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyR<   ÷   s:      
 c         C   s[  d d  l  } d d  l } d d  l } |  sB t t j t d ƒ }  n  | s` t t j t d ƒ } n  t j	 j
 t j d ƒ } t |  | ƒ } | j | ƒ } x | D] } | j | ƒ qž W| j ƒ  | j d d |  | f ƒ }	 t j ƒ  }
 | j d t ƒ  d t ƒj ƒ  } | r%t j d	 | ƒ ‚ n  t j	 j |	 ƒ rMt j d
 |	 ƒ ‚ n
 t d ƒ d  S(   NiÿÿÿÿR¢   s   1.0i    s   .insts   %s-%ss   %(waf)s configure && %(waf)s && %(waf)s check && %(waf)s install --destdir=%(instdir)s && %(waf)s uninstall --destdir=%(instdir)st   shells   distcheck failed with code %is.   distcheck succeeded, but files were left in %ss   distcheck finished successfully(   t   tempfileR¥   t   pprocR(   R	   R+   R¦   R§   R   R   R   R3   R#   R<   R   t   extractR   t   mkdtempt   getcwdt   Popent   varsRE   t   waitRb   Rª   R   (   R«   R¬   R±   R¥   R²   t   waft   tarballRP   R_   t   instdirt
   cwd_beforet   retval(    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyR>     s(       
"(   R   R3   R™   t	   tracebackRn   R	   R.   Rr   Rx   R)   R2   R    R   R   t	   ConstantsR¨   R   R:   R`   Rd   RO   t   splitR   R‘   R–   R˜   R=   R<   R>   (    (    (    sq   /home/javi/src/hotssh/hotssh/hotssh-0.2.6+dfsg1/.waf-1.5.1-3009bf2a0164643771f76f0e24c46d7e/wafadmin/Scripting.pyt   <module>   s    <H
			A	
	S			