Gentoo Archives: gentoo-dev

From: "Miroslav Šulc" <fordfrog@g.o>
To: "gentoo-dev@l.g.o" <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] unmasking java 11 on gentoo (for those that maintain packages where java is involved, either directly or conditionally)
Date: Wed, 14 Apr 2021 08:19:59
Message-Id: 2c6509bc-d6e3-f892-68be-bc79d09012db@gentoo.org
In Reply to: [gentoo-dev] unmasking java 11 on gentoo (for those that maintain packages where java is involved, either directly or conditionally) by "Miroslav Šulc"
1 according to flow's question, here's the update to config files without
2 the obsolete and irrelevant stuff:
3
4 # grep -r openjdk /etc/portage/*
5 /etc/portage/package.use/multi:dev-java/openjdk gentoo-vm
6 /etc/portage/package.use/multi:dev-java/openjdk-bin gentoo-vm
7 /etc/portage/profile/package.use.mask/multi:dev-java/openjdk:11 -gentoo-vm
8 /etc/portage/profile/package.use.mask/multi:dev-java/openjdk-bin:11
9 -gentoo-vm
10
11 fordfrog
12
13
14 Dne 14. 04. 21 v 9:45 Miroslav ©ulc napsal(a):
15 > hi guys,
16 >
17 > we're still far from unmasking java 11 on gentoo, but i hope it will
18 > happen, one day (or another...). currently there is one issue across
19 > the whole gentoo tree that is a sure blocker and could and should be
20 > easily resolved. as java 11 does not compile bytecode older than 1.6,
21 > everything that specifies in deps virtual/(jdk|jre)-1.[2-5] will fail
22 > to compile and run. these deps should be lifted up to
23 > virtual/(jdk|jre)-1.8. also, packages that depend on
24 > virtual/(jdk|jre)-1.[67] should be lifted up to 1.8 as that is the
25 > lowest version that we support on gentoo and future versions of java
26 > might drop support for 1.6 and 1.7 as well, but it's not a blocker for
27 > now.
28 >
29 > just to get an idea how many ebuilds are affected, here's a short
30 > summary:
31 >
32 > $ git --no-pager grep -Eho "virtual/(jre|jdk)-1.[2-7]" | sort | uniq -c
33 >       1 virtual/jdk-1.2
34 >       7 virtual/jdk-1.3
35 >      68 virtual/jdk-1.4
36 >     119 virtual/jdk-1.5
37 >     444 virtual/jdk-1.6
38 >     136 virtual/jdk-1.7
39 >       1 virtual/jre-1.2
40 >       7 virtual/jre-1.3
41 >      68 virtual/jre-1.4
42 >     124 virtual/jre-1.5
43 >     460 virtual/jre-1.6
44 >     113 virtual/jre-1.7
45 >
46 > here's the list of all packages where java 1.5 or older is used:
47 >
48 > $ git --no-pager grep -Elo "virtual/(jre|jdk)-1.[2-5]" | sed -E
49 > "s%/[^/]+$%%g" | sort | uniq
50 > app-accessibility/brltty
51 > app-accessibility/freetts
52 > app-crypt/jacksum
53 > app-emacs/jde
54 > app-misc/jitac
55 > app-office/hourglass
56 > app-text/hyperestraier
57 > dev-db/db-je
58 > dev-db/hsqldb
59 > dev-db/qdbm
60 > dev-java/ant-contrib
61 > dev-java/ant-owanttask
62 > dev-java/apple-java-extensions-bin
63 > dev-java/apt-mirror
64 > dev-java/aspectj
65 > dev-java/avalon-framework
66 > dev-java/bcel
67 > dev-java/bnd-junit
68 > dev-java/bndlib
69 > dev-java/browserlauncher2
70 > dev-java/bytelist
71 > dev-java/cal10n
72 > dev-java/cdegroot-db
73 > dev-java/cldc-api
74 > dev-java/codemodel
75 > dev-java/commons-el
76 > dev-java/commons-fileupload
77 > dev-java/commons-lang
78 > dev-java/commons-math
79 > dev-java/commons-net
80 > dev-java/commons-pool
81 > dev-java/commons-validator
82 > dev-java/dtdparser
83 > dev-java/easymock-classextension
84 > dev-java/ehcache
85 > dev-java/ezmorph
86 > dev-java/fastinfoset
87 > dev-java/fscript
88 > dev-java/glassfish-persistence
89 > dev-java/gnu-classpath
90 > dev-java/gson
91 > dev-java/hamcrest-integration
92 > dev-java/hawtjni-runtime
93 > dev-java/helpgui
94 > dev-java/higlayout
95 > dev-java/htmlcleaner
96 > dev-java/ical4j
97 > dev-java/jansi
98 > dev-java/jarbundler
99 > dev-java/java-dep-check
100 > dev-java/java-getopt
101 > dev-java/javahelp
102 > dev-java/java-service-wrapper
103 > dev-java/javolution
104 > dev-java/jaxen
105 > dev-java/jbitcollider-core
106 > dev-java/jboss-logmanager
107 > dev-java/jcmdline
108 > dev-java/jcodings
109 > dev-java/jdbc2-stdext
110 > dev-java/jdbm
111 > dev-java/jebl
112 > dev-java/jgoodies-looks
113 > dev-java/jid3
114 > dev-java/jinput
115 > dev-java/jisp
116 > dev-java/jlibeps
117 > dev-java/jnr-ffi
118 > dev-java/jnr-netdb
119 > dev-java/joni
120 > dev-java/jortho
121 > dev-java/jreleaseinfo
122 > dev-java/jstun
123 > dev-java/jta
124 > dev-java/junit-addons
125 > dev-java/junrar
126 > dev-java/jvmstat
127 > dev-java/jvyamlb
128 > dev-java/jzlib
129 > dev-java/j2ssh
130 > dev-java/ldapsdk
131 > dev-java/libg
132 > dev-java/libmatthew-java
133 > dev-java/l2fprod-common
134 > dev-java/miglayout
135 > dev-java/minlog
136 > dev-java/mockito
137 > dev-java/msv
138 > dev-java/nekohtml
139 > dev-java/odfdom
140 > dev-java/osgi-compendium
141 > dev-java/osgi-enterprise-api
142 > dev-java/osgi-foundation
143 > dev-java/pdf-renderer
144 > dev-java/picocontainer
145 > dev-java/prefuse
146 > dev-java/radeox
147 > dev-java/resin-servlet-api
148 > dev-java/sblim-cim-client
149 > dev-java/skinlf
150 > dev-java/slf4j-ext
151 > dev-java/spymemcached
152 > dev-java/squareness-jlf
153 > dev-java/stax-ex
154 > dev-java/stax2-api
155 > dev-java/sun-httpserver-bin
156 > dev-java/sun-jai-bin
157 > dev-java/sun-jimi
158 > dev-java/sun-jms
159 > dev-java/sun-jmx
160 > dev-java/swingx
161 > dev-java/swt
162 > dev-java/tagsoup
163 > dev-java/tapestry
164 > dev-java/validation-api
165 > dev-java/werken-xpath
166 > dev-java/wsdl4j
167 > dev-java/xmlstreambuffer
168 > dev-java/xom
169 > dev-java/zeus-jscl
170 > dev-lang/interprolog
171 > dev-lang/R
172 > dev-lang/xsb
173 > dev-libs/OpenNI
174 > dev-libs/OpenNI2
175 > dev-lisp/abcl
176 > dev-ruby/rjb
177 > dev-tex/tex4ht
178 > dev-util/android-sdk-update-manager
179 > dev-util/jarwizard
180 > dev-util/oprofile
181 > games-board/domination
182 > games-board/megamek
183 > games-puzzle/pauker
184 > java-virtuals/jmx
185 > media-gfx/freewrl
186 > media-gfx/graphviz
187 > media-gfx/povtree
188 > media-libs/libcaca
189 > media-libs/libjpeg-turbo
190 > media-libs/libpano13
191 > media-libs/mlt
192 > media-sound/entagged-tageditor
193 > media-sound/protux
194 > media-tv/channeleditor
195 > media-video/projectx
196 > net-analyzer/munin
197 > net-analyzer/neti
198 > net-dns/libidn
199 > net-libs/NativeThread
200 > net-misc/tigervnc
201 > net-nds/jxplorer
202 > sci-biology/amap
203 > sci-libs/cdf
204 > sci-libs/libsigrok
205 > sci-libs/libsvm
206 > sci-libs/plplot
207 > sci-misc/netlogo-bin
208 > sci-physics/jaxodraw
209 > sci-physics/thepeg
210 > sys-devel/gettext
211 > sys-libs/db
212 >
213 > i would like to ask you to revisit your packages where java 1.5 or
214 > lower is specified and lift the restriction up to 1.8. you might want
215 > to do the same for 1.7 and 1.8 or just leave it for the time when
216 > bumping the package. you must do the update in a revbump, as it
217 > affects the format of java (.jar) files generated and it would not be
218 > picked up if done in-place and would cause an issue in the future that
219 > the existing java files would not be supported at the runtime (if not
220 > recompiled) due to an obsolete format.
221 >
222 > the correct ways to specify the deps are those:
223 >
224 > in case you want to support java 1.8 and newer
225 >> =virtual/jdk-1.8:*
226 >> =virtual/jre-1.8:*
227 >
228 > in case the package does not work with java > 1.8 (still, i suggest we
229 > first try to resolve the issue before we use this restriction as it
230 > might cause some issues in the future)
231 > virtual/jdk:1.8
232 > virtual/jre:1.8
233 >
234 > if, during the update to java 1.8, you come across an issue that you
235 > would not be able to resolve, you can create a pr at github and assign
236 > it to me, i will help you resolve that issue.
237 >
238 > still, after unmasking java 11, there might be issues with compiling
239 > those packages with java 11 (one of the cases might be that java 11
240 > does not provide some packages that java 8 does which can be resolved
241 > by adding the missing deps that should be packaged separately, other
242 > might be related to api changes). i suppose most of you won't want to
243 > bother with setting up java 11 for compiling your packages and testing
244 > and resolving that so imo we can for now just resolve the min java
245 > version and once, when java 11 is unmasked, and should any issues pop
246 > up, you can cc java team if not sure how to fix the issue and we can
247 > help to resolve it.
248 >
249 > for those that want to try java 11, here's what you need to do to
250 > unmask java 11 for compilation on your systems:
251 >
252 > # grep -r openjdk /etc/portage/*
253 > /etc/portage/package.use/multi:dev-java/openjdk gentoo-vm
254 > jvm_variant_client source
255 > /etc/portage/package.use/multi:dev-java/openjdk-bin gentoo-vm source
256 > /etc/portage/profile/package.use.mask/multi:dev-java/openjdk:11
257 > -gentoo-vm
258 > /etc/portage/profile/package.use.mask/multi:dev-java/openjdk-bin:11
259 > -gentoo-vm
260 >
261 > in fact, i have this setup for longer than i can remember (over a year
262 > definitely) and i'm a java dev myself so probably have more java
263 > packages on my systems than you do, and everything i need is working.
264 >
265 >
266 > guys, thank you for your attention and have a nice day. should you
267 > have any questions or need some clarifications, just let me know.
268 >
269 >
270 > fordfrog
271 >
272 >