Сборка пакета Debian openjdk11 несколько раз - PullRequest
0 голосов
/ 06 ноября 2019

Я работаю над слегка модифицированным Debian openjdk-11 с источником apt-get:

apt-get source openjdk-11-jre-headless:amd64

после изменения некоторых классов Java, я собираю пакет с помощью команд:

dpkg-source --commit   #create a patch file from the modifiactions
dch #increase build number to make sure my own build is not replaced by the default package
dpkg-buildpackage  -us -uc  #based on https://www.debian.org/doc/manuals/maint-guide/build.en.html#completebuild

Это создает все пакеты java .deb для jre и jdk. Процесс сборки и тестирования занимает довольно много времени.

Первый вопрос : Как получить небольшую модификацию (после однократной сборки проекта) в пакеты .deb эффективным способом?

Я попробовал следующее:

1) https://www.debian.org/doc/manuals/maint-guide/build.en.html#quickrebuild это предлагает запустить

fakeroot debian/rules build

Однако, модифицированный код не построен. Вместо этого я вижу только следующий вывод

jtreg_version="$(dpkg-query -f '${Version}\n' -W jtreg)"; \
if ! dpkg --compare-versions 4.2-b13-0~ le $jtreg_version; then \
  echo "Error: testsuite requires jtreg 4.2-b13-0~ but $jtreg_version is installed"; \
  echo "Please update the jtreg dependency and regenerate debian/control"; \
  false; \
fi
if [ -f buildwatch.pid ]; then \
  pid=$(cat buildwatch.pid); \
  kill -1 $pid || :; sleep 1; kill -9 $pid || :; \
fi
rm -f buildwatch.pid

2) doc / building.html внутри проекта предлагает:

Построение отдельных модулей

Безопасный способиспользовать мелкозернистые make-цели - использовать специфичные для модуля make-цели. Весь исходный код в JDK организован так, что он принадлежит модулю, например, java.base или jdk.jdwp.agent. Вы можете собрать только определенный модуль, указав его как цель make: make jdk.jdwp.agent. Если указанный модуль зависит от других модулей (например, java.base), эти модули будут собраны первыми.

Однако процесс сборки Debian, похоже, удаляет информацию о конфигурации, я получаю следующую ошибку:

Error: No configurations found 
Please run 'bash configure' to create a configuration.

Единственный способ, который в настоящее время работает, - это очистить и полностью перестроить пакет.

Второй вопрос : можно ли пропустить все тесты при построенииФайлы .deb, как тесты занимают большую часть времени?

...