多次构建openjdk11 debian软件包

我正在使用apt-get来开发一个稍微修改过的debian openjdk-11:

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

这将为jre和jdk生成所有java .deb软件包。构建和测试过程需要相当长的时间。

第一个问题:如何高效地对.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目标的安全方法是使用模块   具体的目标。 JDK中的所有源代码都是经过整理的,因此   属于一个模块,例如java.base或jdk.jdwp.agent。你可以建立   通过将其指定为make目标,仅提供一个特定模块:   jdk.jdwp.agent。如果指定的模块依赖于其他模块(例如   java.base),将首先构建这些模块。

但是,debian构建过程似乎删除了配置信息,但出现以下错误:

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

当前唯一可行的方法是清理并完全重建软件包。

第二个问题:在构建.deb文件时是否可能跳过所有测试,因为大多数时间都需要测试?

crediblebridge 回答:多次构建openjdk11 debian软件包

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3150987.html

大家都在问