[Bug 526126] Review Request: python3 - Python 3.x (backwards incompatible version)

bugzilla at redhat.com bugzilla at redhat.com
Tue Oct 13 20:48:31 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=526126


Dave Malcolm <dmalcolm at redhat.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ivazqueznet at gmail.com




--- Comment #7 from Dave Malcolm <dmalcolm at redhat.com>  2009-10-13 16:48:29 EDT ---
Adding ivazquez to the CC list.  Ignacio: I hope that's OK.

Andrew: thanks for your work on packaging Python 3

I feel a little awkward about reviewing this.  As far as I can see based on the
link in comment #3, ivazquez has been packaging Python 3000 since 2007-09-01,
with "3.0-0.a1.1":
Sat Sep  1 2007 Ignacio Vazquez-Abrams <ivazqueznet+rpm at gmail.com> 3.0-0.a1.1

and he's been steadily updating his rpms since then.  However, I don't think he
ever filed a package review request on those rpms.  (Please correct me if I'm
wrong!)  Ignacio: is there a reason you didn't file a review request?

I've posted a proposal on Python 3 in Fedora 13.  See this proposed feature
page:
https://fedoraproject.org/wiki/Features/Python3F13

I'm very keen to see a python 3 package in Fedora, either based on Andrew's
srpm, or on Ignacio's.  I also tried packaging it, but I'm happy to abandon my
specfile in favor of your work.  I would like to be a comaintainer of the
resulting package.

For me, the most important thing is that the python 3 rpms should be
installable in parallel with the python 2 rpms.  I hope I captured the other
kinds of expected behavior on the feature page above.

I'd be happy to review your package (though we need to find a sponsor for you),
but I'm worried that Ignacio may feel put out if we use your package rather
than his (and likewise, vice versa).  I'm curious why Ignacio never filed a
package review request on his packages.

Thoughts?

I tried generating a pure textual "diff" of the two specfiles (Andrew's vs
Ignacio's), but too much is different for the result to be meaningful.

So I tried comparing individual aspects of the packaging (no doubt omitting
much):

= Name =
"python3" vs "python3000"

I prefer "python3"; I feel that "python 3000" was a good development codename
during the development towards 3.0, but now that it's been released, "3" seems
to be the name.  I'd prefer us to use "python3-" as a naming prefix throughout.

= Source and Patches =
ivazquez's srpm makes use of various ".list" source files to control various
parts of the build/install/etc, and I think this approach works well.

amcnabb's patches:
Patch0: python-3.1.1-config.patch
This heavily patches Modules/Setup.dist, like we do on the python 2 rpm.  I
haven't gone though and checked the various modules in detail yet, but it looks
reasonable, a "batteries-included" approach.

Patch102: python-3.1.1-lib64.patch
It's only applied on 64-bit archs; it reworks lib to lib64 in many places.

# http://bugs.python.org/issue6999 -- fixed in r75062
Patch200: python-3.1.1-pathfix.patch
Fixes an encoding issue with the pathfix script, used when fixing up shebangs. 
Good to see that you upstreamed it.


ivazquez's patches:
Patch0:         Python-3.1.1-rpath.patch
Removes standard library path from rpath.

Patch1:         Python-3.0a5-libprep.patch

Ignacio's version fix up the shebangs uses sed (see "sedcmd" in the specfile),
rather than fixing the broken "pathfix" tool.

= BuildRequires =
Both have BuildRequires on:
  bzip2-devel
  db4-devel (amcnabb's has a ">= 4.7" here)
  gdbm-devel
  openssl-devel
  ncurses-devel
  readline-devel
  sqlite-devel
  tk-devel
(alphabetized them for ease of comparison)

amcnabb's has an additional:
BuildRequires: gmp-devel
BuildRequires: zlib-devel, expat-devel
BuildRequires: libGL-devel tk tix gcc-c++ libX11-devel glibc-devel
BuildRequires: bzip2 tar /usr/bin/find pkgconfig tcl-devel
BuildRequires: tix-devel 
BuildRequires: autoconf
BuildRequires: libffi-devel

Some of these are implicitly assumed in the buildroot, and don't need to be
explicitly listed.  The others presumably reflect the very broad
batteries-included approach taken when patching Modules/Setup.dist

ivazquez's has an additional:
BuildRequires: gdbm-devel
BuildRequires: python

= Description =
amcnabb's seems to be taken directly from our python 2 specfile; I think the
one in ivazquez's specfile is better (although as I said, I feel we should
refer to Python 3 not to Python 3000).  In particular, the description in
ivazquez' specfile deprecates the use of TkInter, which I think is wise advice!

= Subpacakages =
amcnabb's specfile has a -test subpackage, whereas ivazquez's is -tests.  Our
python 2 specfile uses the singular form, so perhaps we should use the singular
form for consistency (also, the main component of it is the "Lib/test"
directory from the upstream tarball, again a singular)

= Configuration =
Both specfiles have %configure with:
  --enable-ipv6
  --enable-shared

amcnabb's adds: --with-wide-unicode --with-system-ffi
ivazquez's adds: --enable-unicode=ucs4

I definitely want us to have "--with-system-ffi"


I hope that's a useful start on reviewing this.

Should I begin a formal package review of Andrew's package?

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list