我正在使用 rpm-maven-plugin 构建 rpm 作为 mvn 构建的一部分,稍后将其安装在没有 Python 的 docker 映像中。该项目中也没有使用Python。但由于某种原因,生成的规范文件有以下行Requires: python >= 2.6我尝试放入<autoRequires>no</autoRequires><autoProvides>no</autoProvides>但效果不太好。这会导致 docker 构建失败,因为 rpm 安装由于缺少依赖项而失败。如何去掉对python的依赖?以下是我的 pom.xml 的摘录...<version.rpm-maven-plugin>2.2.0</version.rpm-maven-plugin>...<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> <executions> <execution> <id>generate-rpm</id> <phase>package</phase> <goals> <goal>rpm</goal> </goals> </execution> </executions> <configuration> <group>XXX</group> <vendor>XXX</vendor> <copyTo> target/${install.package.name}-${project.version}.rpm </copyTo> <targetOS>linux</targetOS> <autoRequires>no</autoRequires> <autoProvides>no</autoProvides> <mappings> ... </mappings> <preinstallScriptlet> <scriptFile>${basedir}/src/main/package/control/preinst</scriptFile> <fileEncoding>utf-8</fileEncoding> </preinstallScriptlet> <postinstallScriptlet> <scriptFile>${basedir}/src/main/package/control/postinst</scriptFile> <fileEncoding>utf-8</fileEncoding> </postinstallScriptlet> <preremoveScriptlet> <scriptFile>${basedir}/src/main/package/control/prerm</scriptFile> <fileEncoding>utf-8</fileEncoding> </preremoveScriptlet> <postremoveScriptlet> <scriptFile>${basedir}/src/main/package/control/postrm</scriptFile> <fileEncoding>utf-8</fileEncoding> </postremoveScriptlet> <cleanScriptlet> <script>rm -rf ${project.build.directory}/rpm/buildroot</script> </cleanScriptlet> </configuration></plugin>Maven版本:3.5.4。目标 docker 镜像运行简单的 SLES linux,只包含所需的内容,并且没有 Python。
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
通过手动覆盖需求部分让它工作
...
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>
<requires>
<require>java-11-openjdk-headless</require>
</requires>
...
添加回答
举报
0/150
提交
取消