-í
ì¶<c       sõ  d  Z  d Z d k Z d k Z d k Z d k Td 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  o7 h  d d <d d <d d <d d <d d <Z n4 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 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ð  t  Z d Z 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 d- „  Z	 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 d; „  Z d< „  Z d= „  Z d> „  Z 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 o3 |  i o |  i p |  i o t d d ‚ n nI |  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 o- |  i i o |  i |  _ n |  i  |  _ n |  i! d d d d d d  ƒ |  i" ƒ  |  i |  _# t i$ i% |  i |  i& ƒ |  _ |  i' t
 j	 o# |  i( d! d d d d d d  ƒ n |  i d" ƒ |  i) d# d$ d$ f 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    2



|



		c    s•   t  oŠ d k l } | d GHxm |  i D]b } | d } | d d j o | d d !} n t i	 | | ƒ } t
 |  | ƒ } d | | f GHq' 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    sw  |  i t j	 p |  i t j	 oy |  i t j o |  i t j o |  i t j p- |  i t j p |  i t j p |  i	 t j o t
 d d ‚ n d  Sn |  i t j	 o$ |  i |  _ |  _ |  i d ƒ n§ |  i t j oQ |  i t j	 o t
 d ‚ n t i i t i ƒ |  _ 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    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    sW   t  | } xF t D]> } 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}   xv | D]n } t |  | ƒ } | t j	 oL 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    s>   x7 | D]/ } 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 } } n7 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  	  sD   x= | D]5 } 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 | ƒ q) W|  i o |  i ƒ  n |  i o |  i ƒ  } |  i
 oB t |  i
 ƒ } x, 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    se   t  i i |  i |  i d ƒ } |  i o' |  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  } xX |  i ƒ  D]J } |  i | ƒ } x2 | i ƒ  D]$ } | | j o | i | ƒ n q5 Wq W|  i	 o |  i
 o* | 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    sG   g  } x6 |  i ƒ  D]( } |  i | ƒ } | i | i ƒ  ƒ q W| 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!   |  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   |  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   |  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    73±