Ceci est un élément de travail pour EPIC https://github.com/AdoptOpenJDK/openjdk-build/issues/2522.
L'objectif étant de "prototyper" une première tentative de pouvoir "recréer" une version Adopt basée sur la spécification des "informations de construction" de base actuellement disponibles pour une "version" existante et en supposant la configuration "infra" actuellement disponible.
Hypothèses pour le 1er prototype :
Spécification :
Étendez les travaux openjdk-pipeline & build actuels pour prendre comme entrées supplémentaires les "informations de construction" de base :
Les tâches de build Jenkins sont actuellement "générées" chaque fois que des modifications de openjdk-build ou ci-jenkins-pipelines se produisent. Le contenu de ces travaux contient également une quantité étendue de configuration/paramètres JSON, les paramètres du travail et les paramètres JSON sont spécifiques à la configuration de la construction au moment de la publication/construction.
Il est donc logique de concevoir le prototype comme un processus en deux étapes :
Il est donc assez facile d'utiliser les paramètres des scripts de construction USER du travail Adopt Build pour pointer vers un SHA d'un niveau des scripts openjdk-build que vous souhaitez utiliser (par exemple, la mise à jour du processeur du 19 janvier). Voici une version de janvier jdk-11.0.10 + 9 Hotspot Release: https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk11u/job/jdk11u-linux-x64-hotspot/ 960/paramètres/
Il s'agit donc d'une reconstruction utilisant les scripts de construction de janvier de la balise source de janvier, en utilisant l'infrastructure et les outils actuels.
Q : Est-ce "reproduit" ? R : Peut-être !
En réalité, tout cela a permis de reconstruire cette source SHA en utilisant l'infrastructure et les niveaux d'outillage actuels. Donc, en tant que tel, il utilise probablement différentes versions de nombreuses dépendances, en particulier pour les plates-formes de construction sans conteneur.
La construction ci-dessus était sur xLinux, donc le conteneur de construction qu'il utilisait provenait de l'image adoptopenjdk/centos6_build_image actuelle. Une amélioration pourrait être obtenue si nous mettions en cache à côté de chaque version que nous marquons comme reproductibles les images de construction de docker utilisées pour les construire, ce qui améliorerait la reproductibilité des plates-formes :
Docker a ses limites cependant, l'utilisation de dockerhub est une exposition potentielle à la sécurité, avec le recours au stockage/extraction d'images pour créer un JDK sécurisé sur Internet, ce qui n'est pas idéal.
De plus, Docker n'est pas disponible sur AIX.
Une approche alternative peut être une configuration de type "compilation croisée", dans laquelle l'ensemble de dépendances du système est fixé via un emplacement défini.
Reconstruction de Jan CPU Update avec la tâche Jenkins actuelle :
{
"ARCHITECTURE": "x64",
"TARGET_OS": "linux",
"VARIANT": "hotspot",
"JAVA_TO_BUILD": "jdk11u",
"TEST_LIST": [
"sanity.openjdk",
"sanity.system",
"extended.system",
"sanity.perf",
"sanity.external"
],
"SCM_REF": "jdk-11.0.10+9_adopt",
"BUILD_ARGS": "",
"NODE_LABEL": "build&&linux&&x64",
"ADDITIONAL_TEST_LABEL": "",
"KEEP_TEST_REPORTDIR": false,
"ACTIVE_NODE_TIMEOUT": "",
"CODEBUILD": false,
"DOCKER_IMAGE": "adoptopenjdk/centos6_build_image<strong i="10">@sha256</strong>:5655c9a66f4528210e307d033024bd65f5f736eac401fdeaed9dbc903b629a0c",
"DOCKER_NODE": "",
"DOCKER_REGISTRY": "",
"DOCKER_CREDENTIAL": "",
"PLATFORM_CONFIG_LOCATION": "AdoptOpenJDK/openjdk-build/master/build-farm/platform-specific-configurations",
"CONFIGURE_ARGS": "--enable-dtrace=auto",
"OVERRIDE_FILE_NAME_VERSION": "",
"USE_ADOPT_SHELL_SCRIPTS": false,
"RELEASE": true,
"PUBLISH_NAME": "jdk-11.0.10+9",
"ADOPT_BUILD_NUMBER": "",
"ENABLE_TESTS": false,
"ENABLE_INSTALLERS": true,
"ENABLE_SIGNER": true,
"CLEAN_WORKSPACE": true,
"CLEAN_WORKSPACE_AFTER": true,
"CLEAN_WORKSPACE_BUILD_OUTPUT_ONLY_AFTER": false
}
DEFAULTS_JSON :
"defaultsUrl": "https://raw.githubusercontent.com/andrew-m-leonard/ci-jenkins-pipelines/myrepo/pipelines/defaults.json"
À l'emplacement "defaultsUrl":
"repository" : {
"build_url" : "https://github.com/AdoptOpenJDK/openjdk-build.git",
"build_branch" : "ea53ac3d1623de5ecefdcd9aee3379a776be84b2",
build_branch SHA est le commit des scripts openjdk-build utilisé pour construire la mise à jour Jan CPU.
Remarque, DOCKER_IMAGE utilise @sha256 : 56... Résumé SHA de l'image Docker utilisée pour la construction. N'avait pas le résumé SHA exact, mais cela pourrait être utilisé si nous le stockions.
diffoscope de la version originale jdk.tar.gz et de la version reproduite, montre de nombreuses différences, ce qui n'est pas vraiment surprenant, car des choses comme les horodatages sont différentes partout, également toutes les listes de fichiers ou contenus zip (par exemple.jmods) ont des fichiers dans des ordres différents.
Cependant, en regardant de haut niveau les dossiers et les bibliothèques, cela semble identique, par exemple :
"Lib" d'origine :
-rw-r--r-- 1 andrewleonard staff 38933 20 Jan 12:17 classlist
-rw-r--r-- 1 andrewleonard staff 4496469 20 Jan 12:17 ct.sym
-rwxr-xr-x 1 andrewleonard staff 13040 20 Jan 12:17 jexec
drwxr-xr-x 4 andrewleonard staff 128 20 Jan 12:17 jfr
drwxr-xr-x 3 andrewleonard staff 96 20 Jan 12:17 jli
-rw-r--r-- 1 andrewleonard staff 106676 20 Jan 12:17 jrt-fs.jar
-rwxr-xr-x 1 andrewleonard staff 18408 20 Jan 12:17 jspawnhelper
-rw-r--r-- 1 andrewleonard staff 29 20 Jan 12:17 jvm.cfg
-rw-r--r-- 1 andrewleonard staff 13344 20 Jan 12:17 libattach.so
-rw-r--r-- 1 andrewleonard staff 752736 20 Jan 12:17 libawt.so
-rw-r--r-- 1 andrewleonard staff 44728 20 Jan 12:17 libawt_headless.so
-rw-r--r-- 1 andrewleonard staff 484632 20 Jan 12:17 libawt_xawt.so
-rw-r--r-- 1 andrewleonard staff 28216 20 Jan 12:17 libdt_socket.so
-rw-r--r-- 1 andrewleonard staff 12992 20 Jan 12:17 libextnet.so
-rw-r--r-- 1 andrewleonard staff 67984 20 Jan 12:17 libfontmanager.so
-rw-r--r-- 1 andrewleonard staff 1888936 20 Jan 12:17 libharfbuzz.so
-rw-r--r-- 1 andrewleonard staff 51512 20 Jan 12:17 libinstrument.so
-rw-r--r-- 1 andrewleonard staff 47496 20 Jan 12:17 libj2gss.so
-rw-r--r-- 1 andrewleonard staff 18024 20 Jan 12:17 libj2pcsc.so
-rw-r--r-- 1 andrewleonard staff 88992 20 Jan 12:17 libj2pkcs11.so
-rw-r--r-- 1 andrewleonard staff 8064 20 Jan 12:17 libjaas.so
-rw-r--r-- 1 andrewleonard staff 214128 20 Jan 12:17 libjava.so
-rw-r--r-- 1 andrewleonard staff 262728 20 Jan 12:17 libjavajpeg.so
-rw-r--r-- 1 andrewleonard staff 7984 20 Jan 12:17 libjawt.so
-rw-r--r-- 1 andrewleonard staff 282752 20 Jan 12:17 libjdwp.so
-rw-r--r-- 1 andrewleonard staff 596448 20 Jan 12:17 libjimage.so
-rw-r--r-- 1 andrewleonard staff 13248 20 Jan 12:17 libjsig.so
-rw-r--r-- 1 andrewleonard staff 82936 20 Jan 12:17 libjsound.so
-rw-r--r-- 1 andrewleonard staff 576856 20 Jan 12:17 liblcms.so
-rw-r--r-- 1 andrewleonard staff 26128 20 Jan 12:17 libmanagement.so
-rw-r--r-- 1 andrewleonard staff 8040 20 Jan 12:17 libmanagement_agent.so
-rw-r--r-- 1 andrewleonard staff 33744 20 Jan 12:17 libmanagement_ext.so
-rw-r--r-- 1 andrewleonard staff 585064 20 Jan 12:17 libmlib_image.so
-rw-r--r-- 1 andrewleonard staff 111792 20 Jan 12:17 libnet.so
-rw-r--r-- 1 andrewleonard staff 88120 20 Jan 12:17 libnio.so
-rw-r--r-- 1 andrewleonard staff 8224 20 Jan 12:17 libprefs.so
-rw-r--r-- 1 andrewleonard staff 7744 20 Jan 12:17 librmi.so
-rw-r--r-- 1 andrewleonard staff 55664 20 Jan 12:17 libsaproc.so
-rw-r--r-- 1 andrewleonard staff 28960 20 Jan 12:17 libsctp.so
-rw-r--r-- 1 andrewleonard staff 373816 20 Jan 12:17 libsplashscreen.so
-rw-r--r-- 1 andrewleonard staff 776960 20 Jan 12:17 libsunec.so
-rw-r--r-- 1 andrewleonard staff 672416 20 Jan 12:17 libunpack.so
-rw-r--r-- 1 andrewleonard staff 81432 20 Jan 12:17 libverify.so
-rw-r--r-- 1 andrewleonard staff 37616 20 Jan 12:17 libzip.so
-rw-r--r-- 1 andrewleonard staff 142006963 20 Jan 12:17 modules
-rw-r--r-- 1 andrewleonard staff 3793 20 Jan 12:17 psfont.properties.ja
-rw-r--r-- 1 andrewleonard staff 11390 20 Jan 12:17 psfontj2d.properties
drwxr-xr-x 6 andrewleonard staff 192 20 Jan 12:17 security
drwxr-xr-x 5 andrewleonard staff 160 20 Jan 12:17 server
-rw-r--r-- 1 andrewleonard staff 58148661 20 Jan 12:17 src.zip
-rw-r--r-- 1 andrewleonard staff 107853 20 Jan 12:17 tzdb.dat
"lib" reproduit :
-rw-r--r-- 1 andrewleonard staff 38933 30 Apr 11:07 classlist
-rw-r--r-- 1 andrewleonard staff 4496469 30 Apr 11:07 ct.sym
-rwxr-xr-x 1 andrewleonard staff 13040 30 Apr 11:07 jexec
drwxr-xr-x 4 andrewleonard staff 128 30 Apr 11:07 jfr
drwxr-xr-x 3 andrewleonard staff 96 30 Apr 11:07 jli
-rw-r--r-- 1 andrewleonard staff 106676 30 Apr 11:07 jrt-fs.jar
-rwxr-xr-x 1 andrewleonard staff 18408 30 Apr 11:07 jspawnhelper
-rw-r--r-- 1 andrewleonard staff 29 30 Apr 11:07 jvm.cfg
-rw-r--r-- 1 andrewleonard staff 13344 30 Apr 11:07 libattach.so
-rw-r--r-- 1 andrewleonard staff 752736 30 Apr 11:07 libawt.so
-rw-r--r-- 1 andrewleonard staff 44728 30 Apr 11:07 libawt_headless.so
-rw-r--r-- 1 andrewleonard staff 484632 30 Apr 11:07 libawt_xawt.so
-rw-r--r-- 1 andrewleonard staff 28216 30 Apr 11:07 libdt_socket.so
-rw-r--r-- 1 andrewleonard staff 12992 30 Apr 11:07 libextnet.so
-rw-r--r-- 1 andrewleonard staff 67984 30 Apr 11:07 libfontmanager.so
-rw-r--r-- 1 andrewleonard staff 1888936 30 Apr 11:07 libharfbuzz.so
-rw-r--r-- 1 andrewleonard staff 51512 30 Apr 11:07 libinstrument.so
-rw-r--r-- 1 andrewleonard staff 47496 30 Apr 11:07 libj2gss.so
-rw-r--r-- 1 andrewleonard staff 18024 30 Apr 11:07 libj2pcsc.so
-rw-r--r-- 1 andrewleonard staff 88992 30 Apr 11:07 libj2pkcs11.so
-rw-r--r-- 1 andrewleonard staff 8064 30 Apr 11:07 libjaas.so
-rw-r--r-- 1 andrewleonard staff 214128 30 Apr 11:07 libjava.so
-rw-r--r-- 1 andrewleonard staff 262728 30 Apr 11:07 libjavajpeg.so
-rw-r--r-- 1 andrewleonard staff 7984 30 Apr 11:07 libjawt.so
-rw-r--r-- 1 andrewleonard staff 282752 30 Apr 11:07 libjdwp.so
-rw-r--r-- 1 andrewleonard staff 596448 30 Apr 11:07 libjimage.so
-rw-r--r-- 1 andrewleonard staff 13248 30 Apr 11:07 libjsig.so
-rw-r--r-- 1 andrewleonard staff 82936 30 Apr 11:07 libjsound.so
-rw-r--r-- 1 andrewleonard staff 576856 30 Apr 11:07 liblcms.so
-rw-r--r-- 1 andrewleonard staff 26128 30 Apr 11:07 libmanagement.so
-rw-r--r-- 1 andrewleonard staff 8040 30 Apr 11:07 libmanagement_agent.so
-rw-r--r-- 1 andrewleonard staff 33744 30 Apr 11:07 libmanagement_ext.so
-rw-r--r-- 1 andrewleonard staff 585064 30 Apr 11:07 libmlib_image.so
-rw-r--r-- 1 andrewleonard staff 111792 30 Apr 11:07 libnet.so
-rw-r--r-- 1 andrewleonard staff 88120 30 Apr 11:07 libnio.so
-rw-r--r-- 1 andrewleonard staff 8224 30 Apr 11:07 libprefs.so
-rw-r--r-- 1 andrewleonard staff 7744 30 Apr 11:07 librmi.so
-rw-r--r-- 1 andrewleonard staff 55664 30 Apr 11:07 libsaproc.so
-rw-r--r-- 1 andrewleonard staff 28960 30 Apr 11:07 libsctp.so
-rw-r--r-- 1 andrewleonard staff 373816 30 Apr 11:07 libsplashscreen.so
-rw-r--r-- 1 andrewleonard staff 776960 30 Apr 11:07 libsunec.so
-rw-r--r-- 1 andrewleonard staff 672416 30 Apr 11:07 libunpack.so
-rw-r--r-- 1 andrewleonard staff 81432 30 Apr 11:07 libverify.so
-rw-r--r-- 1 andrewleonard staff 37616 30 Apr 11:07 libzip.so
-rw-r--r-- 1 andrewleonard staff 142006992 30 Apr 11:07 modules
-rw-r--r-- 1 andrewleonard staff 3793 30 Apr 11:07 psfont.properties.ja
-rw-r--r-- 1 andrewleonard staff 11390 30 Apr 11:07 psfontj2d.properties
drwxr-xr-x 6 andrewleonard staff 192 30 Apr 11:07 security
drwxr-xr-x 5 andrewleonard staff 160 30 Apr 11:07 server
-rw-r--r-- 1 andrewleonard staff 58148665 30 Apr 11:07 src.zip
-rw-r--r-- 1 andrewleonard staff 107853 30 Apr 11:07 tzdb.dat
Les deux seuls fichiers dont la taille diffère sont "modules" et "src.zip":
-rw-r--r-- 1 andrewleonard staff 142006963 20 Jan 12:17 modules
-rw-r--r-- 1 andrewleonard staff 58148661 20 Jan 12:17 src.zip
-rw-r--r-- 1 andrewleonard staff 142006992 30 Apr 11:07 modules
-rw-r--r-- 1 andrewleonard staff 58148665 30 Apr 11:07 src.zip
Certains jmods libèrent vs reproduisent :
-rw-r--r-- 1 andrewleonard staff 21632332 20 Jan 12:17 java.base.jmod
-rw-r--r-- 1 andrewleonard staff 119087 20 Jan 12:17 java.compiler.jmod
-rw-r--r-- 1 andrewleonard staff 58585 20 Jan 12:17 java.datatransfer.jmod
-rw-r--r-- 1 andrewleonard staff 13577286 20 Jan 12:17 java.desktop.jmod
-rw-r--r-- 1 andrewleonard staff 416817 20 Jan 12:17 jdk.internal.vm.ci.jmod
-rw-r--r-- 1 andrewleonard staff 6178633 20 Jan 12:17 jdk.internal.vm.compiler.jmod
-rw-r--r-- 1 andrewleonard staff 20467 20 Jan 12:17 jdk.internal.vm.compiler.management.jmod
-rw-r--r-- 1 andrewleonard staff 21632178 30 Apr 11:07 java.base.jmod
-rw-r--r-- 1 andrewleonard staff 119087 30 Apr 11:07 java.compiler.jmod
-rw-r--r-- 1 andrewleonard staff 58585 30 Apr 11:07 java.datatransfer.jmod
-rw-r--r-- 1 andrewleonard staff 13577286 30 Apr 11:07 java.desktop.jmod
-rw-r--r-- 1 andrewleonard staff 416817 30 Apr 11:07 jdk.internal.vm.ci.jmod
-rw-r--r-- 1 andrewleonard staff 6178634 30 Apr 11:07 jdk.internal.vm.compiler.jmod
-rw-r--r-- 1 andrewleonard staff 20467 30 Apr 11:07 jdk.internal.vm.compiler.management.jmod
Petites différences de taille.
Il existe plusieurs aspects importants de la "reproductibilité" qui fonctionnent tous ensemble :
Partant des "aspects d'importation" , nous devons clarifier à nouveau les "Exigences" en gardant ces aspects à l'esprit, ainsi que reproducible-builds.org "Comment ?" :
" valider que la sortie correspond à la construction d'origine " :
La source des "scripts de construction", des "outils" et des "dépendances" doit être "approuvée" et "vérifiée"
L'accès à "infra" doit être sous "contrôle d'accès", et "audité"
Toutes les modifications apportées aux serveurs "build-scripts", "tooling" et "dependency" doivent être "modifiées"
Prototype de configuration d'un nouvel environnement de construction de point d'accès ubuntu 20.04 jdk17 dans un conteneur docker :
docker pull ubuntu:20.04
docker run -i -t <container ID> /bin/bash
root<strong i="17">@06acd4f5d2a9</strong>:/# apt install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
ca-certificates git-man krb5-locales less libasn1-8-heimdal libbrotli1 libbsd0 libcbor0.6 libcurl3-gnutls libedit2 liberror-perl libexpat1
libfido2-1 libgdbm-compat4 libgdbm6 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal
libhx509-5-heimdal libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common libnghttp2-14 libperl5.30
libpsl5 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libssh-4 libssl1.1 libwind0-heimdal libx11-6
libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxmuu1 netbase openssh-client openssl patch perl perl-modules-5.30 publicsuffix xauth
Suggested packages:
gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn gdbm-l10n krb5-doc
krb5-user libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp libsasl2-modules-sql keychain
libpam-ssh monkeysphere ssh-askpass ed diffutils-doc perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make libb-debug-perl
liblocale-codes-perl
The following NEW packages will be installed:
ca-certificates git git-man krb5-locales less libasn1-8-heimdal libbrotli1 libbsd0 libcbor0.6 libcurl3-gnutls libedit2 liberror-perl libexpat1
libfido2-1 libgdbm-compat4 libgdbm6 libgssapi-krb5-2 libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal libheimntlm0-heimdal
libhx509-5-heimdal libk5crypto3 libkeyutils1 libkrb5-26-heimdal libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common libnghttp2-14 libperl5.30
libpsl5 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db libsqlite3-0 libssh-4 libssl1.1 libwind0-heimdal libx11-6
libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxmuu1 netbase openssh-client openssl patch perl perl-modules-5.30 publicsuffix xauth
0 upgraded, 56 newly installed, 0 to remove and 0 not upgraded.
Comme vous pouvez le voir, installer "git" seul installe 56 nouveaux paquets, avons-nous besoin de tous les enregistrer ?
Nous pourrions installer toutes les dépendances requises, puis simplement "scanner"/"lister" TOUS les pkgs et "enregistrer" ceux-ci comme "informations de construction" ? Qu'est-ce que cela donne? Pas sûr que ce soit reproductible, car pas facile à reconstruire avec cet ensemble exact de 100 versions spécifiques.
Un excellent projet travaillant et discutant de diverses approches et problèmes avec des builds reproductibles : https://wiki.yoctoproject.org/wiki/Reproducible_Builds
D'après les preuves, je pense que la difficulté d'atteindre une "reproductibilité binaire exacte" et de la maintenir là n'apporte en fait pas suffisamment d'avantages pour le coût, l'effort continu pour réparer en amont et d'autres produits d'outillage qui pourraient introduire un seul horodatage là où vous ne le faites pas ' ne pas le vouloir n'est tout simplement pas une utilisation utile de l'effort. Nous devons nous concentrer sur les avantages que les "constructions reproductibles" visent à atteindre, par exemple une chaîne d'approvisionnement fiable.
Comme vous pouvez le voir, installer "git" seul installe 56 nouveaux paquets, avons-nous besoin de tous les enregistrer ?
Étant donné que git n'est pas directement utilisé dans le cadre de la construction elle-même (une autre version de git extraira généralement la même source, une version différente des outils de construction ne produira pas nécessairement la même sortie), je dirais provisoirement non (au moins comme un premier pass) bien que l'enregistrement de toutes les versions utilisées pour une construction soit probablement utile.
openjdk16 au minimum est requis pour les applications Java "reproductibles", car avant cela, des choses comme jmods/jars avaient des "hachages" aléatoires
strace -ff -e trace=openat cat /etc/vdpau_wrapper.cfg
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/etc/vdpau_wrapper.cfg", O_RDONLY) = 3
enable_flash_uv_swap=1
disable_flash_pq_bg_color=1
+++ sortie avec 0 +++
stap -e 'probe syscall.open { printf ("UID %d : %s(%d) open (%s)\n", uid(), execname(), pid(), argstr) }'
Outillage :
The following NEW packages will be installed:
binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-9 dpkg-dev g++ g++-9 gcc gcc-9 gcc-9-base libasan5
libatomic1 libbinutils libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdpkg-perl libgcc-9-dev libgomp1
libisl22 libitm1 liblsan0 libmpc3 libmpfr6 libquadmath0 libstdc++-9-dev libtsan0 libubsan1 linux-libc-dev make xz-utils
apt liste -a
binutils-common/focal-updates,focal-security,now 2.34-6ubuntu1.1 amd64 [installed,automatic]
binutils-common/focal 2.34-6ubuntu1 amd64
binutils-x86-64-linux-gnu/focal-updates,focal-security,now 2.34-6ubuntu1.1 amd64 [installed,automatic]
binutils-x86-64-linux-gnu/focal 2.34-6ubuntu1 amd64
binutils/focal-updates,focal-security,now 2.34-6ubuntu1.1 amd64 [installed,automatic]
binutils/focal 2.34-6ubuntu1 amd64
build-essential/focal-updates,now 12.8ubuntu1.1 amd64 [installed]
build-essential/focal 12.8ubuntu1 amd64
cpp-9/focal-updates,focal-security,now 9.3.0-17ubuntu1~20.04 amd64 [installed,automatic]
cpp-9/focal 9.3.0-10ubuntu2 amd64
cpp/focal,now 4:9.3.0-1ubuntu2 amd64 [installed,automatic]
dpkg-dev/focal,now 1.19.7ubuntu3 all [installed,automatic]
g++-9/focal-updates,focal-security,now 9.3.0-17ubuntu1~20.04 amd64 [installed,automatic]
g++-9/focal 9.3.0-10ubuntu2 amd64
g++/focal,now 4:9.3.0-1ubuntu2 amd64 [installed,automatic]
gcc-9-base/focal-updates,focal-security,now 9.3.0-17ubuntu1~20.04 amd64 [installed,automatic]
gcc-9-base/focal 9.3.0-10ubuntu2 amd64
gcc-9/focal-updates,focal-security,now 9.3.0-17ubuntu1~20.04 amd64 [installed,automatic]
gcc-9/focal 9.3.0-10ubuntu2 amd64
gcc/focal,now 4:9.3.0-1ubuntu2 amd64 [installed,automatic]
libasan5/focal-updates,focal-security,now 9.3.0-17ubuntu1~20.04 amd64 [installed,automatic]
libasan5/focal 9.3.0-10ubuntu2 amd64
libatomic1/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
libatomic1/focal 10-20200411-0ubuntu1 amd64
libbinutils/focal-updates,focal-security,now 2.34-6ubuntu1.1 amd64 [installed,automatic]
libbinutils/focal 2.34-6ubuntu1 amd64
libc-dev-bin/focal-updates,now 2.31-0ubuntu9.2 amd64 [installed,automatic]
libc-dev-bin/focal 2.31-0ubuntu9 amd64
libc6-dev/focal-updates,now 2.31-0ubuntu9.2 amd64 [installed,automatic]
libc6-dev/focal 2.31-0ubuntu9 amd64
libcc1-0/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
libcc1-0/focal 10-20200411-0ubuntu1 amd64
libcrypt-dev/focal,now 1:4.4.10-10ubuntu4 amd64 [installed,automatic]
libctf-nobfd0/focal-updates,focal-security,now 2.34-6ubuntu1.1 amd64 [installed,automatic]
libctf-nobfd0/focal 2.34-6ubuntu1 amd64
libctf0/focal-updates,focal-security,now 2.34-6ubuntu1.1 amd64 [installed,automatic]
libctf0/focal 2.34-6ubuntu1 amd64
libdpkg-perl/focal,now 1.19.7ubuntu3 all [installed,automatic]
libgcc-9-dev/focal-updates,focal-security,now 9.3.0-17ubuntu1~20.04 amd64 [installed,automatic]
libgcc-9-dev/focal 9.3.0-10ubuntu2 amd64
libgomp1/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
libgomp1/focal 10-20200411-0ubuntu1 amd64
libisl22/focal,now 0.22.1-1 amd64 [installed,automatic]
libitm1/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
libitm1/focal 10-20200411-0ubuntu1 amd64
liblsan0/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
liblsan0/focal 10-20200411-0ubuntu1 amd64
libmpc3/focal,now 1.1.0-1 amd64 [installed,automatic]
libmpfr6/focal,now 4.0.2-1 amd64 [installed,automatic]
libquadmath0/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
libquadmath0/focal 10-20200411-0ubuntu1 amd64
libstdc++-9-dev/focal-updates,focal-security,now 9.3.0-17ubuntu1~20.04 amd64 [installed,automatic]
libstdc++-9-dev/focal 9.3.0-10ubuntu2 amd64
libtsan0/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
libtsan0/focal 10-20200411-0ubuntu1 amd64
libubsan1/focal-updates,focal-security,now 10.2.0-5ubuntu1~20.04 amd64 [installed,automatic]
libubsan1/focal 10-20200411-0ubuntu1 amd64
linux-libc-dev/focal-updates,focal-security,now 5.4.0-73.82 amd64 [installed,automatic]
linux-libc-dev/focal 5.4.0-26.30 amd64
make/focal,now 4.2.1-1.2 amd64 [installed,automatic]
xz-utils/focal-updates,now 5.2.4-1ubuntu1 amd64 [installed,automatic]
xz-utils/focal 5.2.4-1 amd64
The following NEW packages will be installed:
curl libcurl4
apt liste -a
curl/focal-updates,focal-security,now 7.68.0-1ubuntu2.5 amd64 [installed]
curl/focal 7.68.0-1ubuntu2 amd64
libcurl4/focal-updates,focal-security,now 7.68.0-1ubuntu2.5 amd64 [installed,automatic]
libcurl4/focal 7.68.0-1ubuntu2 amd64
The following NEW packages will be installed:
autoconf libsigsegv2 m4
apt liste -a
autoconf/focal,now 2.69-11.1 all [installed]
libsigsegv2/focal,now 2.12-2 amd64 [installed,automatic]
m4/focal,now 1.4.18-4 amd64 [installed,automatic]
The following NEW packages will be installed:
file libmagic-mgc libmagic1
apt liste -a
file/focal,now 1:5.38-4 amd64 [installed]
libmagic-mgc/focal,now 1:5.38-4 amd64 [installed,automatic]
libmagic1/focal,now 1:5.38-4 amd64 [installed,automatic]
The following NEW packages will be installed:
unzip
apt liste -a
unzip/focal,now 6.0-25ubuntu1 amd64 [installed]
The following NEW packages will be installed:
zip
apt liste -a
zip/focal,now 3.0-11build1 amd64 [installed]
The following NEW packages will be installed:
libice-dev libice6 libpthread-stubs0-dev libsm-dev libsm6 libxau-dev libxcb1-dev libxdmcp-dev libxfixes-dev libxfixes3
lib xi-dev libxi6 libxrandr2 libxrender1 libxt6 libxtst6 x11-common x11proto-core-dev x11proto-dev x11proto-input-dev
x11proto-randr-dev x11proto-record-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
apt liste -a
libice-dev/focal,now 2:1.0.10-0ubuntu1 amd64 [installed,automatic]
libice6/focal,now 2:1.0.10-0ubuntu1 amd64 [installed,automatic]
libpthread-stubs0-dev/focal,now 0.4-1 amd64 [installed,automatic]
libsm-dev/focal,now 2:1.2.3-1 amd64 [installed,automatic]
libsm6/focal,now 2:1.2.3-1 amd64 [installed,automatic]
libxau-dev/focal,now 1:1.0.9-0ubuntu1 amd64 [installed,automatic]
libxcb1-dev/focal,now 1.14-2 amd64 [installed,automatic]
libxdmcp-dev/focal,now 1:1.1.3-0ubuntu1 amd64 [installed,automatic]
libxfixes-dev/focal,now 1:5.0.3-2 amd64 [installed,automatic]
libxfixes3/focal,now 1:5.0.3-2 amd64 [installed,automatic]
libxi-dev/focal,now 2:1.7.10-0ubuntu1 amd64 [installed,automatic]
libxi6/focal,now 2:1.7.10-0ubuntu1 amd64 [installed,automatic]
libxrandr2/focal,now 2:1.5.2-0ubuntu1 amd64 [installed,automatic]
libxrender1/focal,now 1:0.9.10-1 amd64 [installed,automatic]
libxt6/focal,now 1:1.1.5-1 amd64 [installed,automatic]
libxtst6/focal,now 2:1.2.3-1 amd64 [installed,automatic]
x11-common/focal,now 1:7.7+19ubuntu14 all [installed,automatic]
x11proto-core-dev/focal,now 2019.2-1ubuntu1 all [installed,automatic]
x11proto-dev/focal,now 2019.2-1ubuntu1 all [installed,automatic]
x11proto-input-dev/focal,now 2019.2-1ubuntu1 all [installed,automatic]
x11proto-randr-dev/focal,now 2019.2-1ubuntu1 all [installed,automatic]
x11proto-record-dev/focal,now 2019.2-1ubuntu1 all [installed,automatic]
x11proto-xext-dev/focal,now 2019.2-1ubuntu1 all [installed,automatic]
xorg-sgml-doctools/focal,now 1:1.11-1 all [installed,automatic]
xtrans-dev/focal,now 1.4.0-1 all [installed,automatic]
The following NEW packages will be installed:
libavahi-client3 libavahi-common-data libavahi-common3 libcups2 libcups2-dev libcupsimage2 libcupsimage2-dev libdbus-1-3
libjbig-dev libjbig0 libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev liblzma-dev libpng-dev libpng16-16
libtiff-dev libtiff5 libtiffxx5 libwebp6 zlib1g-dev
apt liste -a
libavahi-client3/focal,now 0.7-4ubuntu7 amd64 [installed,automatic]
libavahi-common-data/focal,now 0.7-4ubuntu7 amd64 [installed,automatic]
libavahi-common3/focal,now 0.7-4ubuntu7 amd64 [installed,automatic]
libcups2-dev/focal-updates,focal-security,now 2.3.1-9ubuntu1.1 amd64 [installed]
libcups2-dev/focal 2.3.1-9ubuntu1 amd64
libcups2/focal-updates,focal-security,now 2.3.1-9ubuntu1.1 amd64 [installed,automatic]
libcups2/focal 2.3.1-9ubuntu1 amd64
libcupsimage2-dev/focal-updates,focal-security,now 2.3.1-9ubuntu1.1 amd64 [installed,automatic]
libcupsimage2-dev/focal 2.3.1-9ubuntu1 amd64
libcupsimage2/focal-updates,focal-security,now 2.3.1-9ubuntu1.1 amd64 [installed,automatic]
libcupsimage2/focal 2.3.1-9ubuntu1 amd64
libdbus-1-3/focal-updates,focal-security,now 1.12.16-2ubuntu2.1 amd64 [installed,automatic]
libdbus-1-3/focal 1.12.16-2ubuntu2 amd64
libjbig-dev/focal,now 2.1-3.1build1 amd64 [installed,automatic]
libjbig0/focal,now 2.1-3.1build1 amd64 [installed,automatic]
libjpeg-dev/focal,now 8c-2ubuntu8 amd64 [installed,automatic]
libjpeg-turbo8-dev/focal-updates,focal-security,now 2.0.3-0ubuntu1.20.04.1 amd64 [installed,automatic]
libjpeg-turbo8-dev/focal 2.0.3-0ubuntu1 amd64
libjpeg-turbo8/focal-updates,focal-security,now 2.0.3-0ubuntu1.20.04.1 amd64 [installed,automatic]
libjpeg-turbo8/focal 2.0.3-0ubuntu1 amd64
libjpeg8-dev/focal,now 8c-2ubuntu8 amd64 [installed,automatic]
libjpeg8/focal,now 8c-2ubuntu8 amd64 [installed,automatic]
liblzma-dev/focal-updates,now 5.2.4-1ubuntu1 amd64 [installed,automatic]
liblzma-dev/focal 5.2.4-1 amd64
libpng-dev/focal,now 1.6.37-2 amd64 [installed,automatic]
libpng16-16/focal,now 1.6.37-2 amd64 [installed,automatic]
libtiff-dev/focal-updates,focal-security,now 4.1.0+git191117-2ubuntu0.20.04.1 amd64 [installed,automatic]
libtiff-dev/focal 4.1.0+git191117-2build1 amd64
libtiff5/focal-updates,focal-security,now 4.1.0+git191117-2ubuntu0.20.04.1 amd64 [installed,automatic]
libtiff5/focal 4.1.0+git191117-2build1 amd64
libtiffxx5/focal-updates,focal-security,now 4.1.0+git191117-2ubuntu0.20.04.1 amd64 [installed,automatic]
libtiffxx5/focal 4.1.0+git191117-2build1 amd64
libwebp6/focal,now 0.6.1-2 amd64 [installed,automatic]
zlib1g-dev/focal-updates,now 1:1.2.11.dfsg-2ubuntu1.2 amd64 [installed,automatic]
zlib1g-dev/focal 1:1.2.11.dfsg-2ubuntu1 amd64
The following NEW packages will be installed:
fontconfig fontconfig-config fonts-dejavu-core libfontconfig1 libfreetype6 ucf
apt liste -a
fontconfig-config/focal,now 2.13.1-2ubuntu3 all [installed,automatic]
fontconfig/focal,now 2.13.1-2ubuntu3 amd64 [installed]
fonts-dejavu-core/focal,now 2.37-1 all [installed,automatic]
libfontconfig1/focal,now 2.13.1-2ubuntu3 amd64 [installed,automatic]
libfreetype6/focal-updates,focal-security,now 2.10.1-2ubuntu0.1 amd64 [installed,automatic]
libfreetype6/focal 2.10.1-2 amd64
ucf/focal,now 3.0038+nmu1 all [installed,automatic]
The following additional packages will be installed:
libexpat1-dev libfreetype-dev libfreetype6-dev libglib2.0-0 pkg-config uuid-dev
apt liste -a
libexpat1-dev/focal,now 2.2.9-1build1 amd64 [installed,automatic]
libfreetype-dev/focal-updates,focal-security,now 2.10.1-2ubuntu0.1 amd64 [installed,automatic]
libfreetype-dev/focal 2.10.1-2 amd64
libfreetype6-dev/focal-updates,focal-security,now 2.10.1-2ubuntu0.1 amd64 [installed,automatic]
libfreetype6-dev/focal 2.10.1-2 amd64
libglib2.0-0/focal-updates,focal-security,now 2.64.6-1~ubuntu20.04.3 amd64 [installed,automatic]
libglib2.0-0/focal 2.64.2-1~fakesync1 amd64
pkg-config/focal,now 0.29.1-0ubuntu4 amd64 [installed,automatic]
uuid-dev/focal-updates,now 2.34-0.1ubuntu9.1 amd64 [installed,automatic]
uuid-dev/focal 2.34-0.1ubuntu9 amd64
The following additional packages will be installed:
alsa-topology-conf alsa-ucm-conf libasound2 libasound2-data
apt liste -a
alsa-topology-conf/focal,now 1.2.2-1 all [installed,automatic]
alsa-ucm-conf/focal-updates,now 1.2.2-1ubuntu0.7 all [installed,automatic]
alsa-ucm-conf/focal 1.2.2-1 all
libasound2-data/focal-updates,now 1.2.2-2.1ubuntu2.4 all [installed,automatic]
libasound2-data/focal 1.2.2-2.1 all
libasound2/focal-updates,now 1.2.2-2.1ubuntu2.4 amd64 [installed,automatic]
libasound2/focal 1.2.2-2.1 amd64
J'ai essayé d'installer et d'exécuter SystemTap, sans succès, des problèmes avec l'environnement et sa compilation, il semble qu'une image de débogage du système soit requise. Cela semble un peu trop bas pour quelque chose que nous utiliserions dans le cadre d'une construction.
strace est beaucoup plus facile et utilisable, mais la sortie de l'exécution d'une construction jdk est énorme, car un fichier de trace est créé par processus et des milliers de processus sont créés pour effectuer une construction JDK. Voici une petite section de la sortie "grep'ing" pour "include" dans une reconstruction "delta" d'un JDK lors de la modification d'un seul fichier .c :
strace.out.4873:openat(AT_FDCWD, "/jdk/src/hotspot/share/include/bits/sigaction.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/jdk/src/hotspot/os/posix/include/bits/sigaction.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/lib/gcc/x86_64-linux-gnu/9/include/bits/sigaction.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/local/include/bits/sigaction.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/include/x86_64-linux-gnu/bits/sigaction.h", O_RDONLY|O_NOCTTY) = 6
strace.out.4873:openat(AT_FDCWD, "/jdk/build/linux-x86_64-server-release/support/modules_include/java.base/bits/sigcontext.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/jdk/build/linux-x86_64-server-release/support/modules_include/java.base/linux/bits/sigcontext.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/jdk/src/hotspot/share/include/bits/sigcontext.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/jdk/src/hotspot/os/posix/include/bits/sigcontext.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/lib/gcc/x86_64-linux-gnu/9/include/bits/sigcontext.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/local/include/bits/sigcontext.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/include/x86_64-linux-gnu/bits/sigcontext.h", O_RDONLY|O_NOCTTY) = 6
strace.out.4873:openat(AT_FDCWD, "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h", O_RDONLY|O_NOCTTY) = 6
strace.out.4873:openat(AT_FDCWD, "/jdk/build/linux-x86_64-server-release/support/modules_include/java.base/bits/types/stack_t.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/jdk/build/linux-x86_64-server-release/support/modules_include/java.base/linux/bits/types/stack_t.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/jdk/src/hotspot/share/include/bits/types/stack_t.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/jdk/src/hotspot/os/posix/include/bits/types/stack_t.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/lib/gcc/x86_64-linux-gnu/9/include/bits/types/stack_t.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
strace.out.4873:openat(AT_FDCWD, "/usr/local/include/bits/types/stack_t.h", O_RDONLY|O_NOCTTY) = -1 ENOENT (No such file or directory)
Il illustre les différents en-têtes système extraits d'endroits tels que /usr/include, /usr/lib, /usr/local/include, ...
Le test strace illustre le problème de savoir exactement avec quels fichiers système on compile. Il n'est pas pratique d'enregistrer, de vérifier et de déterminer la version de chaque fichier .h ouvert par exemple.
Ainsi, ce qui précède a illustré la journalisation exacte de ce que vous avez construit avec au Nième degré, c'est-à-dire les versions exactes de includes, libs, .. est très difficile. Par exemple, il est très difficile de savoir de quelle version ou d'où vient le fichier /usr/include/bits/sigaction.h ?
Peut-être que la meilleure réponse est d'utiliser Docker (en ignorant AIX pour le moment), tant que les "images" sont créées dans un environnement très sécurisé. Enregistrez ensuite le résumé SHA de l'image exacte utilisée pour une génération. Vous savez alors exactement avec quoi une construction est construite.
Cette approche "déplace" ensuite le problème jusqu'à la création d'image Docker, au moins du point de vue de la "définition" et de la "sécurité".
Étendez les scripts openjdk-build pour enregistrer les "informations de construction" exactes pour un jdk-17 Hotspot xLinux intégré à Docker
Toutes les informations consignées dans le fichier de métadonnées de publication
Non inclus dans ce prototype :
Ainsi, ce qui précède a illustré la journalisation exacte de ce que vous avez construit avec au Nième degré, c'est-à-dire les versions exactes de includes, libs, .. est très difficile. Par exemple, il est très difficile de savoir de quelle version ou d'où vient le fichier /usr/include/bits/sigaction.h ?
OK ... En supposant qu'il n'a pas été modifié depuis l'installation du paquet (ce qui est une autre chose qui pourrait probablement être vérifiée), la réponse viendrait de rpm -qf /usr/include/bits/sigaction.h
(basé sur RPM) ou dpkg -S /usr/include/bits/sigaction.h
( basé sur Debian). Les E_NOENT
peuvent être ignorés car c'est juste le compilateur qui recherche où se trouve le fichier dans le chemin d'inclusion. Une fois que vous avez la liste des fichiers qui ont été ouverts avec succès, dédupliquez-les, exécutez cette commande sur chacun d'eux, puis dédupliquez cette sortie. Puisque vous avez la sortie ci-dessus, peut-être que quelque chose comme ça fonctionnera probablement (non testé car je n'ai pas votre fichier mais je suis sûr que vous pouvez voir ce qu'il essaie de faire :
grep -v ENOENT strace.out.4873 | cut -d'"' -f2 | while read F; do dpkg -S "$F" >> packagelist.txt 2>> filesnotinpackage.txt; done
sort packagelist.txt | uniq
sort filesnotinpackage.txt | uniq
_NOTE : Sur les machines réelles, il y aura plus de filesnotinpackage.txt
que sur votre système puisque, par exemple, gcc
et tous ses bits sont dans /usr/local/gcc*
et non du système d'exploitation -paquet fourni selon ce rôle ansible _
BUILD_CONFIG
Quelle est la différence entre ceci et Job "Build Config"
- Je suppose que l'un est un sur-ensemble de l'autre. Je suggérerais également que ce n'est pas aussi important que les autres éléments, car les éléments pertinents pour la construction sont capturés par les paramètres du script et tout le reste concerne principalement d'autres parties des pipelines, telles que les tests/installateurs, etc. a le potentiel de semer la confusion, mais pas de mal à l'inclure dans ce premier passage :-)
dépôts secondaires utilisés, par exemple, installateur, signature, ...
Gardez également à l'esprit que pour OpenJ9 les dépôts "secondaires" incluraient probablement les dépôts eclipse/openj9
et eclipse/omr
qui sont extraits.
@sxa Job "build Config" est :
{
"ARCHITECTURE": "x64",
"TARGET_OS": "linux",
"VARIANT": "hotspot",
"JAVA_TO_BUILD": "jdk",
"TEST_LIST": [
"sanity.openjdk",
"sanity.system",
"extended.system",
"sanity.perf",
"sanity.functional",
"extended.functional"
],
"SCM_REF": "",
"BUILD_ARGS": "",
"NODE_LABEL": "build&&linux&&x64",
"ADDITIONAL_TEST_LABEL": "",
"KEEP_TEST_REPORTDIR": false,
"ACTIVE_NODE_TIMEOUT": "0",
"CODEBUILD": false,
"DOCKER_IMAGE": "adoptopenjdk/centos6_build_image",
"DOCKER_NODE": "",
"DOCKER_REGISTRY": "",
"DOCKER_CREDENTIAL": "",
"PLATFORM_CONFIG_LOCATION": "AdoptOpenJDK/openjdk-build/master/build-farm/platform-specific-configurations",
"CONFIGURE_ARGS": "--enable-dtrace",
"OVERRIDE_FILE_NAME_VERSION": "",
"USE_ADOPT_SHELL_SCRIPTS": true,
"RELEASE": false,
"PUBLISH_NAME": "",
"ADOPT_BUILD_NUMBER": "",
"ENABLE_TESTS": true,
"ENABLE_INSTALLERS": true,
"ENABLE_SIGNER": true,
"CLEAN_WORKSPACE": false,
"CLEAN_WORKSPACE_AFTER": false,
"CLEAN_WORKSPACE_BUILD_OUTPUT_ONLY_AFTER": true
}
BUILD_CONFIG :
00:39:19 # ============================
00:39:19 # OPENJDK BUILD CONFIGURATION:
00:39:19 # ============================
00:39:19 BUILD_CONFIG[ADOPT_PATCHES]="true"
00:39:19 BUILD_CONFIG[ASSEMBLE_EXPLODED_IMAGE]="false"
00:39:19 BUILD_CONFIG[BRANCH]="dev"
00:39:19 BUILD_CONFIG[BUILD_FULL_NAME]="linux-x86_64-server-release"
00:39:19 BUILD_CONFIG[BUILD_VARIANT]="hotspot"
00:39:19 BUILD_CONFIG[CLEAN_DOCKER_BUILD]="false"
00:39:19 BUILD_CONFIG[CLEAN_GIT_REPO]="true"
00:39:19 BUILD_CONFIG[CLEAN_LIBS]="false"
00:39:19 BUILD_CONFIG[CONTAINER_NAME]="openjdk_container"
00:39:19 BUILD_CONFIG[COPY_MACOSX_FREE_FONT_LIB_FOR_JDK_FLAG]="false"
00:39:19 BUILD_CONFIG[COPY_MACOSX_FREE_FONT_LIB_F......
Prototype pour Hotspot, donc ignorant openj9 pour le moment
Construction complète avec strace, plus de 56 000 fichiers de trace !?!
0,6 Go de trace
et a pris plus de 3 heures à courir !
Construction complète avec strace, plus de 56 000 fichiers de trace !?!
Cela inclut-il tous les points de trace ENOENT
?