Это рабочий элемент для EPIC https://github.com/AdoptOpenJDK/openjdk-build/issues/2522.
Цель состоит в том, чтобы «прототипировать» первоначальную попытку «воссоздать» сборку Adopt на основе указания базовой «информации о сборке», доступной в настоящее время для существующего «выпуска», и предполагая текущую доступную «инфра» настройку.
Предположения для 1-го прототипа:
Спецификация:
Расширьте текущий openjdk-pipeline и создайте задания, чтобы использовать в качестве дополнительных входных данных базовую «информацию о сборке»:
Задания сборки Jenkins в настоящее время «генерируются» всякий раз, когда происходят изменения openjdk-build или ci-jenkins-pipelines. Содержимое этих заданий также содержит расширенный набор конфигураций/настроек JSON, причем как параметры задания, так и параметры JSON относятся к настройке сборки во время выпуска/сборки.
Таким образом, имеет смысл разработать прототип как двухэтапный процесс:
Таким образом, использование настроек сценариев сборки USER задания Adopt Build для указания на SHA уровня сценариев openjdk-build, которые вы хотите использовать (например, обновление ЦП от 19 января), довольно легко сделать. Вот сборка январского выпуска jdk-11.0.10+9 Hotspot: https://ci.adoptopenjdk.net/job/build-scripts/job/jobs/job/jdk11u/job/jdk11u-linux-x64-hotspot/ 960/параметры/
Итак, это повторная сборка с использованием скриптов сборки january исходного тега january с использованием текущей инфраструктуры и инструментов.
В: Это "воспроизведено"? А: Может быть!
На самом деле все, что было сделано, — это перестроить исходный SHA, используя текущую инфраструктуру и уровни инструментов. Таким образом, он, вероятно, использует разные версии многочисленных зависимостей, особенно для платформ сборки без контейнеров.
Вышеупомянутая сборка была на xLinux, поэтому контейнер сборки, который она использовала, был взят из текущего образа acceptopenjdk/centos6_build_image. Улучшение могло бы быть достигнуто, если бы мы кэшировали вместе с каждым выпуском, который мы помечаем как воспроизводимый, образы сборки докеров, используемые для их создания, чтобы улучшить воспроизводимость платформ:
Однако у Docker есть свои ограничения, использование dockerhub является одной из потенциальных угроз безопасности, поскольку необходимость хранения/извлечения образов для создания безопасного JDK через Интернет не идеальна.
Также Docker недоступен в AIX.
Альтернативным подходом может быть установка типа «кросс-компиляция», при которой набор системных зависимостей фиксируется в определенном месте.
Пересборка Jan CPU Update с текущим заданием Jenkins:
{
"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"
В расположении defaultsUrl:
"repository" : {
"build_url" : "https://github.com/AdoptOpenJDK/openjdk-build.git",
"build_branch" : "ea53ac3d1623de5ecefdcd9aee3379a776be84b2",
build_branch SHA — это фиксация скриптов openjdk-build, используемая для сборки обновления процессора Jan.
Обратите внимание, что DOCKER_IMAGE использует @sha256 :56... Дайджест SHA образа докера, который использовался для сборки. Не было точного дайджеста SHA, но его можно было бы использовать, если бы мы его сохранили.
diffoscope исходного выпуска jdk.tar.gz и воспроизведенного показывает много различий, что на самом деле неудивительно, поскольку такие вещи, как временные метки, везде разные, а также любые списки файлов или содержимое zip (например, .jmods) имеют файлы в разном порядке.
Однако, если взглянуть на папки и библиотеки на высоком уровне, они кажутся идентичными, например:
Оригинальная «библиотека»:
-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":
-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
Единственными двумя файлами, отличающимися по размеру, являются «modules» и «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
Некоторые jmods Release vs Reproduce:
-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
Незначительные различия в размерах.
Есть несколько важных аспектов «воспроизводимости», которые работают вместе:
Исходя из «аспектов импорта» , мы должны снова уточнить «Требования» с учетом этих аспектов, а также «Как?»:
" подтвердить, что выходные данные соответствуют исходной сборке ":
Источник «скриптов сборки», «инструментов» и «зависимостей» должен быть «доверенным» и «проверенным».
Доступ к «инфра» должен находиться под «управлением доступом» и «аудироваться».
Все изменения в «скриптах сборки», «инструментах» и «зависимых» серверах должны «контролироваться изменениями».
Прототип настройки новой среды сборки точки доступа Ubuntu 20.04 jdk17 в контейнере 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.
Как видите, при установке только «git» устанавливается 56 новых пакетов, нужно ли нам записывать все это?
Мы могли бы установить все необходимые зависимости, а затем просто «отсканировать»/«перечислить» ВСЕ пакеты и «записать» их как «информацию о сборке»? Что это дает? Не уверен, что это воспроизводимо, так как нелегко перестроить с этим точным набором из сотен конкретных версий.
Отличный проект, работающий и обсуждающий различные подходы и проблемы с воспроизводимыми сборками: https://wiki.yoctoproject.org/wiki/Reproducible_Builds .
Судя по свидетельству, я думаю, что трудности с достижением «точной двоичной воспроизводимости» и поддержанием ее на этом уровне на самом деле не приносят достаточной выгоды для затрат, постоянных усилий по исправлению исходного потока и других инструментов, которые могут вводить единую метку времени там, где вы этого не делаете. т хочу, это просто не полезное приложение усилий. Мы должны сосредоточиться на преимуществах, которые «воспроизводимые сборки» призваны достичь, например, на надежной цепочке поставок.
Как видите, при установке только «git» устанавливается 56 новых пакетов, нужно ли нам записывать все это?
Поскольку git не используется напрямую как часть самой сборки (другая версия git обычно извлекает тот же исходный код, другая версия инструментов сборки не обязательно будет давать такой же результат), я бы предварительно сказал нет (по крайней мере, в качестве первого pass), хотя запись всех версий, используемых для сборки, вероятно, будет полезна.
openjdk16 как минимум требуется для «воспроизводимых» Java-приложений, так как до этого такие вещи, как jmods/jars, имели случайные «хэши».
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
+++ выход с 0 +++
stap -e 'probe syscall.open { printf ("UID %d: %s(%d) open (%s)\n", uid(), execname(), pid(), argstr) }'
Инструменты:
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
подходящий список -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
подходящий список -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
подходящий список -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
подходящий список -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
подходящий список -a
unzip/focal,now 6.0-25ubuntu1 amd64 [installed]
The following NEW packages will be installed:
zip
подходящий список -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
подходящий список -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
подходящий список -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
подходящий список -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
подходящий список -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
подходящий список -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
Пытался установить и запустить SystemTap, безуспешно, проблемы с окружением и его компиляцией, похоже, требуется отладочный образ системы. Кажется, слишком низкий уровень для чего-то, что мы могли бы использовать как часть сборки.
strace намного проще и удобнее в использовании, однако результат запуска сборки jdk огромен, поскольку файл трассировки создается для каждого процесса, а для выполнения сборки JDK создаются тысячи процессов. Вот крошечный раздел «grep'ing» для «include» вывода в «дельта» пересборке JDK при изменении только одного файла .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)
Он иллюстрирует различные системные заголовки, взятые из таких мест, как /usr/include, /usr/lib, /usr/local/include, ...
Тест strace иллюстрирует проблему точного знания того, какие системные файлы используются для компиляции. Например, нецелесообразно регистрировать, проверять и определять версию каждого отдельного открытого файла .h.
Таким образом, приведенное выше иллюстрирует запись в журнал именно того, что вы создали с N-й степенью, т. Е. Точные версии включений, библиотек, .. очень сложно. Например, очень сложно узнать, какая версия или откуда взялся файл /usr/include/bits/sigaction.h ?
Возможно, лучший ответ — использовать Docker (на данный момент игнорируя AIX), если «образы» создаются в очень безопасной среде. Затем запишите точный дайджест образа SHA, используемый для сборки. Затем вы точно знаете, из чего построена сборка.
Затем этот подход «переносит» проблему к созданию образа Docker, по крайней мере, с точки зрения «определения» и «безопасности».
Расширьте сценарии openjdk-build, чтобы регистрировать точную «информацию о сборке» для точки доступа jdk-17 xLinux, встроенной в Docker.
Вся информация регистрируется в файле метаданных выпуска.
Не включено в этот прототип:
Таким образом, приведенное выше иллюстрирует запись в журнал именно того, что вы создали с N-й степенью, т. Е. Точные версии включений, библиотек, .. очень сложно. Например, очень сложно узнать, какая версия или откуда взялся файл /usr/include/bits/sigaction.h ?
ОК ... Если предположить, что он не был изменен с момента установки пакета (что еще одна вещь, которую, вероятно, можно было бы проверить), ответ будет исходить от rpm -qf /usr/include/bits/sigaction.h
(на основе RPM) или dpkg -S /usr/include/bits/sigaction.h
( на основе Debian). Те, что E_NOENT
, можно игнорировать, так как компилятор просто ищет, где находится файл во включенном пути. Когда у вас есть список файлов, которые были успешно открыты, выполните их дедупликацию, запустите эту команду для каждого из них, а затем дедуплицируйте этот вывод. Поскольку у вас есть вывод, показанный выше, возможно, что-то вроде этого, вероятно, сработает (не проверено, поскольку у меня нет вашего файла, но я уверен, что вы видите, что он пытается сделать:
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
_ПРИМЕЧАНИЕ: на реальных сборочных машинах в filesnotinpackage.txt
будет больше, чем в вашей системе, поскольку, например, gcc
и все его биты находятся в /usr/local/gcc*
, а не из ОС. -предоставленный пакет в соответствии с этой доступной ролью _
BUILD_CONFIG
В чем разница между этим и Job "Build Config"
- я бы предположил, что один является надмножеством другого. Я бы также предположил, что это не так важно, как другие вещи, поскольку биты, относящиеся к сборке, фиксируются параметрами скрипта, а все остальное в основном касается других частей конвейеров, таких как тесты/установщики и т. д., так что это может вызвать некоторую путаницу, но нет ничего плохого в том, чтобы включить его в этот первый проход :-)
используемые вторичные репозитории, например, установщик, подпись, ...
Имейте также в виду, что для OpenJ9 «вторичные» репозитории, вероятно, будут включать репозитории eclipse/openj9
и eclipse/omr
, которые будут загружены.
@sxa Задание «сборка конфигурации»:
{
"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
}
СТРОЙКА_КОНФИГ:
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......
Прототип для Hotspot, поэтому на данный момент игнорируем openj9
Полная сборка со strace, 56000+ файлов трассировки!?!
0,6 ГБ трассировки
и бежал 3+ часа!
Полная сборка со strace, 56000+ файлов трассировки!?!
Включает ли это все точки трассировки ENOENT
?