-í
ì¶<c       s+    d  Z    d Z 	 d k Z d k Z d k Z 
 d k T d k l Z l Z  d k	 l
 Z
  d k l Z  d k l Z  d k l Z l Z l Z  d	 k l Z  d
 k l Z  e i d j  o:  h  d d <d d <d d <d d <d d <Z n7  h  d d <d d <d d <d d <d d <Z $ h  h  d d <d d <d d <d d <d d <d <h  d d <d d <d d <d d <d d <d <e d <h  d d <d d <d d <d d <d d <d <Z @ d d d d d f Z C d e f d  „  ƒ  YZ d S(!   sF   distutils.command.install

Implements the Distutils 'install' command.s8   $Id: install.py,v 1.60.6.2 2002/03/25 13:15:28 mwh Exp $N(   s   *(   s   Commands   DEBUG(   s   get_config_vars(   s   DistutilsPlatformError(   s
   write_file(   s   convert_paths
   subst_varss   change_root(   s   DistutilsOptionError(   s   globs   2.2s   $bases   purelibs   platlibs   $base/Include/$dist_names   headerss   $base/Scriptss   scriptss   datas   $base/Lib/site-packagess/   $base/lib/python$py_version_short/site-packagess3   $platbase/lib/python$py_version_short/site-packagess0   $base/include/python$py_version_short/$dist_names	   $base/bins   unix_prefixs   $base/lib/pythons   $base/include/python/$dist_names	   unix_homes   nts   macs   installc      s>  C t  Z E d Z G d e d f d e d f d e d f d e d	 f d
 e d d f d e d f d e d f d e d f d e d d f d e d f d e d f d e d f d d d f d e d  f d! d" d# f d$ d% d& f d' e d( f d) e d* f g Z ‚ d d$ d' g Z ƒ h  d d <Z † d+ „  Z Ð d, „  Z Ud- „  Z	 bd. „  Z
 ‡d/ „  Z –d0 „  Z Ÿd1 „  Z ©d2 „  Z ®d3 „  Z ·d4 „  Z ½d5 „  Z ßd6 „  Z çd7 „  Z d8 „  Z d9 „  Z +d: „  Z 7d; „  Z =d< „  Z @d= „  Z Cd> „  Z Id? e f d@ e f dA e f dB e f g Z RS(C   Ns'   install everything from build directorys   prefix=s   installation prefixs   exec-prefix=s.   (Unix only) prefix for platform-specific filess   home=s+   (Unix only) home directory to install unders   install-base=s;   base installation directory (instead of --prefix or --home)s   install-platbase=s8   base installation directory for platform-specific files s$   (instead of --exec-prefix or --home)s   root=s<   install everything relative to this alternate root directorys   install-purelib=s;   installation directory for pure Python module distributionss   install-platlib=s8   installation directory for non-pure module distributionss   install-lib=s4   installation directory for all module distributions s3   (overrides --install-purelib and --install-platlib)s   install-headers=s(   installation directory for C/C++ headerss   install-scripts=s)   installation directory for Python scriptss   install-data=s%   installation directory for data filess   compiles   cs   compile .py to .pyc [default]s
   no-compiles   don't compile .py filess	   optimize=s   Osl   also compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0]s   forces   fs1   force installation (overwrite any existing files)s
   skip-builds2   skip rebuilding everything (for testing/debugging)s   record=s3   filename in which to record list of installed filesc    s  † Š t  |  _ ‹ t  |  _ Œ t  |  _ ‘ t  |  _ ’ t  |  _ “ t  |  _ ™ t  |  _ š t  |  _	 › t  |  _
 œ t  |  _  t  |  _ ž t  |  _   t  |  _ ¡ t  |  _ « t  |  _ ¬ d |  _ ´ d |  _ µ d |  _ ¶ d |  _ ¾ t  |  _ ¿ t  |  _ Ç t  |  _ d  S(   Ni   i    (   s   Nones   selfs   prefixs   exec_prefixs   homes   install_bases   install_platbases   roots   install_purelibs   install_platlibs   install_headerss   install_libs   install_scriptss   install_datas   compiles   optimizes
   extra_paths   install_path_files   forces
   skip_builds   warn_dirs
   build_bases	   build_libs   record(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   initialize_options† s,   
c    s©  Ð à |  i p |  i p |  i o |  i p |  i o â t d d ‚ n ç t i d j o9 è |  i o |  i p |  i o é t d d ‚ n n[ í |  i o  î |  i	 d ƒ ï t
 |  _ n ð |  i o  ñ |  i	 d ƒ ò t
 |  _ n ü |  i d ƒ þ t i d j o ÿ |  i ƒ  n |  i ƒ  |  i d	 ƒ 
t i t i ƒ d
 } t d d ƒ \ } } h  |  i i ƒ  d <|  i i ƒ  d <|  i i ƒ  d <| d <| d
 d !d <| d <| d <| d <| d <|  _ |  i ƒ  |  i d ƒ |  i |  i d <|  i |  i d <t o,  d k l } !d GH"| |  i ƒ n &|  i ƒ  (|  i d ƒ .|  i t
 j o6 /|  i i o 0|  i |  _ n 2|  i  |  _ n 7|  i! d d d 8d d d  ƒ >|  i" ƒ  ?|  i |  _# @t i$ i% |  i |  i& ƒ |  _ D|  i' t
 j	 o) E|  i( d! d d d Fd d d  ƒ n H|  i d" ƒ K|  i) d# Ld$ d$ f Md% d% f ƒ d  S(&   Ns.   must supply either prefix/exec-prefix/home or s)   install-base/install-platbase -- not boths   posixs1   must supply either home or prefix/exec-prefix -- s   not boths+   exec-prefix option ignored on this platforms$   home option ignored on this platforms   pre-finalize_{unix,other}s   post-finalize_{unix,other}()i    s   prefixs   exec_prefixs	   dist_names   dist_versions   dist_fullnames
   py_versioni   s   py_version_shorts
   sys_prefixs   sys_exec_prefixs   post-expand_basedirs()s   bases   platbase(   s   pprints   config vars:s   post-expand_dirs()s   libs   purelibs   platlibs   scriptss   datas   headerss   libbases   after prepending roots   builds
   build_bases	   build_lib(*   s   selfs   prefixs   exec_prefixs   homes   install_bases   install_platbases   DistutilsOptionErrors   oss   names   warns   Nones	   dump_dirss   finalize_unixs   finalize_others   strings   splits   syss   versions
   py_versions   get_config_varss   distributions   get_names   get_versions   get_fullnames   config_varss   expand_basedirss   DEBUGs   pprints   expand_dirss   install_libs   ext_moduless   install_platlibs   install_purelibs   convert_pathss   handle_extra_paths   install_libbases   paths   joins
   extra_dirss   roots   change_rootss   set_undefined_options(   s   selfs   exec_prefixs   pprints   prefixs
   py_version(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   finalize_optionsÐ sZ   5!


!c    s¹   UVt  o¨ Wd k l } X| d GHYx‚ |  i DY]t } Z| d } [| d d j o \| d d !} n ]t i	 | | ƒ } ^t
 |  | ƒ } _d | | f GHq6 Wn d  S(   N(   s   longopt_xlates   :i    iÿÿÿÿs   =s     %s: %s(   s   DEBUGs   distutils.fancy_getopts   longopt_xlates   msgs   selfs   user_optionss   opts   opt_names   strings	   translates   getattrs   val(   s   selfs   msgs   opts   vals   longopt_xlates   opt_name(    (    s/   /usr/lib/python2.2/distutils/command/install.pys	   dump_dirsUs   
 	c    s­  bd|  i t j	 p |  i t j	 o‚ e|  i t j o |  i t j o |  i t j p- |  i t j p |  i t j p |  i	 t j o kt
 d d ‚ n nd  Sn p|  i t j	 o* q|  i |  _ |  _ r|  i d ƒ nÅ t|  i t j o] u|  i t j	 o vt
 d ‚ n yt i i t i ƒ |  _ zt i i t i ƒ |  _ n' }|  i t j o ~|  i |  _ n €|  i |  _ |  i |  _ ‚|  i d ƒ d  S(   Ns/   install-base or install-platbase supplied, but s!   installation scheme is incompletes	   unix_homes*   must not supply exec-prefix without prefixs   unix_prefix(   s   selfs   install_bases   Nones   install_platbases   install_libs   install_purelibs   install_platlibs   install_headerss   install_scriptss   install_datas   DistutilsOptionErrors   homes   select_schemes   prefixs   exec_prefixs   oss   paths   normpaths   sys(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   finalize_unixbs"   #cc    s•   ‡‰|  i t j o Št i i t i ƒ |  _ n Œ|  i |  _ |  _ y Ž|  i	 t i
 ƒ Wn) t j
 o t d t i
 ‚ n Xd  S(   Ns)   I don't know how to install stuff on '%s'(   s   selfs   prefixs   Nones   oss   paths   normpaths   syss   install_bases   install_platbases   select_schemes   names   KeyErrors   DistutilsPlatformError(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   finalize_other‡s   c    sl   –˜t  | } ™xR t D™]G } šd | } ›t |  | ƒ t j o œt	 |  | | | ƒ n q Wd  S(   Ns   install_(
   s   INSTALL_SCHEMESs   names   schemes   SCHEME_KEYSs   keys   attrnames   getattrs   selfs   Nones   setattr(   s   selfs   names   attrnames   keys   scheme(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   select_scheme–s   
 	c    s˜   Ÿ x‹ | D ]€ } ¡t |  | ƒ } ¢| t j	 oX £t i d j o ¤t i i	 | ƒ } n ¥t
 | |  i ƒ } ¦t |  | | ƒ n q Wd  S(   Ns   posix(   s   attrss   attrs   getattrs   selfs   vals   Nones   oss   names   paths
   expandusers
   subst_varss   config_varss   setattr(   s   selfs   attrss   vals   attr(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   _expand_attrsŸs   
 	c    s    ©ª|  i d d d g ƒ d  S(   Ns   install_bases   install_platbases   root(   s   selfs   _expand_attrs(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   expand_basedirs©s   c    s)   ®¯|  i d d d d d d g ƒ d  S(   Ns   install_purelibs   install_platlibs   install_libs   install_headerss   install_scriptss   install_data(   s   selfs   _expand_attrs(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   expand_dirs®s   c    sM   ·¸x@ | D¸]5 } ¹d | } ºt |  | t t |  | ƒ ƒ ƒ q Wd  S(   Ns   install_(   s   namess   names   attrs   setattrs   selfs   convert_paths   getattr(   s   selfs   namess   attrs   name(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   convert_paths·s   
 	c    s(  ½¿|  i t j o À|  i i |  _ n Â|  i t j	 o» Ãt |  i ƒ t j o Ät i |  i d ƒ |  _ n Æt |  i ƒ d j o Ç|  i d } } n@ Èt |  i ƒ d j o É|  i \ } } n Ët d d ‚ Ñt | ƒ } n Ôt } Õd } Ù| |  _	 Ú| |  _
 d  S(   Ns   ,i   i    i   s.   'extra_path' option must be a list, tuple, or s+   comma-separated string with 1 or 2 elementss    (   s   selfs
   extra_paths   Nones   distributions   types
   StringTypes   strings   splits   lens	   path_files
   extra_dirss   DistutilsOptionErrors   convert_path(   s   selfs	   path_files
   extra_dirs(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   handle_extra_path½s   		c  	  sS   ßàxF | Dà]; } ád | } ât |  | t |  i t |  | ƒ ƒ ƒ q Wd  S(   Ns   install_(   s   namess   names   attrs   setattrs   selfs   change_roots   roots   getattr(   s   selfs   namess   attrs   name(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   change_rootsßs   
 	c    sÄ  çê|  i o ë|  i d ƒ n îx' |  i ƒ  Dî] } ï|  i | ƒ q5 Wñ|  i o ò|  i ƒ  n õ|  i oš ö|  i ƒ  } ÷|  i
 oN øt |  i
 ƒ } ùx2 t t | ƒ ƒ Dù] } ú| | | | | <qÁ Wn û|  i t ü|  i | f ýd |  i ƒ n  t t i i t i ƒ } t t i i | ƒ } t i i t i i |  i ƒ ƒ } |  i o |  i o |  i o
 | | j o# |  i d d d |  i ƒ n d  S(   Ns   builds'   writing list of installed files to '%s's+   modules installed to '%s', which is not in s*   Python's module search path (sys.path) -- s.   you'll have to change the search path yourself(   s   selfs
   skip_builds   run_commands   get_sub_commandss   cmd_names	   path_files   create_path_files   records   get_outputss   outputss   roots   lens   root_lens   xranges   counters   executes
   write_files   maps   oss   paths   normpaths   syss   sys_paths   normcases   install_libs   warn_dirs   install_path_files   warn(   s   selfs   root_lens   sys_paths   counters   outputss   cmd_names   install_lib(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   runçs,    	 	$/c    s}   t  i i |  i |  i d ƒ } |  i o0 |  i t	 | |  i
 g f d | ƒ n |  i d | ƒ d  S(   Ns   .pths   creating %ss   path file '%s' not created(   s   oss   paths   joins   selfs   install_libbases	   path_files   filenames   install_path_files   executes
   write_files
   extra_dirss   warn(   s   selfs   filename(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   create_path_files   c    sÎ   g  } xj |  i ƒ  D]Y } |  i | ƒ } !x; | i ƒ  D!]* } "| | j o #| i | ƒ n qG Wq W%|  i	 o |  i
 o0 &| i t i i |  i '|  i	 d ƒ ƒ n )| Sd  S(   Ns   .pth(   s   outputss   selfs   get_sub_commandss   cmd_names   get_finalized_commands   cmds   get_outputss   filenames   appends	   path_files   install_path_files   oss   paths   joins   install_libbase(   s   selfs   outputss   cmds   cmd_names   filename(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   get_outputss   	 	 	c    s\   +-g  } .x? |  i ƒ  D.]. } /|  i | ƒ } 0| i | i ƒ  ƒ q W2| Sd  S(   N(   s   inputss   selfs   get_sub_commandss   cmd_names   get_finalized_commands   cmds   extends
   get_inputs(   s   selfs   inputss   cmds   cmd_name(    (    s/   /usr/lib/python2.2/distutils/command/install.pys
   get_inputs+s   	 	c    s*   79:|  i i ƒ  p |  i i ƒ  Sd S(   sR   Return true if the current distribution has any Python
        modules to install.N(   s   selfs   distributions   has_pure_moduless   has_ext_modules(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   has_lib7s   c    s   =>|  i i ƒ  Sd  S(   N(   s   selfs   distributions   has_headers(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   has_headers=s   c    s   @A|  i i ƒ  Sd  S(   N(   s   selfs   distributions   has_scripts(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   has_scripts@s   c    s   CD|  i i ƒ  Sd  S(   N(   s   selfs   distributions   has_data_files(   s   self(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   has_dataCs   s   install_libs   install_headerss   install_scriptss   install_data(   s   __name__s
   __module__s   descriptions   Nones   user_optionss   boolean_optionss   negative_opts   initialize_optionss   finalize_optionss	   dump_dirss   finalize_unixs   finalize_others   select_schemes   _expand_attrss   expand_basedirss   expand_dirss   convert_pathss   handle_extra_paths   change_rootss   runs   create_path_files   get_outputss
   get_inputss   has_libs   has_headerss   has_scriptss   has_datas   sub_commands(    (    (    s/   /usr/lib/python2.2/distutils/command/install.pys   installC s2   		é;J…%	
	"&(   s   __doc__s   __revision__s   syss   oss   strings   typess   distutils.cores   Commands   DEBUGs   distutils.sysconfigs   get_config_varss   distutils.errorss   DistutilsPlatformErrors   distutils.file_utils
   write_files   distutils.utils   convert_paths
   subst_varss   change_roots   DistutilsOptionErrors   globs   versions   WINDOWS_SCHEMEs   INSTALL_SCHEMESs   SCHEME_KEYSs   install(   s   convert_paths   DistutilsPlatformErrors   __revision__s   strings   WINDOWS_SCHEMEs   globs   change_roots
   subst_varss   syss   get_config_varss   Commands   installs   DEBUGs
   write_files   SCHEME_KEYSs   oss   DistutilsOptionErrors   INSTALL_SCHEMES(    (    s/   /usr/lib/python2.2/distutils/command/install.pys   ? s    	
:6´