.rpmnew arquivo não criado na atualização do pacote?

3

No momento, estou testando a instalação de um RPM com um arquivo de configuração usando a diretiva config(noreplace) .

De acordo com usando config (noreplace) minhas marcas de arquivo de especificação um único arquivo como um arquivo de configuração:

%config(noreplace) /opt/lm/dest/conf/db.xml

Eu fiz uma modificação no disco para o arquivo da versão 1 e fiz a atualização para a versão 2. Eu esperava que a saída detalhada (ao usar -Uvh ) indicasse que ela criou um db.xml.rpmnew que não foi No entanto, as modificações no disco que fiz estão intactas.

Alguém sabe por que esse pode ser o caso?

Algumas informações básicas: Estou usando o mesmo arquivo tar para criar a versão 1 & 2 que não deveria fazer a diferença, mas pensei em mencioná-lo de qualquer maneira.

EDIT 1:

Caso contrário, o arquivo db.xml.rpmnew não foi criado.

    
por kaizenCoder 03.03.2015 / 06:59

1 resposta

6

O que você observa é o comportamento esperado. Um pacote .rpmnew é criado apenas quando as duas condições a seguir são atendidas:

  1. o arquivo de configuração padrão no novo pacote RPM é diferente do arquivo de configuração que foi originalmente incluído na versão atual / anterior do pacote RPM. (Mudanças nos padrões foram feitas pelo mantenedor do pacote).
  2. o arquivo de configuração real no disco foi alterado do padrão que foi incluído na versão atual / anterior do pacote. (As alterações dos padrões foram feitas pelo administrador.)

De acordo com o Changelog:

commit e64bf5b93ab689e6031fce4489e4ae38ebaebef1
Author: Panu Matilainen
Date: Tue Aug 28 09:04:09 2007 +0300

Avoid .rpmnew when the file hasn't changed in package (rhbz#194246)

The current behavior of %config(noreplace) creates a .rpmnewfile iff the type of the current file has been changed wrto what was originally installed.

The patch changes this behavior so when old and new (in db and in package) is identical -> not changed, the function returns FA_SKIP -> it won't clobber anything, it simply skips installation of the file from the package. This patch handles also the opposite case when old and new packages contain %config symlink and we have regular file on disk.

Patch from Tomas Mraz.
    
por 03.03.2015 / 08:29

Tags