On Sun, 22 Aug 2010 23:29:38 +0800 Chen Lei wrote: > 2010/8/22 Thomas Spura <tomspur@xxxxxxxxxxxxxxxxx>: > > On Sat, 21 Aug 2010 18:48:31 -0400 > > David Malcolm wrote: > > [snip] > >> > >> So you'll need to update the %files for python3 subpackages, > >> listing something like: > >> foo/__pycache__ > >> to capture the directory and the bytecode files within. > > > > Unfortunately there is sometimes also a __pycache__ directory in > > %{python_sitearch} (etc...) - for example in python3-minimock: > > > > Checking for unpackaged > > file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-minimock-1.2.5-5.fc15.noarch > > error: Installed (but unpackaged) file(s) > > found: /usr/lib/python3.2/site-packages/__pycache__/minimock.cpython-32.pyc /usr/lib/python3.2/site-packages/__pycache__/minimock.cpython-32.pyo > > Installed (but unpackaged) file(s) found: > > /usr/lib/python3.2/site-packages/__pycache__/minimock.cpython-32.pyc > > /usr/lib/python3.2/site-packages/__pycache__/minimock.cpython-32.pyo > > > > I decided to *NOT* own the __pycache__ directory, because other > > python3 packages will have that directory too, so I _believe_ the > > main python3 package should own them, isn't it? > > python3-minimock currently only owns: > > %{python3_sitelib}/__pycache__/minimock* > > > > Thomas > > -- > Hi Thomas, > > It seems your latest build points purelib to a incorrect place[1], we > should install all noarch packages to /usr/lib/python*/site-packages. > I also wonder if we can also point stdlib to /usr/lib/python*, since > those files are also arch-independent. > > From python docs: > - stdlib : root of the standard library > - platstdlib: root of platform-specific elements of the standard > library > - purelib: the site-packages directory for pure python modules > - platlib: the site-packages directory for platform-specific modules > - include: the include dir > - platinclude: the include dir for platform-specific files > - scripts: the directory where scripts are added > - data: the directory where data file are added Your reasoning look ok, but I don't see, why python3 behaves right... $ python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))" /usr/lib64/python3.2/site-packages $ python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" /usr/lib/python3.2/site-packages stdlib won't work because of: python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" Traceback (most recent call last): File "/usr/lib64/python3.2/sysconfig.py", line 305, in _init_posix _parse_makefile(makefile, vars) File "/usr/lib64/python3.2/sysconfig.py", line 201, in _parse_makefile with open(filename) as f: IOError: [Errno 2] No such file or directory: '/usr/lib/python3.2/config/Makefile' So I'd say we are fine this way (python3 seems to behave right, isn't it?) Thomas -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel