On Thu, Jul 30, 2015 at 07:34:48PM -0500, Jason L Tibbitts III wrote: > After some additional discussion and cleanup, I've gone ahead and moved > my drafts into place in the main guidelines. Please let me know if I've > made any mistakes or typos or left out anything important. There's a dead link in "Example common spec file".
> However, there is one thing I'm trying to understand about the new > guidelines (which came from one of the submitted drafts, not something > that I wrote). They say: > > " > The following is a very simple spec file for a module building for both > python2 and python3. It builds both versions in the same directory; this > is possible because setuptools uses different build directories for > different python versions and architectures. In addition, python3 will > include the version of the interpreter in the names of generated files, > so the build products don't conflict. (Of course this only works if a > package builds for a single python2 version, which should always be the > case in Fedora.) > " > > Which is fine, except that I must be missing something about the second > sentence. Setuptools in f22 and rawhide (which I know are different > versions) seems to use "build" regardless of which python version is > used to execute setup.py. Am I misunderstanding what that sentence is > trying to tell me? I wrote that. I turns out, which I didn't know at the time, that this is only true for binary modules (for example python-systemd has build/{lib,temp}.linux-x86_64-{2.7,3.4}). For pure-python modules it seems to use a single build directory, but separate build/scripts directories. [ It seems that there's no nice way to tell setuptools/distutils/distribute to always use separate build directories. It still uses the same build directory even if 2to3 translation is specified in the setup.py file, which is probably a bug. In a pinch, it is possible to override the build dir with --build-lib. So something like this works, even if 2to3 is used: %{__python2} setup.py build --build-lib build/2 %{__python3} setup.py build --build-lib build/3 Fortunately this is rarely necessary.] So I think the detailed justification should be removed, and the first paragraph of "Example common spec file" replaced with something like this: "The following is a very simple spec file for a module building for both python2 and python3. It builds both versions in the same directory; this is possible because build products for different versions of Python usually do not conflict." > For the package I'm using for testing (python-requests) it turns out > that the results of %py2_build and %py3_build are completely identical, > but this might just be coincidence. Zbyszek _______________________________________________ python-devel mailing list python-devel@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/python-devel