OpenJDK SRU exception
Tiago Daitx
tiago.daitx at canonical.com
Mon Sep 10 15:51:01 UTC 2018
There has been a few changes to the package list.
New packages to include:
eclipse-debian-helper
eclipse-platform-resources
eclipse-platform-runtime
eclipse-platform-text
eclipse-platform-ui
equinox-bundles
equinox-framework
hibiscus
jaxrpc-api
jsonb-api
jws-api
libcommons-jexl3-java
libmbassador-java
mariadb-connector-java
mckoisqldb
metro-policy
netty-reactive-streams
saaj-ri
Regards,
Tiago
On Thu, Aug 2, 2018 at 5:54 AM Tiago Daitx <tiago.daitx at canonical.com> wrote:
>
> OpenJDK-11 has been made the default-jdk in Bionic [1] a few months
> back. The source package was named openjdk-lts and the binaries are
> named openjdk-11-*, although we are still using openjdk-10 as the
> source. We will move to openjdk-11 after it reaches GA.
>
> Meanwhile we would also like to ask for a blanket SRU exception for
> java related packages for purposes of fixing and improving openjdk-11
> compatibility. Those packages might need additional backports in order
> to fix FTBFS and runtime errors when moving to the newer OpenJDK.
>
> The list of packages - 1005 in total as of now - is the same as the
> ones maintained by the pkg-java group in Debian [2] and can be seen by
> the end of this email. For reference please see the list of packages
> for which we requested a FFe before the Bionic release [3].
>
>
> References:
> [1] https://launchpad.net/ubuntu/+source/java-common/0.62ubuntu2
> [2] https://qa.debian.org/developer.php?login=pkg-java-maintainers%40lists.alioth.debian.org&set=yes&comaint=yes&version=experimental
> [3] https://launchpad.net/bugs/1760920
>
> Packages for which we are requesting the SRU exception:
> abego-treelayout
> access-modifier-checker
> activemq
> activemq-activeio
> activemq-protobuf
> aether
> aether-ant-tasks
> afterburner.fx
> airlift-airline
> airlift-slice
> akuma
> androidsdk-tools
> angular-maven-plugin
> animal-sniffer
> annotation-indexer
> ant
> ant-contrib
> antelope
> antlr-maven-plugin
> antlr3
> antlr3.2
> antlr4
> apache-curator
> apache-directory-api
> apache-directory-jdbm
> apache-directory-server
> apache-log4j-extras1.2
> apache-log4j1.2
> apache-log4j2
> apache-mime4j
> apache-pom
> argparse4j
> args4j
> asm
> asm3
> aspectj
> aspectj-maven-plugin
> assertj-core
> async-http-client
> at-at-clojure
> atinject-jsr330
> autocomplete
> automaton
> avalon-framework
> avro-java
> axis
> axmlrpc
> barclay
> batik
> bcel
> beansbinding
> beckon-clojure
> bidi-clojure
> bindex
> bintray-client-java
> bnd
> boilerpipe
> bookkeeper
> bouncycastle
> bridge-method-injector
> bsaf
> bsh
> build-helper-maven-plugin
> byte-buddy
> bytecode
> c3p0
> ca-certificates-java
> carrotsearch-hppc
> carrotsearch-randomizedtesting
> castor
> cdi-api
> cdk
> cglib
> checkstyle
> cheshire-clojure
> classycle
> clirr
> clj-digest-clojure
> clj-http-clojure
> clj-time-clojure
> clj-tuple-clojure
> clj-yaml-clojure
> clojure
> clojure-maven-plugin
> closure-compiler
> clout-clojure
> cmdreader
> cobertura
> codenarc
> cofoja
> colorpicker
> comidi-clojure
> commons-beanutils
> commons-configuration
> commons-configuration2
> commons-csv
> commons-daemon
> commons-exec
> commons-httpclient
> commons-io
> commons-jci
> commons-jcs
> commons-math
> commons-math3
> commons-parent
> commons-pool
> commons-pool2
> commons-vfs
> compojure-clojure
> compress-lzf
> conversant-disruptor
> core-match-clojure
> core-memoize-clojure
> cortado
> cpath-clojure
> cpptasks
> cronometer
> crypto-equality-clojure
> crypto-random-clojure
> css2xslfo
> csvjdbc
> cup
> curvesapi
> data-priority-map-clojure
> dbus-java
> dd-plist
> derby
> dirgra
> disruptor
> dnsjava
> dnssecjava
> dokujclient
> dom4j
> doxia
> doxia-sitetools
> dropwizard-metrics
> dtd-parser
> dujour-version-check-clojure
> dumbster
> dynalang
> easybind
> easyconf
> easymock
> ecj
> eclipse
> eclipse-anyedit
> eclipse-cdt
> eclipse-cdt-pkg-config
> eclipse-eclox
> eclipse-egit
> eclipse-emf
> eclipse-gef
> eclipse-linuxtools
> eclipse-mercurialeclipse
> eclipse-mylyn
> eclipse-mylyn-tasks-github
> eclipse-ptp
> eclipse-pydev
> eclipse-remote-services-api
> eclipse-rse
> eclipse-subclipse
> eclipse-wtp
> eclipse-xsd
> eclipselink
> eclipselink-jpa-2.1-spec
> ehcache
> eigenbase-resgen
> electric
> entagged
> excalibur-logger
> excalibur-logkit
> exec-maven-plugin
> f2j
> fast-zip-clojure
> fastinfoset
> felix-bundlerepository
> felix-framework
> felix-gogo-command
> felix-gogo-runtime
> felix-gogo-shell
> felix-main
> felix-osgi-obr
> felix-resolver
> felix-shell
> felix-shell-tui
> felix-utils
> fest-assert
> fest-reflect
> fest-test
> fest-util
> findbugs
> flute
> fontawesomefx
> fontchooser
> fop
> freehep-chartableconverter-plugin
> freehep-export
> freehep-graphics2d
> freehep-graphicsio
> freehep-graphicsio-emf
> freehep-graphicsio-java
> freehep-graphicsio-pdf
> freehep-graphicsio-ps
> freehep-graphicsio-svg
> freehep-graphicsio-swf
> freehep-graphicsio-tests
> freehep-io
> freehep-swing
> freehep-util
> freehep-xml
> freeplane
> gant
> ganymed-ssh2
> gatk-native-bindings
> gentlyweb-utils
> geogebra
> geronimo-annotation-1.3-spec
> geronimo-commonj-spec
> geronimo-concurrent-1.0-spec
> geronimo-ejb-3.2-spec
> geronimo-interceptor-3.0-spec
> geronimo-j2ee-management-1.1-spec
> geronimo-jacc-1.1-spec
> geronimo-jcache-1.0-spec
> geronimo-jpa-2.0-spec
> geronimo-jta-1.1-spec
> geronimo-jta-1.2-spec
> geronimo-osgi-support
> geronimo-validation-1.0-spec
> geronimo-validation-1.1-spec
> gettext-ant-tasks
> gettext-maven-plugin
> gkl
> glassfish
> gluegen2
> gmavenplus
> gmbal
> gmbal-commons
> gmbal-pfl
> gmetric4j
> gmetrics
> gnome-split
> gossip
> gradle
> gradle-debian-helper
> gradle-jflex-plugin
> gradle-plugin-protobuf
> gradle-propdeps-plugin
> graxxia
> groovy
> groovycsv
> gs-collections
> guava-libraries
> guice
> h2database
> hawtbuf
> hawtdispatch
> hawtjni
> hbci4java
> hdrhistogram
> headius-options
> hessian
> hiccup-clojure
> hikaricp
> honeysql-clojure
> hsqldb
> htrace
> httpcomponents-asyncclient
> httpcomponents-client
> httpcomponents-core
> httpunit
> icu4j
> icu4j-4.2
> icu4j-4.4
> icu4j-49
> ini4j
> instaparse-clojure
> insubstantial
> intellij-annotations
> invokebinder
> isorelax
> istack-commons
> ivy
> ivy-debian-helper
> ivyplusplus
> jabref
> jackrabbit
> jackson-annotations
> jackson-core
> jackson-databind
> jackson-dataformat-cbor
> jackson-dataformat-smile
> jackson-dataformat-xml
> jackson-dataformat-yaml
> jackson-datatype-joda
> jackson-jaxrs-providers
> jackson-jr
> jackson-module-jaxb-annotations
> jacoco
> jajuk
> jakarta-ecs
> jakarta-jmeter
> jama
> jameica
> jameica-datasource
> jameica-util
> janino
> jansi
> jansi-native
> japi-compliance-checker
> jardiff
> jargs
> jarjar
> jarjar-maven-plugin
> jas
> jas-plotter
> jasmin-sable
> jasperreports
> jasypt
> jatl
> java-allocation-instrumenter
> java-classpath-clojure
> java-comment-preprocessor
> java-common
> java-gnome
> java-policy
> java-sdp-api
> java-sip-api
> java-string-similarity
> java-wrappers
> java-xmlbuilder
> java3d
> java3ds-fileloader
> javabeans-activation-framework
> javacc
> javacc4
> javafxsvg
> javahelp2
> javamail
> javaparser
> javassist
> javatools
> javatuples
> javawriter
> jawn
> jaxb
> jaxb-api
> jaxrs-api
> jaxws-api
> jayway-jsonpath
> jblas
> jboss-bridger
> jboss-classfilewriter
> jboss-jdeparser2
> jboss-logging
> jboss-logging-tools
> jboss-logmanager
> jboss-modules
> jboss-threads
> jboss-xnio
> jcharts
> jcifs
> jcm
> jcodings
> jcommander
> jcsp
> jctools
> jdeb
> jdependency
> jedit
> jenkins-htmlunit-core-js
> jenkins-json
> jenkins-trilead-ssh2
> jericho-html
> jeromq
> jersey1
> jesd
> jets3t
> jetty9
> jexcelapi
> jffi
> jflex
> jformatstring
> jftp
> jfugue
> jgit
> jhighlight
> jimfs
> jinput
> jitescript
> jlapack
> jline
> jline2
> jmagick
> jmdns
> jmock
> jmock2
> jmxetric
> jnlp-servlet
> jnr-constants
> jnr-enxio
> jnr-ffi
> jnr-netdb
> jnr-posix
> jnr-unixsocket
> jnr-x86asm
> joda-convert
> joptsimple
> josql
> jpathwatch
> jruby
> jruby-joni
> jruby-maven-plugins
> jruby-openssl
> jsap
> jsch
> jsch-agent-proxy
> jsemver
> jsmpp
> json-simple
> json-smart
> json4s
> jsoup
> jssc
> jtharness
> jtidy
> jtreg
> jug
> junit
> junit4
> jutils
> jvyamlb
> jxgrabkey
> jxplorer
> jython
> jzlib
> kdgcommons-java
> kitchensink-clojure
> knopflerfish-osgi
> kryo-serializers
> kunststoff
> kxml2
> lazymap-clojure
> ldapjdk
> leveldb-java
> lgooddatepicker
> libajaxtags-java
> libandroid-json-org-java
> libaopalliance-java
> libapache-mod-jk
> libapache-poi-java
> libasm4-java
> libaxiom-java
> libbase
> libbasicplayer-java
> libbsf-java
> libbtm-java
> libbytelist-java
> libcobra-java
> libcodesize-java
> libcommons-cli-java
> libcommons-codec-java
> libcommons-collections3-java
> libcommons-collections4-java
> libcommons-compress-java
> libcommons-dbcp-java
> libcommons-digester-java
> libcommons-discovery-java
> libcommons-el-java
> libcommons-fileupload-java
> libcommons-jexl-java
> libcommons-jexl2-java
> libcommons-jxpath-java
> libcommons-lang-java
> libcommons-lang3-java
> libcommons-launcher-java
> libcommons-logging-java
> libcommons-modeler-java
> libcommons-net-java
> libcommons-validator-java
> libconcurrentlinkedhashmap-java
> libcsv-java
> libdb-je-java
> libdecentxml-java
> libejml-java
> libequinox-osgi-java
> libexternalsortinginjava-java
> libezmorph-java
> libfastutil-java
> libflexdock-java
> libfonts-java
> libformula
> libfreemarker-java
> libgetopt-java
> libgettext-commons-java
> libglazedlists-java
> libgoogle-gson-java
> libgpars-groovy-java
> libhamcrest-java
> libhibernate-commons-annotations-java
> libhibernate-validator-java
> libhibernate3-java
> libhtml5parser-java
> libhtmlparser-java
> libibatis-java
> libidw-java
> libimglib2-java
> libimgscalr-java
> libirclib-java
> libiscwt-java
> libisfreetype-java
> libisrt-java
> libitext-java
> libitext1-java
> libitext5-java
> libj2ssh-java
> libjackson-json-java
> libjamon-java
> libjaudiotagger-java
> libjavaewah-java
> libjaxen-java
> libjaxp1.3-java
> libjazzy-java
> libjbcrypt-java
> libjcalendar-java
> libjchart2d-java
> libjcip-annotations-java
> libjcommon-java
> libjdepend-java
> libjdo-api-java
> libjdom1-java
> libjdom2-java
> libjemmy2-java
> libjettison-java
> libjfreechart-java
> libjgoodies-animation-java
> libjgoodies-binding-java
> libjgoodies-common-java
> libjgoodies-forms-java
> libjgoodies-looks-java
> libjgraph-java
> libjgrapht0.6-java
> libjgrapht0.8-java
> libjgraphx-java
> libjgroups-java
> libjhlabs-filters-java
> libjibx1.2-java
> libjide-oss-java
> libjlatexmath-java
> libjlayer-java
> libjlha-java
> libjmac-java
> libjna-java
> libjoda-time-java
> libjogl2-java
> libjopendocument-java
> libjorbis-java
> libjpf-java
> libjpfcodegen-java
> libjrosetta-java
> libjson-java
> libjsonp-java
> libjspeex-java
> libjsr166y-java
> libjsr305-java
> libjsr311-api-java
> libjsyntaxpane-java
> libjt400-java
> libjtds-java
> libjtype-java
> libjuniversalchardet-java
> libjxp-java
> libkryo-java
> liblastfm-java
> liblayout
> libloader
> libmecab-java
> libmetadata-extractor-java
> libmicroba-java
> libmiglayout-java
> libmime-util-java
> libminlog-java
> libmnemonicsetter-java
> libmp3spi-java
> libnanoxml2-java
> libnative-platform-java
> libnb-javaparser-java
> libnb-platform18-java
> libnetx-java
> libokhttp-java
> libonemind-commons-invoke-java
> libonemind-commons-java-java
> liboro-java
> libowasp-antisamy-java
> libowasp-esapi-java
> libparanamer-java
> libparsington-java
> libpdfbox-java
> libpdfbox2-java
> libpdfrenderer-java
> libpgjava
> libphonenumber
> libpicocontainer-java
> libpixie-java
> libproxool-java
> libpulse-java
> libquartz-java
> libquartz2-java
> libreadline-java
> libreflectasm-java
> libregexp-java
> librelaxng-datatype-java
> librepository
> libsambox-java
> libsaxon-java
> libscram-java
> libsejda-eventstudio-java
> libsejda-injector-java
> libsejda-io-java
> libsejda-java
> libsequence-library-java
> libserializer
> libsimple-validation-java
> libskinlf-java
> libslf4j-java
> libspi-java
> libspin-java
> libspring-java
> libstax-java
> libstax2-api-java
> libswarmcache-java
> libswingx-java
> libswingx1-java
> libtablelayout-java
> libtritonus-java
> libtruth-java
> libtwelvemonkeys-java
> libvldocking-java
> libvorbisspi-java
> libvt-ldap-java
> libwoodstox-java
> libws-commons-util-java
> libxalan2-java
> libxbean-java
> libxerces2-java
> libxml-commons-resolver1.1-java
> libxml-java
> libxml-security-java
> libxmlenc-java
> libxmlrpc3-java
> libxmpcore-java
> libxpp2-java
> libxpp3-java
> libxstream-java
> libyanfs-java
> libzeus-jscl-java
> lightcouch
> livetribe-jsr223
> localizer
> logback
> lombok
> lombok-ast
> lombok-patcher
> lucene-solr
> lucene2
> lucene4.10
> lwjgl
> mac-widgets
> math-combinatorics-clojure
> math-numeric-tower-clojure
> mathpiper
> mauve
> maven
> maven-ant-helper
> maven-antrun-extended-plugin
> maven-antrun-plugin
> maven-archiver
> maven-artifact-transfer
> maven-assembly-plugin
> maven-bundle-plugin
> maven-cache-cleanup
> maven-clean-plugin
> maven-common-artifact-filters
> maven-compiler-plugin
> maven-debian-helper
> maven-dependency-analyzer
> maven-dependency-plugin
> maven-dependency-tree
> maven-deploy-plugin
> maven-doxia-tools
> maven-ejb-plugin
> maven-enforcer
> maven-file-management
> maven-filtering
> maven-indexer
> maven-install-plugin
> maven-invoker
> maven-invoker-plugin
> maven-jar-plugin
> maven-javadoc-plugin
> maven-jaxb2-plugin
> maven-mapping
> maven-parent
> maven-plugin-testing
> maven-plugin-tools
> maven-processor-plugin
> maven-replacer-plugin
> maven-repo-helper
> maven-reporting-api
> maven-reporting-exec
> maven-reporting-impl
> maven-repository-builder
> maven-resolver
> maven-resources-plugin
> maven-scm
> maven-script-interpreter
> maven-shade-plugin
> maven-shared-incremental
> maven-shared-io
> maven-shared-jar
> maven-shared-utils
> maven-site-plugin
> maven-source-plugin
> maven-verifier
> maven-war-plugin
> mavibot
> medley-clojure
> metainf-services
> metrics-clojure
> mimepull
> mina
> mina2
> minify-maven-plugin
> mockito
> mockobjects
> modello
> modello-maven-plugin
> modulator
> mojarra
> mondrian
> mongo-java-driver
> mp4parser
> mpj
> mqtt-client
> msv
> mtj
> multiverse-core
> munge-maven-plugin
> mustache-java
> mvel
> mysql-connector-java
> naga
> nailgun
> nekohtml
> netbeans
> netbeans-cvsclient
> netlib-java
> netty
> netty-3.9
> netty-tcnative
> netty-tcnative-1.1
> noggit
> obantoo
> objenesis
> ognl
> okio
> olap4j
> opencsv
> openhft-affinity
> openhft-chronicle-bytes
> openhft-chronicle-core
> openhft-chronicle-network
> openhft-chronicle-queue
> openhft-chronicle-threads
> openhft-chronicle-wire
> openhft-compiler
> openhft-lang
> openid4java
> openjdk-7-jre-dcevm
> openjdk-8-jre-dcevm
> openjfx
> openjpa
> oscache
> osgi-annotation
> osgi-compendium
> osgi-core
> osgi-foundation-ee
> owasp-java-html-sanitizer
> pantomime-clojure
> parboiled
> pdfsam
> pegdown
> pentaho-reporting-flow-engine
> pleiades
> plexus-ant-factory
> plexus-archiver
> plexus-bsh-factory
> plexus-build-api
> plexus-cdc
> plexus-cipher
> plexus-classworlds
> plexus-cli
> plexus-compiler
> plexus-containers
> plexus-digest
> plexus-i18n
> plexus-interactivity-api
> plexus-interpolation
> plexus-io
> plexus-languages
> plexus-maven-plugin
> plexus-resources
> plexus-sec-dispatcher
> plexus-utils
> plexus-utils2
> plexus-velocity
> polyglot-maven
> potemkin-clojure
> powermock
> practicalxml-java
> prismatic-plumbing-clojure
> prismatic-schema-clojure
> processing-core
> procyon
> proguard
> projectreactor
> properties-maven-plugin
> protobuf-java-format
> puppetlabs-http-client-clojure
> puppetlabs-i18n-clojure
> puppetlabs-ring-middleware-clojure
> qdox
> qdox2
> qdwizard
> rabbitmq-java-client
> raynes-fs-clojure
> reactive-streams
> relaxngcc
> remotetea
> resteasy
> resteasy3.0
> rhino
> riddley-clojure
> ring-anti-forgery-clojure
> ring-clojure
> ring-codec-clojure
> ring-defaults-clojure
> ring-headers-clojure
> ring-mock-clojure
> ring-ssl-clojure
> robert-hooke
> robocode
> robust-http-client
> rome
> rsyntaxtextarea
> rxtx
> saaj
> sablecc
> sacjava
> saxonb
> saxonhe
> sbbi-upnplib
> sbt
> sbt-ivy
> sbt-launcher-interface
> sbt-serialization
> sbt-template-resolver
> sbt-test-interface
> scala
> scala-asm
> scala-parser-combinators
> scala-pickling
> scala-xml
> scannotation
> scopt
> sdes4j
> sdo-api-java
> serp
> service-wrapper-java
> sezpoz
> shimdandy
> shiro
> sikulix
> simple-http
> simple-xml
> simplyhtml
> sisu-guice
> sisu-inject
> sisu-ioc
> sisu-maven-plugin
> sisu-plexus
> sitemesh
> slashtime
> snakeyaml
> snappy-java
> spatial4j
> spatial4j-0.4
> specter-clojure
> spock
> sqljet
> sqlline
> squareness
> ssl-utils-clojure
> stax-ex
> stegosuite
> stockpile-clojure
> stringtemplate
> stringtemplate4
> stylebook
> sunflow
> super-csv
> surefire
> svgsalamander
> svnclientadapter
> svnkit
> sweethome3d
> sweethome3d-furniture
> sweethome3d-furniture-editor
> sweethome3d-textures-editor
> swing-layout
> swt-gtk
> swt-paperclips
> swt4-gtk
> swtcalendar
> swtchart
> syncany
> t-digest
> taglibs-standard
> tagsoup
> tcode
> testng
> tigris
> tika
> tiles
> tiles-autotag
> tiles-request
> tomcat-native
> tomcat7
> tomcat8
> tomcat8.0
> tools-analyzer-clojure
> tools-analyzer-jvm-clojure
> tools-namespace-clojure
> tools-reader-clojure
> trapperkeeper-clojure
> trapperkeeper-metrics-clojure
> trapperkeeper-scheduler-clojure
> trapperkeeper-status-clojure
> trapperkeeper-webserver-jetty9-clojure
> trilead-putty-extension
> trilead-ssh2
> triplea
> trove
> trove3
> truffle
> truffle-dsl-processor
> tuxguitar
> tycho
> typesafe-config
> typesafe-config-clojure
> uddi4j
> uima-addons
> uima-as
> uimaj
> unbescape
> uncommons-maths
> uncommons-watchmaker
> undertow
> unirest-java
> unsafe-fences
> unsafe-mock
> user-agent-utils
> vecmath
> velocity
> velocity-tools
> visualvm
> vorbis-java
> wagon
> wagon2
> wala
> webjars-locator
> webjars-locator-core
> weirdx
> weka
> werken.xpath
> weupnp
> wildfly-client-config
> wildfly-common
> wsdl4j
> wsil4j
> wss4j
> xhtmlrenderer
> xml-maven-plugin
> xmlbeans
> xmlbeans-maven-plugin
> xmlgraphics-commons
> xmlstreambuffer
> xmlunit
> xom
> xslthl
> xz-java
> yecht
> yui-compressor
> yydebug
> zookeeper
>
>
> On Sat, Mar 24, 2018 at 1:43 AM, Steve Langasek
> <steve.langasek at ubuntu.com> wrote:
> > Hi Tiago,
> >
> > Thanks for this additional analysis. This is useful to understand in light
> > of the concerns (which we discussed off list) that future releases of
> > OpenJDK between 9 and 11 may not be fully binary compatible after all with
> > binaries built against OpenJDK8, and may therefore not be a viable fallback
> > for packages which fail to build with OpenJDK 10 or 11.
> >
> > It would be ideal to fix as many of these build failures as possible before
> > 18.04 releases. The number of these currently failing packages looks
> > manageable, especially considering the good news that maven-related fixes
> > are currently in progress in Debian.
> >
> > I do not consider these build failures a blocker for the plan to switch to
> > OpenJDK10 by default in 18.04.
> >
> > To make sure I understand the whole plan: will the maven stack need to be
> > rebuilt in 18.04 against OpenJDK9 to ensure packages do not fail to build in
> > SRU? Or were these rebuilds only for testing?
>
>
>
>
> On Sat, Mar 24, 2018 at 1:52 AM, Steve Langasek
> <steve.langasek at canonical.com> wrote:
> > On Fri, Mar 23, 2018 at 09:43:40PM -0700, Steve Langasek wrote:
> >> On Fri, Feb 2, 2018 at 11:58 AM, Tiago Daitx <tiago.daitx at canonical.com> wrote:
> >> > On behalf of the Ubuntu Foundations Team, I am requesting an SRU
> >> > exception for OpenJDK. Our plan is to release OpenJDK 10 as the
> >> > default JRE/JDK [1] for Bionic, and then move the default JRE/JDK in
> >> > main to OpenJDK 11 in September/October 2018 as an SRU.
> >
> >> > = Proposed Plan =
> >> > Bionic will be released with OpenJDK 10 as the default JRE/JDK and
> >> > OpenJDK 11 will replace it once it reaches GA.
> >
> >> > OpenJDK 8 will be moved to universe and remain available there for
> >> > 18.04, to provide migration time for packages that can't be build with
> >> > OpenJDK 10 or 11.
> >
> >> > OpenJDK 8 will remain in main in 16.04 LTS (which reaches EOL in April 2021).
> >
> >> Not mentioned in this description is that we should migrate ASAP to OpenJDK9
> >> by default, to ease the transition to OpenJDK10 between now and release.
> >
> >> (Not mentioned because at the time you first wrote, this wasn't expected to
> >> miss feature freeze.)
> >
> >> > If we are going to switch to OpenJDK 11 in bionic once released, we
> >> > want to avoid OpenJDK 8 as the default JRE/JDK in Bionic at release
> >> > time because any additional interface delta that exists between 8 and
> >> > 11 not only exposes the archive to breakage, it also exposes external
> >> > consumers of the JDK to breakage. In comparison, the interface delta
> >> > between OpenJDK 10 and OpenJDK 11 is expected to be fairly small,
> >> > especially in comparison with the delta between OpenJDK 8 and OpenJDK
> >> > 9 that we already know is large. We should therefore release with
> >> > OpenJDK 10 as the default JDK in 18.04, transitioning to OpenJDK 11
> >> > when it is released.
> >
> >> I agree with this rationale and approve this SRU exception for OpenJDK 11 in
> >> Ubuntu 18.04 LTS.
> >
> > One further outstanding question is how to name these packages in order to
> > avoid leaving binary packages in main at release time with no security
> > support and no automated upgrade path.
> >
> > My suggestion is to use the same source and binary package names for both
> > openjdk-10 (at release time) and openjdk-11 (once SRUed) in bionic, so that
> > the upgrade just happens normally as part of security updates and there are
> > no concerns of users who upgraded to 18.04 early being islanded on a
> > no-longer-supported openjdk-10 package.
> >
> > One way to do this would be to simply name the openjdk-10 package
> > "openjdk-11", with a 10.x version number. This would signal to users that
> > openjdk-11 is coming, making it less of a surprise.
> >
> > You could also call it openjdk-10, but it's less obvious to have an
> > openjdk-10 version 11, IMHO.
> >
> > You could even do something like "openjdk-lts", but that also has downsides
> > of confusion with the upstream meaning of LTS.
> >
> >
> > Alternative approaches, which have been considered but that I think are
> > worse than the above:
> >
> > - Keep openjdk-10 only in the -proposed pocket until after release, then
> > publish it to -updates. This would mean that either there is no openjdk
> > in the release pocket at bionic release, so 18.04 is not self-buildable;
> > or there would be some other version of openjdk left in the release which
> > is *also* going to go EOL, and is therefore also going to mislead users.
> >
> > - Publish openjdk-10 in main in the bionic release pocket, but use metadata
> > in the archive to mark it only supported in September. This doesn't help
> > the majority of users who never run ubuntu-supported-status or look at
> > the field in their Packages files.
> >
> > --
> > Steve Langasek Give me a lever long enough and a Free OS
> > Debian Developer to set it on, and I can move the world.
> > Ubuntu Developer http://www.debian.org/
> > slangasek at ubuntu.com vorlon at debian.org
>
> --
> Tiago Stürmer Daitx
> Software Engineer
> tiago.daitx at canonical.com
>
> PGP Key: 4096R/F5B213BE (hkp://keyserver.ubuntu.com)
> Fingerprint = 45D0 FE5A 8109 1E91 866E 8CA4 1931 8D5E F5B2 13BE
--
Tiago Stürmer Daitx
Software Engineer
tiago.daitx at canonical.com
PGP Key: 4096R/F5B213BE (hkp://keyserver.ubuntu.com)
Fingerprint = 45D0 FE5A 8109 1E91 866E 8CA4 1931 8D5E F5B2 13BE
More information about the Ubuntu-release
mailing list