Maven rpm 插件尝试在构建时 运行 安装脚本

Maven rpm plugin tries to run installation script on build

我正在尝试创建一个 RPM 包来安装一个软件,但是每当我尝试使用 rpm 插件构建它时,它会 运行 在构建时安装脚本会失败,因为我的机器不是预期目标(也不应该是)

设置是这样的

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>rpm-maven-plugin</artifactId>
    <version>2.1.2</version>
    <extensions>true</extensions>
    <configuration>
        <group>Applications/Software</group>
        <mappings>
            <mapping>
                <directory>/tmp/${project.artifactId}</directory>
                <filemode>755</filemode>
                <username>user</username>
                <groupname>group</groupname>
                <sources>
                    <source>
                        <location>src/main/resources/</location>
                    </source>
                </sources>
            </mapping>
        </mappings>
        <requires>
            <require>unzip</require>
        </requires>
        <preinstallScriptlet>
            <scriptFile>src/main/scripts/preinstall.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
        </preinstallScriptlet>
        <installScriptlet>
            <scriptFile>src/main/scripts/install.sh</scriptFile>
            <fileEncoding>utf-8</fileEncoding>
        </installScriptlet>
    </configuration>
</plugin>

我还将 pom 打包配置为 rpm,我正在 运行宁 "mvn clean package" 生成 rpm。 这只是一个构建器项目,意味着它要做的就是将 src/main/resources 内的所有文件与 rpm 中的所有文件一起打包,这些文件将在某些目标机器上的 rpm 为 运行 时执行。

我是不是漏掉了什么?

我正在安装了 rpmbuild 的 Ubuntu 14.04 机器上构建 rpm

我刚刚阅读了 RPM 文档,发现这是完全正确的。安装 scriptlet 在构建 RPM 时被调用,您可能需要的是预安装或安装后 scriptlet。安装本身(复制文件)由 RPM 完成。

参考:http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html