首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用rpm-maven-plugin构建RPM时,删除对Python的依赖

使用rpm-maven-plugin构建RPM时,删除对Python的依赖
EN

Stack Overflow用户
提问于 2019-09-23 19:56:18
回答 1查看 362关注 0票数 0

我正在使用rpm-maven-plugin构建一个rpm,作为mvn构建的一部分,稍后将安装在没有Python的docker镜像中。项目中也没有使用Python。但是由于某些原因,生成的spec文件有下面这一行

代码语言:javascript
复制
Requires: python >= 2.6

我试着放进去

代码语言:javascript
复制
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>

但效果不是很好。这会导致docker构建失败,因为rpm安装由于缺少依赖项而失败。如何解除对python的依赖?

下面是我的pom.xml的摘录

代码语言:javascript
复制
...
<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。

target docker image只需要运行基本的SLES linux,没有Python。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-24 00:08:30

通过手动重写requires部分使其正常工作

代码语言:javascript
复制
...
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>
<requires>
  <require>java-11-openjdk-headless</require>
</requires>
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58061939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档