On 11/04/2012 02:32 AM, Kevin Fenzi wrote:
So, I have been thinking about rawhide.

I agree identifying the problems/issues would be good, and I think
there's something we can do to help with that:

Get a nice group of at least 10 or so folks who are active on this list
to agree to run it full time on their main machine.

As we get close to F18 release, I am considering moving my full time
laptop to rawhide. If I can get a group of folks to do likewise we can
at least identify issues faster and help each other as they come up.

Additionally, if some number of these folks who pledge to run rawhide
full time were provenpackagers we could just go in and fix things as
they hit (or soon after) instead of waiting a while for fixes to go
out.

I've run a rawhide vm/test machine here for many years. It's hit it's
share of problems, but none were insurmountable. Some of them might
have been for folks who were not more experienced tho, so increasing
communication around rawhide can only help, IMHO.

Additional thoughts to help rawhide:

- It's been suggested before, but could we practically keep N and N-1
   packages in rawhide repos? Then 'yum downgrade' becomes much more
   handy. Repodata size and mirror size might shoot that down though.

Setting keepcache=1 in yum.conf helps somewhat: 'yum downgrade' wont work but it'll ensure you do have something to downgrade to, even if it has to be done manually.


- Autoqa could perhaps help out, but I am not holding my breath. ;)

Yeh, autoqa can't do a whole lot when its builds often intentionally dependencies break (eg soname bumps). Unless such builds were required to be done in a staging area - this is *possible* already but not much used. It'd have to be reasonably convenient for the developers though, IIRC this requires rel-eng intervention currently.

Another means to achieve dependency sanity could be a separate rawhide-derived repository, where packages can only enter (and would automatically do so) once their dependencies are satisfied. Or perhaps more akin to the common fedora workflow: make rawhide builds initially enter a rawhide-testing repo, from which they "graduate" to the actual rawhide once defined criteria (such as dependency closure) is met.

The broken dependencies report from branched makes me cringe every single time I see it: packages with broken dependencies should really not be allowed to enter it at all. Rawhide as it is now is a different story, but if we expect people to actually use it then it should be kept in a saner state. yum's --skip-broken helps but its not really up to the task for the massive, constant brokenness of rawhide.

All that easier said than done of course. And would mean we end up with even more repositories, not less.


- Anaconda folks haven't wanted rawhide installer images as they cause
   people to report bugs on things when not ready, etc. However, could
   we build nightly cloud images at least? Those could help test things
   and won't require hitting the installer path.

Anaconda has a pretty special status then, nobody else can exempt themselves from rawhide. Installer images *are* obviously different from everything else in many ways but still... if images are only ever getting generated for branched, it means lost opportunities for finding and fixing bugs *before* entering branched stage. This is yet another case (and I assume to no small degree, a consequence) of the skewed situation where actual development ends up occurring in branched stage.

This very much relates to Jesse's comment early in the anaconda-thread:
(http://lists.fedoraproject.org/pipermail/devel/2012-October/173247.html)

"I think we need to give developers more time for feature integration
after the feature freeze."

I can easily understand anaconda wanting (and needing, really) to be exempt from early rawhide stages, but there should (I think) be a reasonable period before branch-point where images are being built. Making that possible (and sane for anaconda developers) requires changes to how things are done though, there can be no anaconda-breaking features (or other changes) crash-landing in the very last minute then.

- I'm sure there's more ideas to improve it...

Increased communication couldn't hurt: soname bumps are fairly well communicated, other kinds of breakage could use similar announcements. Some people do it already (kudos to them), but I think we should see more of that. Besides "world is going to break tomorrow or the day after" heads-ups, it should help overall planning if we had some kind of "in this cycle, we're planning to do ... with package(set) X" summaries from maintainer(-group)s / SIGs. Even if its just "nothing beyond basic bugfixes expected", it'd mean people relying on that particular package would know they have one less thing to worry about. Perhaps such plan-summaries at beginning of development cycle could/should be mandated for critical path packages. The feature process is supposed (I guess) to provide some of this coordination and communication but its far too heavy-weight for many things and at least to me, far too detached from the day-to-day development work. And it certainly does not have a place for "no big changes expected" information, except for not being a feature, but as it is that means absolutely nothing...

        - Panu -

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Reply via email to