_i v d dl Z d dlmZ d dlZej j
Z G d d Z G d de Zy) N)logc V e Zd ZdZd Zd Zd Zd ZdZ dZ d Z
d Zd
Ze
d Zy)
Installerz
-nspkg.pthc l | j }|sy | j }| j j | t j
d| t
| j | }| j rt | y t |d 5 }|j | d d d y # 1 sw Y y xY w)Nz
Installing %swt)_get_all_ns_packages_get_nspkg_fileoutputsappendr infomap_gen_nspkg_linedry_runlistopen
writelines)selfnspfilenamelinesfs /builddir/build/BUILDROOT/alt-python312-setuptools-69.0.2-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/setuptools/namespaces.pyinstall_namespaceszInstaller.install_namespaces s '')'')H%(+D((#.<<K
(D
!Q
LL "
!
!s B**B3c | j }t j j | sy t j
d| t j | y )NzRemoving %s)r ospathexistsr r remove)r r s r uninstall_namespaceszInstaller.uninstall_namespaces s= '')ww~~h')
( c t j j | j \ }}|| j z S N)r r splitext_get_target nspkg_ext)r r _s r r zInstaller._get_nspkg_file$ s2 gg&&t'7'7'9:!$..((r c | j S r" )targetr s r r$ zInstaller._get_target( s {{r ) zimport sys, types, osz#has_mfs = sys.version_info > (3, 5)z$p = os.path.join(%(root)s, *%(pth)r)z4importlib = has_mfs and __import__('importlib.util')z-has_mfs and __import__('importlib.machinery')zm = has_mfs and sys.modules.setdefault(%(pkg)r, importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec(%(pkg)r, [os.path.dirname(p)])))zCm = m or sys.modules.setdefault(%(pkg)r, types.ModuleType(%(pkg)r))z7mp = (m or []) and m.__dict__.setdefault('__path__',[])z(p not in mp) and mp.append(p))z4m and setattr(sys.modules[%(parent)r], %(child)r, m)c y)Nz$sys._getframe(1).f_locals['sitedir'] r) s r _get_rootzInstaller._get_rootA s 5r c t |j d }| j }| j }|j d \ }}}|r|| j
z
}dj
| t z dz S )N.;
)tuplesplitr, _nspkg_tmpl
rpartition_nspkg_tmpl_multijoinlocals)r pkgpthroot
tmpl_linesparentsepchilds r r zInstaller._gen_nspkg_lineD sn CIIcN#~~%%
^^C0U$000Jxx
#fh.55r c
| j j xs g }t t t t | j | S )z,Return sorted list of all package namespaces)distributionnamespace_packagessortedsetflattenr
_pkg_names)r pkgss r r zInstaller._get_all_ns_packagesM s8 339rc'#doot"<=>??r c # K | j d }|r'dj | |j |r&yyw)z
Given a namespace package, yield the components of that
package.
>>> names = Installer._pkg_names('a.b.c')
>>> set(names) == set(['a', 'a.b', 'a.b.c'])
True
r. N)r2 r6 pop)r8 partss r rE zInstaller._pkg_namesR s4 #((5/!IIK s 9>>N)__name__
__module____qualname__r% r r r r$ r3 r5 r, r r staticmethodrE r+ r r r r sT I ")K" (Q;66@
r r c e Zd Zd Zd Zy)DevelopInstallerc > t t | j S r" )reprstregg_pathr) s r r, zDevelopInstaller._get_rootc s C
&''r c | j S r" )egg_linkr) s r r$ zDevelopInstaller._get_targetf s }}r N)rJ rK rL r, r$ r+ r r rO rO b s (r rO ) r distutilsr itertoolschain
from_iterablerD r rO r+ r r