Por que recebo arquivos listados duas vezes ao criar meu RPM?

7

Meu entendimento é que, se eu especificar a diretiva% dir na lista% files, o RPM não listará nenhum arquivo nesse diretório. Fazer isso pode permitir que você defina permissões específicas para o diretório em questão (ou usuário, grupo, etc.). No entanto, ainda recebo mensagens "arquivos listados duas vezes" quando, além do diretório especificado, também listo explicitamente os arquivos. Isso soa maluco eu sei, mas os arquivos têm permissões diferentes para o diretório, e é por isso que preciso definir o diretório separadamente usando a diretiva% dir.

Se eu não estivesse usando a diretiva% dir, então sim, eu esperaria ver essas mensagens de aviso.

Estou correto?

ATUALIZAÇÃO:

Na verdade, o arquivo listado duas vezes parece aparecer apenas quando eu combino a diretiva% dir com a diretiva% config.

Portanto, o seguinte está bem, sem mensagens de aviso:

%files
%dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/
%dir %attr(0755,testuser,test) /app/product/tracking-tool/bin/scripts/

%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/run.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/count.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/delete.sh
%attr(0755,vscc_prod,vscc) /app/product/tracking-tool/bin/scripts/script1.sh

Mas os resultados a seguir em mensagens de aviso:

%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/
%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/properties
%config %dir %attr(0755,testuser,test)  /app/product/tracking-tool/config/other

%config %attr(0644,testuser,test)  /app/product/tracking-tool/config/xmlconfig.xml
%config %attr(0644,testuser,test)  /app/product/tracking-tool/config/properties/logging.properties
%config %attr(0600,testuser,test)  /app/product/tracking-tool/config/properties/test.txt
%config %attr(0600,testuser,test)  /app/product/tracking-tool/config/other/other.txt

Warning appear as follows:

[WARNING] warning: File listed twice: /app/product/tracking-tool/config/xmlconfig.xml
[WARNING] warning: File listed twice: /app/product/tracking-tool/config/properties/logging.properties
[WARNING] warning: File listed twice: /app/product/tracking-tool/config/properties/test.txt
[WARNING] warning: File listed twice: /app/product/tracking-tool/config/other/other.txt
    
por user983022 09.08.2012 / 18:37

1 resposta

1

Tanto quanto eu saiba, a diretiva% config não permite diretivas adicionais após ela, já que é usada apenas para marcar arquivos como arquivos de configuração. Tente algo assim (ainda não tenho 100% de certeza de que a diretiva% config funciona para diretórios, a documentação não diz se funciona ou não):

%files
%config /app/product/tracking-tool/config/xmlconfig.xml
%config /app/product/tracking-tool/config/properties/logging.properties
%config /app/product/tracking-tool/config/other/other.txt
%dir %attr(0755,testuser,test) /app/product/tracking-tool/config/ 
%dir %attr(0755,testuser,test) /app/product/tracking-tool/config/properties
%dir %attr(0755,testuser,test) /app/product/tracking-tool/config/other
%attr(0644,testuser,test) /app/product/tracking-tool/config/xmlconfig.xml
%attr(0644,testuser,test) /app/product/tracking-tool/config/properties/logging.properties
%attr(0600,testuser,test) /app/product/tracking-tool/config/properties/test.txt
%attr(0600,testuser,test) /app/product/tracking-tool/config/other/other.txt
    
por 03.03.2013 / 18:13

Tags