我正在尝试创建一个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。 这只是一个构建器项目,意味着它所要做的就是将rpm中src / main / resources中的所有文件与scriptlet一起打包,这些scriptlet将在某个目标机器上运行rpm时执行。
我错过了什么吗?
我在安装了rpmbuild的Ubuntu 14.04机器上构建rpm
答案 0 :(得分:3)
我刚刚阅读了RPM文档,发现这是完全正确的。在构建RPM时调用安装scriptlet,您可能需要的是预安装或安装后脚本。安装本身(复制文件)由RPM完成。