Удалите зависимость от Python при сборке RPM с помощью rpm-maven-plugin.

Я использую rpm-maven-plugin для сборки rpm как части моей сборки mvn, которая позже будет установлена ​​в образе докера, в котором нет Python. Python также не используется в проекте. Но по какой-то причине в сгенерированном файле спецификации есть строка

Requires: python >= 2.6

я пытался вставить

<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>

но так же не работает. Это приводит к сбою сборки докера, так как установка 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>

версия мавена: 3.5.4.

образ целевого докера запускает базовую версию SLES linux только с тем, что требуется, и не имеет Python.


person Sachin Murali G    schedule 23.09.2019    source источник


Ответы (1)


Получил работу, вручную переопределив раздел «требуется»

...
<autoRequires>no</autoRequires>
<autoProvides>no</autoProvides>
<requires>
  <require>java-11-openjdk-headless</require>
</requires>
...
person Sachin Murali G    schedule 23.09.2019