2015-04-12 57 views
2

我想创建一个RPM软件包来安装一个软件,但每当我尝试使用rpm插件构建它时,它将运行安装脚本,我的机器是不是预期目标(也不应该)Maven 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包装要转,我正在“MVN清洁包”生成转。 这只是一个构建器项目,意味着它所做的一切就是将src/main/resources中的所有文件与rpm一起打包,并在某些目标机器上运行rpm时执行脚本。

我错过了什么吗?

我建立的rpm一个Ubuntu 14.04机器上安装的rpmbuild

+0

我有同样的问题..安装脚本编译过程中运行,但不能安装。 – Stephan

回答

2

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

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

+0

是的,我自己也注意到了。奇怪的过程,但解决了它。谢谢 – ByteFlinger