2

目前我正在使用 RPM Maven 插件根据需要生成 RPM。我的情况要求我对该目录中包含的文件应用不同的目录权限。
不幸的是,我不能使用默认目录权限,因为并非所有目录的所有权限都相同。
因此,我以导致以下规范文件片段的方式配置插件:

%files
%config %dir %attr(0755,team_prod,prodgroup) /basedir/product/tool/config
%config %dir %attr(0755,team_prod,prodgroup) /basedir/product/tool/config/examples
%config %attr(0644,team_prod,prodgroup) /basedir/product/tool/config/examples/test.conf
%config %attr(0644,team_prod,prodgroup) /basedir/product/tool/config/examples/dest.conf

从网站http://www.rpm.org/max-rpm-snapshot/s1-rpm-specref-files-list-directives.html我了解以下内容,因为我正在使用 %dir 宏,%dir 指令用于指示 RPM 仅对目录本身进行打包,而不管在创建包时目录中可能存在哪些文件。因此,默认情况下它不会列出该目录下的所有内容。这意味着使用 %dir 指令,然后在下面明确列出文件(具有不同的权限不应导致“文件列出两次”警告消息:

[WARNING] warning: File listed twice: /basedir/product/tool/config/examples/dest.conf
[WARNING] warning: File listed twice: /basedir/product/tool/config/examples/test.conf

我的问题与使用 maven RPM 插件无关,上述规范片段是否不足以消除警告消息?
此外,由于规范文件没有任何逻辑来查找文件或列出它们,忽略这些消息是否安全?
RPM 可以正常安装和卸载,并且所有其他 RPM 命令都可以正常工作,但是这些警告消息仍然出现?
目前我正在忽略它们。

请注意,如果目录和文件的权限相同(我认为),则不会出现警告消息。

提前感谢您的任何回复。

Maven 特定设置:

<mappings>
<mapping>                            
    <configuration>true</configuration>                       
    <directory>/basedir/product/tool/config</directory>
    <filemode>0755</filemode>
    <username>team_prod</username>
    <groupname>prodgroup</groupname>
</mapping>

 <mapping>                           
    <configuration>true</configuration>                       
    <directory>/basedir/product/tool/config/examples</directory>
    <filemode>0755</filemode>
    <username>team_prod</username>
    <groupname>prodgroup</groupname>
</mapping>

<mapping>
  <configuration>true</configuration>                       
  <directory>/basedir/product/tool/config/examples</directory>
  <directoryIncluded>false</directoryIncluded>
  <filemode>0644</filemode>
  <username>team_prod</username>
  <groupname>prodgroup</groupname>
  <sources>
    <source>                                  
       <location>src/main/config/examples</location>
    </source>
  </sources>
</mapping>

与上述类似的条目有很多。我的以下定义太真实了,但没有别的。我知道这个插件也有递归 maven 道具,但我需要对应用的权限进行细粒度控制。例如对于 bin 目录,所有文件都有 755 等。如前所述,产生了 %dir 指令,但似乎不遵守 RPM 规则。

4

0 回答 0