Java's write once, run anywhere nature means that most Java software is likely to run consistently across platforms. This means that packagers can often take advantage of Gentoo's ALLARCHES keyword. When creating a stabilization request on Bugzilla, add the ALLARCHES keyword as well as STABLEREQ and the first arch team member to mark the ebuild stable can do so for the remaining architectures as well, saving time and effort. Not all Java software is free from platform-specific behaviour though so only use ALLARCHES when all the following points apply.
- Only pure Java code, comprising of .java source files. No native code or code in other languages.
- No usage of the os.arch property, except in informational messages. Grep for instances of this. Usage in Ant build.xml files is not allowed either.
- No direct usage (i.e. presence in RDEPEND) of libraries facilitating native calls, such as jna or jnr.
- No bundled jars. We cannot be sure about what they really do and they are strongly discouraged anyway.
This list is not exhaustive so apply common sense. Please do not abuse ALLARCHES as this could lead to it being taken away.
To make best use of ALLARCHES, try to add as many initial keywords as you can before filing the request. x86 can easily be tested within a chroot or virtual machine on amd64 systems but contact monsieurp or Chewi if you need assistance. The PPC team are offering access to the timberdoodle server to developers wishing to do ppc or ppc64 testing. Chewi has access to this server but feel free to request your own access. Chewi has his own arm hardware but it isn't quite ready for testing at the current time. He also has m68k and bfin hardware but no one is mad enough to run Java on them. ☺