From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id F3BBC1382C5 for ; Wed, 14 Apr 2021 08:19:59 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 379EEE0B00; Wed, 14 Apr 2021 08:19:56 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E11D2E0A6F for ; Wed, 14 Apr 2021 08:19:55 +0000 (UTC) Subject: Re: [gentoo-dev] unmasking java 11 on gentoo (for those that maintain packages where java is involved, either directly or conditionally) From: =?UTF-8?Q?Miroslav_=c5=a0ulc?= To: "gentoo-dev@lists.gentoo.org" References: Message-ID: <2c6509bc-d6e3-f892-68be-bc79d09012db@gentoo.org> Date: Wed, 14 Apr 2021 10:19:49 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.9.1 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=iso-8859-2; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Archives-Salt: 1f49c9db-7975-41a2-87e1-3f55af1c602c X-Archives-Hash: bac09f21051d2c57ad1772db579c4d89 according to flow's question, here's the update to config files without the obsolete and irrelevant stuff: # grep -r openjdk /etc/portage/* /etc/portage/package.use/multi:dev-java/openjdk gentoo-vm /etc/portage/package.use/multi:dev-java/openjdk-bin gentoo-vm /etc/portage/profile/package.use.mask/multi:dev-java/openjdk:11 -gentoo-vm /etc/portage/profile/package.use.mask/multi:dev-java/openjdk-bin:11 -gentoo-vm fordfrog Dne 14. 04. 21 v 9:45 Miroslav Šulc napsal(a): > hi guys, > > we're still far from unmasking java 11 on gentoo, but i hope it will > happen, one day (or another...). currently there is one issue across > the whole gentoo tree that is a sure blocker and could and should be > easily resolved. as java 11 does not compile bytecode older than 1.6, > everything that specifies in deps virtual/(jdk|jre)-1.[2-5] will fail > to compile and run. these deps should be lifted up to > virtual/(jdk|jre)-1.8. also, packages that depend on > virtual/(jdk|jre)-1.[67] should be lifted up to 1.8 as that is the > lowest version that we support on gentoo and future versions of java > might drop support for 1.6 and 1.7 as well, but it's not a blocker for > now. > > just to get an idea how many ebuilds are affected, here's a short > summary: > > $ git --no-pager grep -Eho "virtual/(jre|jdk)-1.[2-7]" | sort | uniq -c >       1 virtual/jdk-1.2 >       7 virtual/jdk-1.3 >      68 virtual/jdk-1.4 >     119 virtual/jdk-1.5 >     444 virtual/jdk-1.6 >     136 virtual/jdk-1.7 >       1 virtual/jre-1.2 >       7 virtual/jre-1.3 >      68 virtual/jre-1.4 >     124 virtual/jre-1.5 >     460 virtual/jre-1.6 >     113 virtual/jre-1.7 > > here's the list of all packages where java 1.5 or older is used: > > $ git --no-pager grep -Elo "virtual/(jre|jdk)-1.[2-5]" | sed -E > "s%/[^/]+$%%g" | sort | uniq > app-accessibility/brltty > app-accessibility/freetts > app-crypt/jacksum > app-emacs/jde > app-misc/jitac > app-office/hourglass > app-text/hyperestraier > dev-db/db-je > dev-db/hsqldb > dev-db/qdbm > dev-java/ant-contrib > dev-java/ant-owanttask > dev-java/apple-java-extensions-bin > dev-java/apt-mirror > dev-java/aspectj > dev-java/avalon-framework > dev-java/bcel > dev-java/bnd-junit > dev-java/bndlib > dev-java/browserlauncher2 > dev-java/bytelist > dev-java/cal10n > dev-java/cdegroot-db > dev-java/cldc-api > dev-java/codemodel > dev-java/commons-el > dev-java/commons-fileupload > dev-java/commons-lang > dev-java/commons-math > dev-java/commons-net > dev-java/commons-pool > dev-java/commons-validator > dev-java/dtdparser > dev-java/easymock-classextension > dev-java/ehcache > dev-java/ezmorph > dev-java/fastinfoset > dev-java/fscript > dev-java/glassfish-persistence > dev-java/gnu-classpath > dev-java/gson > dev-java/hamcrest-integration > dev-java/hawtjni-runtime > dev-java/helpgui > dev-java/higlayout > dev-java/htmlcleaner > dev-java/ical4j > dev-java/jansi > dev-java/jarbundler > dev-java/java-dep-check > dev-java/java-getopt > dev-java/javahelp > dev-java/java-service-wrapper > dev-java/javolution > dev-java/jaxen > dev-java/jbitcollider-core > dev-java/jboss-logmanager > dev-java/jcmdline > dev-java/jcodings > dev-java/jdbc2-stdext > dev-java/jdbm > dev-java/jebl > dev-java/jgoodies-looks > dev-java/jid3 > dev-java/jinput > dev-java/jisp > dev-java/jlibeps > dev-java/jnr-ffi > dev-java/jnr-netdb > dev-java/joni > dev-java/jortho > dev-java/jreleaseinfo > dev-java/jstun > dev-java/jta > dev-java/junit-addons > dev-java/junrar > dev-java/jvmstat > dev-java/jvyamlb > dev-java/jzlib > dev-java/j2ssh > dev-java/ldapsdk > dev-java/libg > dev-java/libmatthew-java > dev-java/l2fprod-common > dev-java/miglayout > dev-java/minlog > dev-java/mockito > dev-java/msv > dev-java/nekohtml > dev-java/odfdom > dev-java/osgi-compendium > dev-java/osgi-enterprise-api > dev-java/osgi-foundation > dev-java/pdf-renderer > dev-java/picocontainer > dev-java/prefuse > dev-java/radeox > dev-java/resin-servlet-api > dev-java/sblim-cim-client > dev-java/skinlf > dev-java/slf4j-ext > dev-java/spymemcached > dev-java/squareness-jlf > dev-java/stax-ex > dev-java/stax2-api > dev-java/sun-httpserver-bin > dev-java/sun-jai-bin > dev-java/sun-jimi > dev-java/sun-jms > dev-java/sun-jmx > dev-java/swingx > dev-java/swt > dev-java/tagsoup > dev-java/tapestry > dev-java/validation-api > dev-java/werken-xpath > dev-java/wsdl4j > dev-java/xmlstreambuffer > dev-java/xom > dev-java/zeus-jscl > dev-lang/interprolog > dev-lang/R > dev-lang/xsb > dev-libs/OpenNI > dev-libs/OpenNI2 > dev-lisp/abcl > dev-ruby/rjb > dev-tex/tex4ht > dev-util/android-sdk-update-manager > dev-util/jarwizard > dev-util/oprofile > games-board/domination > games-board/megamek > games-puzzle/pauker > java-virtuals/jmx > media-gfx/freewrl > media-gfx/graphviz > media-gfx/povtree > media-libs/libcaca > media-libs/libjpeg-turbo > media-libs/libpano13 > media-libs/mlt > media-sound/entagged-tageditor > media-sound/protux > media-tv/channeleditor > media-video/projectx > net-analyzer/munin > net-analyzer/neti > net-dns/libidn > net-libs/NativeThread > net-misc/tigervnc > net-nds/jxplorer > sci-biology/amap > sci-libs/cdf > sci-libs/libsigrok > sci-libs/libsvm > sci-libs/plplot > sci-misc/netlogo-bin > sci-physics/jaxodraw > sci-physics/thepeg > sys-devel/gettext > sys-libs/db > > i would like to ask you to revisit your packages where java 1.5 or > lower is specified and lift the restriction up to 1.8. you might want > to do the same for 1.7 and 1.8 or just leave it for the time when > bumping the package. you must do the update in a revbump, as it > affects the format of java (.jar) files generated and it would not be > picked up if done in-place and would cause an issue in the future that > the existing java files would not be supported at the runtime (if not > recompiled) due to an obsolete format. > > the correct ways to specify the deps are those: > > in case you want to support java 1.8 and newer >> =virtual/jdk-1.8:* >> =virtual/jre-1.8:* > > in case the package does not work with java > 1.8 (still, i suggest we > first try to resolve the issue before we use this restriction as it > might cause some issues in the future) > virtual/jdk:1.8 > virtual/jre:1.8 > > if, during the update to java 1.8, you come across an issue that you > would not be able to resolve, you can create a pr at github and assign > it to me, i will help you resolve that issue. > > still, after unmasking java 11, there might be issues with compiling > those packages with java 11 (one of the cases might be that java 11 > does not provide some packages that java 8 does which can be resolved > by adding the missing deps that should be packaged separately, other > might be related to api changes). i suppose most of you won't want to > bother with setting up java 11 for compiling your packages and testing > and resolving that so imo we can for now just resolve the min java > version and once, when java 11 is unmasked, and should any issues pop > up, you can cc java team if not sure how to fix the issue and we can > help to resolve it. > > for those that want to try java 11, here's what you need to do to > unmask java 11 for compilation on your systems: > > # grep -r openjdk /etc/portage/* > /etc/portage/package.use/multi:dev-java/openjdk gentoo-vm > jvm_variant_client source > /etc/portage/package.use/multi:dev-java/openjdk-bin gentoo-vm source > /etc/portage/profile/package.use.mask/multi:dev-java/openjdk:11 > -gentoo-vm > /etc/portage/profile/package.use.mask/multi:dev-java/openjdk-bin:11 > -gentoo-vm > > in fact, i have this setup for longer than i can remember (over a year > definitely) and i'm a java dev myself so probably have more java > packages on my systems than you do, and everything i need is working. > > > guys, thank you for your attention and have a nice day. should you > have any questions or need some clarifications, just let me know. > > > fordfrog > >