Proposal: Python 3 in Fedora 13

Michel Alexandre Salim michael.silvanus at gmail.com
Fri Oct 2 21:28:19 UTC 2009


On Thu, Oct 1, 2009 at 1:15 PM, David Malcolm <dmalcolm at redhat.com> wrote:
> Proposal: Python 3 in Fedora 13
>
[snip]
>  - I don't want to add extra work for package maintainers:  if you
> maintain an SRPM of a python 2 module that's working for you, you
> shouldn't feel obligated to own a separate SRPM for python 3.  If
> someone has a need for the module on python 3, they can take on that
> work.

In the case of a Python binding produced as part of a larger package,
though, how do we go about doing this?

Seems like the sensible way is to have the person wanting to do the
work sign up as co-maintainer, and take charge of the Rawhide branch
of the package.

Care must then be taken to make sure the F-12 and rawhide packages
don't diverge much, apart from any Python 3 fixes required. Any fix
that is 2.x-compatible should probably be merged to the F-12 build as
well, and upstreamed.


> The more difficult case is when the python module is emitted as part of
> the build of a larger module.  Some examples:
>  - the build of "rpm" itself emits an "rpm-python" subpackage.
>  - Another example is the "postgres" srpm, which emits a
> "postgresql-python" subpackage.
>
>
> We could then %prep the rpm build for each of the above so that the
> python 3 support is built as a parallel component of the build,
> independently of the python 2 support e.g. by copying the python2
> support into a separate dir, then applying a patch as necessary (and
> somehow wiring up the configuration/make so it builds both...)  The
> caveat here is that I haven't tried actually doing this yet for any of
> these packages.  Issues with this approach:
>  - I don't yet know if autoconfiguration will work well with both
> -devel packages installed
>  - It will probably involve actually doing the porting work for each
> package (yay, we get to be leaders!)
>  - Whoever does this for a package needs to work closely with the
> upstream for that package
>
Since yum is available during build, this would work (but is fugly):
- build as normal
- push out python2 files to buildroot
- after everything else is done, yum remove python-devel && yum
install python3-devel
- build python3 modules

Regards,

-- 
Michel Alexandre Salim




More information about the fedora-devel-list mailing list