Re: Python 3.2a1 in rawhide

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux