0A7h`ddlZddlZddlmZmZddlmcmZGddejZy)N)productstarmapcjeZdZdZdZdZdZdZdZe dZ dZ e d Z d d Z d Zy ) install_libz9Don't add compiled flags to filenames of non-Python filesc^tjj|d|_d|_yN)origrinitialize_options multiarchinstall_layout)selfs @/usr/lib/python3/dist-packages/setuptools/command/install_lib.pyr zinstall_lib.initialize_options s% ++D1"ctjj||jdd|jdk(r2t j dddk\rddl}|jd|_ yyy)Ninstall)r r deb)rr MULTIARCH) r rfinalize_optionsset_undefined_optionsr sys version_info sysconfigget_config_varr )r rs rrzinstall_lib.finalize_optionssg ))$/ ""9-PQ   % 'C,<,     h ' rcfdjD}t|j}tt j |S)z Return a collections.Sized collections.Container of paths to be excluded for single_version_externally_managed installations. c3NK|]}j|D]}|ywr) _all_packages).0ns_pkgpkgr s r z-install_lib.get_exclusions.."s9 ))&1    s"%)_get_SVEM_NSPsr_gen_exclusion_pathssetr_exclude_pkg_path)r all_packages excl_specss` rget_exclusionszinstall_lib.get_exclusionssJ  --/ \4+D+D+FG 7411:>??rc|jd|gz}tjj|jg|S)zw Given a package name and exclusion path within that package, compute the full exclusion path. .)splitospathjoin install_dir)r r&exclusion_pathpartss rr+zinstall_lib._exclude_pkg_path+s7  #.!11ww||D,,5u55rc#JK|r||jd\}}}|ryyw)zn >>> list(install_lib._all_packages('foo.bar.baz')) ['foo.bar.baz', 'foo.bar', 'foo'] r0N) rpartition)pkg_namesepchilds rr#zinstall_lib._all_packages3s, N#+#6#6s#; Hc5s##c|jjsgS|jd}|j}|r|jjSgS)z Get namespace packages (list) but only for single_version_externally_managed installations and empty otherwise. r) distributionnamespace_packagesget_finalized_command!single_version_externally_managed)r install_cmdsvems rr(zinstall_lib._get_SVEM_NSPs=sL  33I00; <<7;t  33CCrc#Kdddttdsytjj ddtj j z}|dz|d z|d z|d zyw) zk Generate file paths to be excluded for namespace packages (bytecode cache files). z __init__.pyz __init__.pycz __init__.pyoimplementationN __pycache__z __init__.z.pycz.pyoz .opt-1.pycz .opt-2.pyc)hasattrrr2r3r4rE cache_tag)bases rr)z install_lib._gen_exclusion_pathsMsws,- ww||M;9K9K9U9U+UVVmVm\!!\!!sA6A8c |r|r|rJj s@ddl}j|j_t j j||Sddlm }ddl m gjrRddl } | jd jj ddzrdn dddj dd fd} |||| S)Nr)unpack_directory)log EXT_SUFFIX-c|vrjd|yjrerc|jrR|jsA|j}j dt j j|j d|t j j|j||S)Nz/Skipping installation of %s (namespace package)Fzrenaming extension to %szcopying %s -> %s) warnr endswithreplaceinfor2r3basenamedirnameappend)srcdstexclude ext_suffixrL new_suffixrr s rpfz!install_lib.copy_tree..pfsg~JCP~~*j1IRUR^R^_iRjkk*j93RWW5E5Ec5JK HH'bggooc.B C OOC Jr)r.distutils.dir_utilr dir_util _multiarchr r copy_treesetuptools.archive_utilrK distutilsrLrrrR)r infileoutfile preserve_modepreserve_timespreserve_symlinkslevelrcrKrr]rZr[rLr\rs` @@@@@rrazinstall_lib.copy_treebs8III%%' %,0NNI   )##--dFGD D =! >> "11<@J""4>>JrsO#CD! *4Sb/4>>:VXVY?[    "-rctjj|}|j}|r|Dcgc] }||vs| c}S|Scc}wr)r r get_outputsr.)r outputsrZfs rrkzinstall_lib.get_outputssK""..t4%%' &;!!7*:A; ;rxs( &,,P$""Pr