On Fri, Jan 17, 2014 at 6:00 AM, Stephen Gallagher <sgallagh@redhat.com> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/16/2014 10:14 AM, Kevin Fenzi wrote:
> On Wed, 15 Jan 2014 10:32:18 -0500 Stephen Gallagher
> <sgallagh@redhat.com> wrote:
>
>> Perhaps this would be a good time to reopen the conversation of
>> minor-release policy changes?
>
> Sure.
>
>> RHEL releases approximately every six months with a minor
>> release. It seems fair to allow major EPEL upgrades to occur in
>> sync with those releases as well.
>>
>> So my suggestion would be that EPEL should have two branches for
>> EPEL 7: the epel7 branch and the epel7-pending branch. The idea
>> of this second branch would be sort of an EPEL Rawhide, where
>> major upgrades can be staged. Then, when RHEL releases a minor
>> update (such as RHEL 7.1), we have a (one-month?) integration
>> period where we ensure that packages in epel7-pending work on the
>> newest minor release and then they are merged back to epel7. If
>> they miss this merge window, they have to wait until the next
>> minor release.
>>
>> This allows us a regular, planned ability to move to newer EPEL
>> packages, without destabilizing EPEL in general.
>
> ok, issues/thoughts:
>
> * Another branch is a fair bit more work rel-eng and infra wise.
> Would they be completely seperate? How do we merge them at a update
> point?
>
> ie, say I have foo. I have 1.0 in epel7 and push 1.2 to
> epel7-pending. Does the epel7-pending one use bodhi? Does it get
> signed and composed and push to a repo somewhere? now, say rhel7.1
> comes out. How do we reconcile the two branches/trees/composes?
>

My thoughts are these (in no particular order).
 * Treat this branch like Rawhide. All builds targeted at this are
composed to a repo. Signing is nice, but not mandatory in my opinion.
 * When rhel7.1 comes out, there is no automatic movement from
epel7-pending into the epel branch. We open a merge window where
packages are allowed to merge from the epel7-pending git branch.
Merging a major upgrade outside this window is forbidden. At this
time, any packager that believes their package is ready for prime-time
may manually perform a merge, build and submission to Bodhi.


> * The change point seems like it would be kinda fluid, which would
> not be great expectation wise. Ie, say rhel7.1 comes out. How long
> after that do we wait to push the changes? We can't really do it
> the same time, as we won't know for sure what that will be. We
> could do it as soon as it's public, but then enterprise rebuilds
> aren't ready yet. We could wait for CentOS, but then do we wait for
> SL? OEL? Do we tell users "it can happen some random time after a
> minor release, please pay attention"?
>

I think we could set a policy of "merge window opens one week after
official RHEL release and remains open for two/three weeks after
that". Packages have to go through Bodhi approval for upgrade (perhaps
we mandate at least one positive karma review on major upgrades?)
which may take longer than the merge window, but they have to be
submitted within that time.


> * The majority of epel packages I think don't care about this.
> It's only a subset. Perhaps we could do something with them? Move
> them to coprs, get them in as CentOS variants, something?
>

The majority isn't necessarily as interesting as the popular packages.
There are plenty of people out there who want to see new Django,
Wordpress, Trac, etc. packages that we simply cannot cleanly upgrade
in EPEL 6 today because they aren't fully backwards-compatible.

COPRs is really a workaround for (IMHO) a failure of policy in EPEL to
remain useful as the world moves ahead. It's pretty unrealistic to
expect volunteer package maintainers to support their packages for the
same duration that Red Hat supports RHEL (currently ten years for RHEL
5 and 6). I think we're discouraging community inclusion if we don't
offer people a policy that allows them to keep their package closer to
upstream for reduced maintenance effort.

Yes, this makes the experience better for maintainers, but makes the experience worse for users and developers of existing tools/infrastructure. All the RHEL users I know choose it because they want a stable platform that isn't changing every 6 months to a year. Like Toshio mentioned before, existing projects want what's there to stay there and new projects want the latest and greatest. The EL mentality is "stable and predictable" and the Fedora mentality is "latest and greatest", so I think that both options are there for those that want them and I don't think that changing EL to be more Fedora like is a good thing.