Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(24.04): openjdk-11 headless slices #349

Open
wants to merge 29 commits into
base: ubuntu-24.04
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
f6dbb02
feat: openjdk-11 slices
vpa1977 Sep 17, 2024
0dbb1cc
fix: tools depend on security
vpa1977 Sep 18, 2024
9a08905
test: add test for tools slice
vpa1977 Sep 18, 2024
f9d0662
feat: add classescache slice
vpa1977 Sep 24, 2024
6dd3202
feat: amend standard slice definition
vpa1977 Sep 24, 2024
b522adc
doc: comment slice definitions
vpa1977 Sep 24, 2024
1964fb7
fix: add arch restriction for classescache
vpa1977 Sep 24, 2024
cefbdba
doc: update core slice comment
vpa1977 Sep 24, 2024
b4850f5
Merge remote-tracking branch 'upstream/ubuntu-24.04' into 24.04-openj…
vpa1977 Sep 24, 2024
146bad0
test: dynamic cds not supported
vpa1977 Sep 26, 2024
c6a9fe8
Merge branch 'ubuntu-24.04' into 24.04-openjdk-11
cjdcordeiro Sep 30, 2024
a8917c1
fix: rearrange openjdk-11-jre-headless
vpa1977 Oct 1, 2024
b908689
feat: rearrange openjdk-11-jdk-headless slice
vpa1977 Oct 1, 2024
a696e55
lint: add explicit dependencies
vpa1977 Oct 1, 2024
d1e8ec4
doc: add comment about missing dependencies
vpa1977 Oct 1, 2024
650c2a5
test: openjdk-11-jdk-headless
vpa1977 Oct 1, 2024
9b3449d
test: drop image test - no awt slice
vpa1977 Oct 1, 2024
b643fbd
fix: correct rmi slice dependencies
vpa1977 Oct 1, 2024
52606a8
test: update openjdk-11-jdk-headless tests
vpa1977 Oct 1, 2024
2560684
test: drop reference to unexisting slice
vpa1977 Oct 1, 2024
b32bfde
lint: remove empty line
vpa1977 Oct 1, 2024
d71d415
lint: add import statement
vpa1977 Oct 1, 2024
3b8f7c5
test: drop ConsoleTest.java
vpa1977 Oct 1, 2024
716fa42
lint: TestJMX.java formatting
vpa1977 Oct 1, 2024
690995b
test: add jaotc test
vpa1977 Oct 1, 2024
fda97cf
fix: exclude jaotc
vpa1977 Oct 1, 2024
f3b0080
Merge branch 'ubuntu-24.04' into 24.04-openjdk-11
vpa1977 Oct 1, 2024
ca5a80d
Merge branch 'ubuntu-24.04' into 24.04-openjdk-11
cjdcordeiro Oct 2, 2024
0940dfc
Merge branch 'ubuntu-24.04' into 24.04-openjdk-11
vpa1977 Oct 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
162 changes: 162 additions & 0 deletions slices/openjdk-11-jdk-headless.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
package: openjdk-11-jdk-headless

essential:
- openjdk-11-jdk-headless_copyright

slices:

# OpenJDK binaries slice
core:
essential:
- libc6_libs
- openjdk-11-jre-headless_core
- openjdk-11-jre-headless_javac
- zlib1g_libs
contents:
/usr/lib/jvm/java-11-openjdk-*/bin/javac:
/usr/lib/jvm/java-11-openjdk-*/bin/javadoc:
/usr/lib/jvm/java-11-openjdk-*/bin/javap:
/usr/lib/jvm/java-11-openjdk-*/bin/jdeprscan:
/usr/lib/jvm/java-11-openjdk-*/bin/jdeps:
/usr/lib/jvm/java-11-openjdk-*/bin/jimage:
/usr/lib/jvm/java-11-openjdk-*/bin/serialver:

# excludes jaotc - this requires binutils
standard:
essential:
- openjdk-11-jdk-headless_core
- openjdk-11-jre-headless_standard
contents:
/usr/lib/jvm/java-11-openjdk-*/bin/jar:
/usr/lib/jvm/java-11-openjdk-*/bin/jarsigner:
/usr/lib/jvm/java-11-openjdk-*/bin/jcmd:
/usr/lib/jvm/java-11-openjdk-*/bin/jdb:
/usr/lib/jvm/java-11-openjdk-*/bin/jfr:
/usr/lib/jvm/java-11-openjdk-*/bin/jhsdb:
arch:
- amd64
- arm64
/usr/lib/jvm/java-11-openjdk-*/bin/jinfo:
/usr/lib/jvm/java-11-openjdk-*/bin/jmap:
/usr/lib/jvm/java-11-openjdk-*/bin/jps:
/usr/lib/jvm/java-11-openjdk-*/bin/jrunscript:
/usr/lib/jvm/java-11-openjdk-*/bin/jshell:
/usr/lib/jvm/java-11-openjdk-*/bin/jstack:
/usr/lib/jvm/java-11-openjdk-*/bin/jstat:
/usr/lib/jvm/java-11-openjdk-*/bin/jstatd:
/usr/lib/jvm/java-11-openjdk-*/bin/rmic:

# OpenJDK modules required to build the runtime image
modules:
essential:
- openjdk-11-jdk-headless_core
contents:
/usr/lib/jvm/java-11-openjdk-*/bin/jlink:
/usr/lib/jvm/java-11-openjdk-*/bin/jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.base.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.compiler.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.datatransfer.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.desktop.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.instrument.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.logging.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.management.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.management.rmi.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.naming.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.net.http.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.prefs.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.rmi.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.scripting.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.se.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.security.jgss.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.security.sasl.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.smartcardio.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.sql.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.sql.rowset.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.transaction.xa.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.xml.crypto.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/java.xml.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.accessibility.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.aot.jmod:
arch:
- amd64
- arm64
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.attach.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.charsets.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.compiler.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.crypto.cryptoki.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.crypto.ec.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.dynalink.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.editpad.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.hotspot.agent.jmod:
arch:
- amd64
- arm64
- ppc64el
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.httpserver.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.internal.ed.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.internal.jvmstat.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.internal.le.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.internal.opt.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.internal.vm.ci.jmod:
arch:
- amd64
- arm64
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.internal.vm.compiler.jmod:
arch:
- amd64
- arm64
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.internal.vm.compiler.management.jmod:
arch:
- amd64
- arm64
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jartool.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.javadoc.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jcmd.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jconsole.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jdeps.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jdi.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jdwp.agent.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jfr.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jlink.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jshell.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jsobject.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.jstatd.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.localedata.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.management.agent.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.management.jfr.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.management.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.naming.dns.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.naming.ldap.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.naming.rmi.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.net.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.pack.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.rmic.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.scripting.nashorn.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.scripting.nashorn.shell.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.sctp.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.security.auth.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.security.jgss.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.unsupported.desktop.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.unsupported.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.xml.dom.jmod:
/usr/lib/jvm/java-11-openjdk-*/jmods/jdk.zipfs.jmod:

# OpenJDK headers for JNI
headers:
contents:
/usr/lib/jvm/java-11-openjdk-*/include/classfile_constants.h:
/usr/lib/jvm/java-11-openjdk-*/include/jni.h:
/usr/lib/jvm/java-11-openjdk-*/include/jvmti.h:
/usr/lib/jvm/java-11-openjdk-*/include/jvmticmlr.h:
/usr/lib/jvm/java-11-openjdk-*/include/linux/jni_md.h:

# OpenJDK headers for the debug agent development
debug-headers:
contents:
/usr/lib/jvm/java-11-openjdk-*/include/jdwpTransport.h:

copyright:
essential:
- openjdk-11-jre-headless_copyright
contents:
/usr/share/doc/openjdk-11-jdk-headless:
193 changes: 193 additions & 0 deletions slices/openjdk-11-jre-headless.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
package: openjdk-11-jre-headless

essential:
- openjdk-11-jre-headless_copyright

slices:

# A minimal set of files to run a Java application
# excluded dependencies:
# - ca-certificates-java_essential - needs chisel support to run
# maintainer scripts.
# - java-common - provides update-alternatives,
# not relevant.
# - util-linux - needed for bash completion
# not relevant.
# - libjpeg8 - used in awt, not relevant
# - liblcms2-2 - used in awt, not relevant
standard:
essential:
- openjdk-11-jre-headless_class-data-sharing
- openjdk-11-jre-headless_core
- openjdk-11-jre-headless_debug
- openjdk-11-jre-headless_jfr
- openjdk-11-jre-headless_management
- openjdk-11-jre-headless_prefs
- openjdk-11-jre-headless_rmi
- openjdk-11-jre-headless_security
- openjdk-11-jre-headless_tools

# List of classes required to create the Class Data Sharing archive
class-data-sharing:
essential:
- openjdk-11-jre-headless_core
contents:
/usr/lib/jvm/java-11-openjdk-*/lib/classlist:
arch:
- amd64
- arm64
- armhf
- i386
- ppc64el
- s390x

# A minimal set of files to run a Java application
core:
essential:
- libc6_libs
- libgcc-s1_libs
- libstdc++6_libs
- zlib1g_libs
contents:
/etc/java-11-openjdk/jvm-*.cfg:
/etc/java-11-openjdk/logging.properties:
/etc/java-11-openjdk/management/jmxremote.access:
/etc/java-11-openjdk/management/management.properties:
/etc/java-11-openjdk/net.properties:
/etc/java-11-openjdk/security/java.policy:
/etc/java-11-openjdk/security/java.security:
/usr/lib/jvm/java-11-openjdk-*/bin/java:
/usr/lib/jvm/java-11-openjdk-*/conf/logging.properties:
/usr/lib/jvm/java-11-openjdk-*/conf/management/jmxremote.access:
/usr/lib/jvm/java-11-openjdk-*/conf/management/management.properties:
/usr/lib/jvm/java-11-openjdk-*/conf/net.properties:
/usr/lib/jvm/java-11-openjdk-*/conf/security/java.policy:
/usr/lib/jvm/java-11-openjdk-*/conf/security/java.security:
/usr/lib/jvm/java-11-openjdk-*/lib/jexec:
/usr/lib/jvm/java-11-openjdk-*/lib/jli/libjli.so:
/usr/lib/jvm/java-11-openjdk-*/lib/jspawnhelper:
/usr/lib/jvm/java-11-openjdk-*/lib/jvm.cfg:
/usr/lib/jvm/java-11-openjdk-*/lib/jvm.cfg-default:
/usr/lib/jvm/java-11-openjdk-*/lib/libextnet.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libjava.so:
# lib/modules support
/usr/lib/jvm/java-11-openjdk-*/lib/libjimage.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libjsig.so:
# required for IO.
/usr/lib/jvm/java-11-openjdk-*/lib/libnet.so:
# required for IO.
/usr/lib/jvm/java-11-openjdk-*/lib/libnio.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libverify.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libzip.so:
/usr/lib/jvm/java-11-openjdk-*/lib/modules:
/usr/lib/jvm/java-11-openjdk-*/lib/server/libjsig.so:
/usr/lib/jvm/java-11-openjdk-*/lib/server/libjvm.so:
/usr/lib/jvm/java-11-openjdk-*/lib/tzdb.dat:

# Native part of jdk.prefs modules
prefs:
essential:
- openjdk-11-jre-headless_core
contents:
/usr/lib/jvm/java-11-openjdk-*/lib/libprefs.so:

# Native part of java.rmi
rmi:
essential:
- openjdk-11-jre-headless_security
contents:
/usr/lib/jvm/java-11-openjdk-*/bin/rmid:
/usr/lib/jvm/java-11-openjdk-*/bin/rmiregistry:
/usr/lib/jvm/java-11-openjdk-*/lib/librmi.so:

# Debug support
debug:
essential:
- openjdk-11-jre-headless_core
contents:
/usr/lib/jvm/java-11-openjdk-*/lib/libattach.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libdt_socket.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libinstrument.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libjdwp.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libsaproc.so:
arch:
- amd64
- arm64
- armhf
- ppc64el

# Configuration and native part of Java Management Extensions
management:
essential:
- openjdk-11-jre-headless_rmi
contents:
/etc/java-11-openjdk/management/jmxremote.access:
/etc/java-11-openjdk/management/management.properties:
/usr/lib/jvm/java-11-openjdk-*/conf/management/jmxremote.access:
/usr/lib/jvm/java-11-openjdk-*/conf/management/management.properties:
/usr/lib/jvm/java-11-openjdk-*/lib/libmanagement.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libmanagement_agent.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libmanagement_ext.so:

# Security configuration files and native libraries
security:
essential:
- libnss3_libs
- libpcsclite1_libs
- openjdk-11-jre-headless_core
contents:
/etc/java-11-openjdk/security/blocked.certs:
/etc/java-11-openjdk/security/default.policy:
/etc/java-11-openjdk/security/nss.cfg:
/etc/java-11-openjdk/security/policy/limited/default_US_export.policy:
/etc/java-11-openjdk/security/policy/limited/default_local.policy:
/etc/java-11-openjdk/security/policy/limited/exempt_local.policy:
/etc/java-11-openjdk/security/policy/unlimited/default_US_export.policy:
/etc/java-11-openjdk/security/policy/unlimited/default_local.policy:
/etc/java-11-openjdk/security/public_suffix_list.dat:
/usr/lib/jvm/java-11-openjdk-*/conf/security/nss.cfg:
/usr/lib/jvm/java-11-openjdk-*/conf/security/policy/limited/default_US_export.policy:
/usr/lib/jvm/java-11-openjdk-*/conf/security/policy/limited/default_local.policy:
/usr/lib/jvm/java-11-openjdk-*/conf/security/policy/limited/exempt_local.policy:
/usr/lib/jvm/java-11-openjdk-*/conf/security/policy/unlimited/default_US_export.policy:
/usr/lib/jvm/java-11-openjdk-*/conf/security/policy/unlimited/default_local.policy:
/usr/lib/jvm/java-11-openjdk-*/lib/libj2gss.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libj2pcsc.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libj2pkcs11.so:
/usr/lib/jvm/java-11-openjdk-*/lib/libjaas.so:
/usr/lib/jvm/java-11-openjdk-*/lib/security/blocked.certs:
/usr/lib/jvm/java-11-openjdk-*/lib/security/cacerts:
/usr/lib/jvm/java-11-openjdk-*/lib/security/default.policy:
/usr/lib/jvm/java-11-openjdk-*/lib/security/public_suffix_list.dat:

# OpenJDK tools
tools:
essential:
- openjdk-11-jre-headless_security
contents:
/usr/lib/jvm/java-11-openjdk-*/bin/jjs:
/usr/lib/jvm/java-11-openjdk-*/bin/keytool:
/usr/lib/jvm/java-11-openjdk-*/bin/pack200:
/usr/lib/jvm/java-11-openjdk-*/bin/unpack200:

# Java Flight Recorder configuration and jar file
jfr:
essential:
- openjdk-11-jre-headless_core
contents:
/etc/java-11-openjdk/jfr/default.jfc:
/etc/java-11-openjdk/jfr/profile.jfc:
/usr/lib/jvm/java-11-openjdk-*/lib/jfr/default.jfc:
/usr/lib/jvm/java-11-openjdk-*/lib/jfr/profile.jfc:
/usr/lib/jvm/java-11-openjdk-*/lib/jrt-fs.jar:

# Javac JDK API signatures for the backwards compatibility
javac:
essential:
- openjdk-11-jre-headless_core
contents:
/usr/lib/jvm/java-11-openjdk-*/lib/ct.sym:

copyright:
contents:
/usr/share/doc/openjdk-11-jre-headless/copyright:
5 changes: 5 additions & 0 deletions tests/spread/integration/openjdk-11-jdk-headless/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
public class Main {
public static void main(String[] args){
System.out.println("Hello world");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
public class MonitoringTest {
public static void main(String[] args) throws InterruptedException {
while (true) {
Thread.sleep(1000);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import java.rmi.Remote;

public class RemoteInterface implements Remote {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import java.io.Serializable;

public class SerializableObject implements Serializable {
}
3 changes: 3 additions & 0 deletions tests/spread/integration/openjdk-11-jdk-headless/all.policy
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
grant {
permission java.security.AllPermission;
};
Loading
Loading