Proposal for a JavaLibraryFreeze
Clint Byrum
clint at ubuntu.com
Thu Nov 4 17:21:45 GMT 2010
On Wed, 2010-11-03 at 13:36 +0000, James Page wrote:
> On Wed, 2010-11-03 at 11:37 +0000, Dave Walker wrote:
> > I entirely agree that *something* needs to be done. Having been a
> > victim of dependencies changing from under me, sometimes in a cascade,
> > with my work on Eucalyptus last cycle - I wasted significant time trying
> > to locate the issue, and also wasted valuable upstream time to help
> > create a resolution.
> >
> > Currently, we don't have a notion of RFC'ing when developers want to
> > modify (mainly sync / merge), and heavily relies upon interested parties
> > being fortunate enough to 'see' the bug, before some pain is inflicted.
> > One example of this was Bug #614981 [0]. This system, in my mind,
> > doesn't scale.
> >
> > I would really like to hear James Page's thoughts on this subject, as he
> > is undertaking some significant Java work this cycle in the server area.
>
> I think that pushing a JavaLibraryFreeze as close as possible to the
> DebianImportFreeze makes alot of sense as it gives a clear period of
> stability prior to FeatureFreeze to ensure that dependent stacks can
> resolve any integration/library issues that new versions of Java
> libraries may cause; as Dave points out late sync's from Debian in the
> Maverick cycle caused a-lot of pain which could potentially have been
> avoided by taking this approach.
>
Sorry that I missed the discussion at UDS, as this sounds pretty
important.
Should we instead simply make the manual sync review process a bit more
stringent for libraries?
If a library introduces a new upstream version or new dependencies, and
has rdepends that are not mentioned in the sync request, those rdepends
should be added to sync request bug tasks with a Critical status, and
then would need to be closed (Fix Released or Invalid) before the sync
is done. Closing them means testing the rdepend with the new version.
A process could be built to just do rebuilds of rdepends automatically
before sync, and just add the FTBFS as tasks. Also component-mismatches
logic could be used to submit the MIR-needing-bits as bug tasks.
In this way, if a sync request would break the release, we can catch it
before it happens.
This eliminates need for a freeze, and just puts restrictions on syncing
big libraries after DIF.
More information about the ubuntu-devel
mailing list