On 26 November 2015 at 21:34, Adam Williamson <adamwill@fedoraproject.org> wrote:
On Thu, 2015-11-26 at 14:06 -0500, Randy Barlow wrote:
> Hello!
>
> I recently added the package python-rpdb to F22/23/rawhide. The build
> failed in Koji due to having a BuildRequires on python3-devel. It seems
> that it is called python34-devel in EL 7. This leads me to wonder on a
> few things:

EL 7 itself does not include Python 3. There is a build called
'python34' in EPEL 7 indeed, and I believe there are also some builds
provided as SCLs, I don't know what naming scheme they follow.

> 0) Should I call my package python34-rpdb in EL 7 for consistency? There
> don't seem to be very many Python 3 packages for EL 7 at all (yum search
> only found a handful) but it seemed that there are a few doing this.
> Alternatively, I could just build the python2 package.

Personally I only do py2 builds for EL 7. If I were doing a python3
build I think I'd still call it python3-foo, not python34-foo.

> 1) What is the recommended strategy for handling my spec file if I
> attempt to do different things in EL 7 than I do in F22+? I had
> considered just making this change to the spec file in that branch, but
> since this would require raising the release it could make upgrade from
> EL 7 to EL 8 tricky if the package version doesn't change upstream. Is
> it better to use if statements in the spec file? I like the idea of very
> clean spec files that work on one specific release, but on the other
> hand I do see the potential for upgrading to be disrupted.

You can choose to do it either way, there is no official requirement to
use either approach (or even officially preferred approach). I usually
use %if's and try to keep the spec the same across as many branches as
possible so I can just lazily merge stuff down from master, though
obviously if you go to a new release with major changes in Rawhide, you
can't just merge that back to stable releases.

Indeed the snippet you found is intended to help with the issue you
mentioned. Note:

1.0-2.fc23 is lower than 1.0-3.fc22

but:

1.0-2.fc23 is higher than 1.0-2.fc22.1


You will probably want to keep an eye on this FPC ticket:

https://fedorahosted.org/fpc/ticket/567

There's currently an ongoing discussion on how best to handle python3 in EPEL given the 3.4->3.5 upcoming (and future) transitions and the impact this may have on maintenance.