Hi Thorsten, I just wanted to respond with a thank you for the explanation! I'm going to sit down with some coffee and map this out and see if/how OpenJDK can provide backport sets.
I'll respond here after I have a chat to Matthias next Monday. Cheers, Martijn On Mon, 27 May 2019 at 17:21, Thorsten Glaser <t.gla...@tarent.de> wrote: > Hi Martijn, > > > understanding of how OpenJDK source(s) map onto the Debian packaging > > system/channels. It's been a failing on the OpenJDK community side to > help > > the Debian side of this, as relates to the releases, is this: > > > Debian 9 (stretch), the current stable release, shipped with > OpenJDK 8, so it will continue to receive security fixes for > OpenJDK 8 throughout its supported lifetime. > > Debian 10 (buster), currently prerelease, will ship with > OpenJDK 11, and thus receive updates for OpenJDK 11. > > stretch-backports is a suite which corresponds to backports > of those packages that are, at the time of backporting, in > buster. “backports” here basically means that the exact(!) > package is rebuilt in the previous distribution, and the only > allowed changes are those necessary to make it build and work > there. Debian backports also operate under the expectation > that, whenever a new version is uploaded to or migrates¹ to > the origin suite, the backport will be updated (or removed, > if backporting is no longer possible). > > Now, buster is still prerelease, which means that the packages > in stretch-backports are also prerelease right now. (We’re > expecting to release within $smallnum weeks, though.) But they > will eventually be identical to what will be shipped with, and > supported in, buster. > > ① “migrate”: the testing distribution is a bit of special case, > as packages are not normally directly uploaded there, but to > unstable first and then migrate after a period of time in which > bugs can be identified, and it will not migrate if it depends > on any other packages that cannot migrate (unless the version > already in testing satisfies the dependency). > > > Now I’m not involved in what actually goes into the packages > in the first place, but the plan (a bit taken off path by the > ftpmasters misinterpreting a removal request for some builds > of OpenJDK 8 in unstable as a request to remove OpenJDK 8 in > its entirety) is to prepare updated versions of all supported > JDKs in unstable, then, when no problems are shown, to upload > those to oldstable-security or stable-security or testing² as > needed, and then (following backports policy) updating the > backports accordingly (oldstable-backports from stable-security, > stable-backports from testing). > > ② normally by letting it migrate, or, during pre-release freeze, > requesting an unblock to allow the package to migrate > > > The intent is to package stable versions for actual Debian > releases, then apply necessary security fixes afterwards > (because in Debian, we never³ introduce new versions into > an already released version as part of the stability promise). > > I assume part of the problem is the difficulty of identifying > what’s stable (and get the corresponding addons for e.g. the > ARM architectures), but, as doko said, trust the content, not > the label. Versions of software Debian ships don’t necessarily > correspond to the versions in other distributions of the same > software, but they are those tested and integrated with the > rest of the distribution, and those that will be supported by > the Debian maintainers and security team. > > As a user, I’d rather have a, say, 8u212 upstream prerelease > that’s supported by the security team (and that works for our > use cases in building and running software in Java™, and that > integrates with the rest of the software shipped by Debian) > than to blindly install new upstream versions, especially if > those introduce regressions. (It was bad enough when those > JAR manifest “security” patches broke builds for ages.) > > ③ This is not entirely true, admittedly: for select software, > such as “modern” web browsers, where supporting the versions > in stable over the lifetime of a release is not possible at > all, new versions are allowed into stable-security, but this > deviates from both the security and the stability promises > and is communicated to users as a compromise (we rather ship > an unsupported but recent version than none at all, so our > users may get the software) but we prefer to do that only > when the regular way of retrofitting security updates only > is not at all possible. > > For OpenJDK and some other softwares, it is understood that > upstream branches containing only security fixes for the > released version is acceptable for uploads of “new” versions > (as long as those are really security and critical bug fixes > only, not new versions or features; and even then, sometimes > things break in a bad way, which we’d like to avoid). > > Ah, and here comes the reasoning why an 8u212 prerelease is > no problem (as long as it’ll eventually be replaced by the > actual release or something newer): when an upstream branch > is considered to be comprised of only security and critica > bug fixes, the releases upstream cuts off that branch are > just snapshots at some given point in time, and a prerelease > would be just as stable, as surely upstream would only have > applied a patch to that branch only if it addresses either > a security problem or a critical bug and it had already been > tested in the latest development/feature branch. (Does this > make sense? If not, please DO tell, and I’ll try to explain > some more, as this is a core point and somewhat critical.) > > > Full disclosure: I’m a Debian Developer and maintainer of a > couple of packages, but not of any of the core Java packages. > In my dayjob, I’m a user of those, package some fringe ones > and occasionally help out. > > Please listen to doko for anything authoritative to OpenJDK > packaging, and for anything to do with Canonical/Ubuntu with > which I have nothing to do. > > > Something else to keep in mind: all this talking about a > specific “build” of Java, as that Azul person does, cannot > apply to Debian as we always build all software shipped in > Debian ourselves from source code. So it’s best to avoid > using the word “build” when discussing something with Debian. > > I think terms that correspond to specific statuses of the > source code trees and branches would work better instead. > > bye, > //mirabilos > -- > tarent solutions GmbH > Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/ > Tel: +49 228 54881-393 • Fax: +49 228 54881-235 > HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941 > Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander > Steeg > > ********** > > Mit der tarent Academy bieten wir auch Trainings und Schulungen in den > Bereichen Softwareentwicklung, Agiles Arbeiten und Zukunftstechnologien an. > > Besuchen Sie uns auf www.tarent.de/academy. Wir freuen uns auf Ihren > Kontakt. > > ********** >