On Sat, Sep 2, 2017 at 7:40 AM Miro Hrončok <mhron...@redhat.com> wrote:

> On 2.9.2017 05:53, Troy Curtis Jr wrote:
> > Howdy,
>
> Hi Troy,
>
> > I'd like to help work toward the Fedora move toward Python 3.  There is
> > lots of good information out there about much of the process, but I did
> > have a few questions about how you like to do things, and the proper
> > work-flow.
>
> This is always a great thing to hear. Welcome. Hopefully we will be able
> to help you with your questions.
>
> > If I start working on a particular package, should I mention as such in
> > the associated porting bugtracker ticket?  I could see it either way,
> > either it needless clutters the ticket comments, or it is helpful for
> > the next guy to pick a different package.
>
> It's always helpful to say: "Hi, I'm going to work on this." It
> eliminates the possibility that some work is being done by multiple
> persons at the same time.
>
> Also, it allows others to say things like: "Hey Troy, are you still
> working on this? What's your status?"
>
> Don't worry about needless cluttering. Any information relevant to the
> ticket is good. Even if it says: "I'm still interested in this, but I
> haven't been able to progresses trough XYZ, as it seems I'm stuck at ABC."
>
>
Sounds great, I'll put a comment on the ticket.


> > I already started looking at gpsd, since I've had some experience with
> > it, and it is bound to be challenging!  I was proven right pretty
> > quickly.  It is all perfectly workable, but I wanted to know the general
> > expectation.  For changes to python modules/scripts themselves to
> > support python 3, does this need to flow through upstream in all cases?
>
> In 99.98% cases, it has to go trough upstream. I can see a situation,
> where patches are being reviewed upstream, likely to be accepted, but we
> need this in Fedora ASAP, so patches are applied in Fedora before
> accepted upstream. But that should only happen if this package is
> blocking other important packages. I think we did this with
> python-yubikey (not quite sure).
>
> Applying Python 3 compatibility patches downstream only (i.e. only in
> Fedora, not yet proposed to upstream) is strongly discouraged. I would
> only see a fit there if there is already a python3-xyz package and in an
> update, it loses Python 3 compatibility by accident, users start filling
> bugs and everything is broken. In that case, I would see a situation
> where patching downstream first and proposing to upstream immediately
> after is a good way.
>
> But if the python3-xyz package is not yet in Fedora, always go upstream
> first.
>
> Doing Python 3 compatibility patches downstream only you are basically
> maintaining a fork. If you want to do that (sometimes you do, because
> upstream is dead or doesn't want Python 3), there are better places to
> maintain forks than Fedora spec + patches. This happened with
> python-ldap vs. python-pyldap (fork is maintained on GitHub).
>
>
Makes perfect sense, I am just used to seeing the pile of patches in RPMs.
I'll
certainly start working with upstream on it.


>
> > Most of my packaging experience has been with the enterprise distros,
> > and there are always loads of patches carried along with the sources,
> > but in this case do you require an official release from the upstream
> > project with the necessary changes?
>
> Official release is the best. If the release will come late and the
> package is blocking something, taking patches form upstream version
> control system (e.g. git) and applying them to get Python 3 support
> might be applicable. (It happened in the past.) This always depends on
> the reason.
>
> Consider those situations:
>
>   * Next release of xyz will be in 3 weeks and will bring Python 3 support.
>
>   * Next release of abc might happen in a year, if there are no serious
> problems. Python 3 support is in  git master and will be only officially
> released in the next release. There are 5 packages that require abc and
> are Python 3 ready, only waiting for abc.
>
> Those are obviously different. Always apply common sense.
>
> > I certainly plan on providing all the changes upstream, but the last
> > release was almost 2 years ago, so I'm not certain when a new one might
> > be expected (the project is still active though).
>
> Get the patches to upstream. If accepted, talk to them about releasing.
> If they are reluctance to do a release soon, revisit this question.
>
>
> Hope my answers were helpful. Find me or others on #fedora-python IRC
> channel if you need real time clarifications. (Or continue
> asynchronously trough e-mail.)
>
>
I really appreciate the response, it certainly cleared things up.  I'll
also take a close look
at the packages currently pointing to gpsd as a dependency.  If they are
not using the
python scripts or bindings directly, then simply pulling the python bits
out into a python2-gpsd
package may be sufficient to break the bulk of the dependency chain.  The I
can work with
upstream separately to get full python3 support working well.

Troy Curtis


> --
> Miro Hrončok
> --
> Phone: +420777974800 <+420%20777%20974%20800>
> IRC: mhroncok
>
_______________________________________________
python-devel mailing list -- python-devel@lists.fedoraproject.org
To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org

Reply via email to