В настоящее время я использую плагин 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>
There are many entries similar to the above. I have the following defined too true but nothing else. I know that there are recursive maven props for this plugin too, but I need fine grained control over the permissions applied. e.g. for the bin directory, all files have 755 etc. As mentioned, the %dir directive is produced, but doesn't seem to adhere to RPM rules.