Estamos desenvolvendo um produto java instalado por meio do rpm.
Temos um conjunto de arquivos de configuração que um usuário pode editar. Esses arquivos de configuração são arquivos de propriedades do Java no formulário:
com.acme.pkg1.setting=something customized 1
com.acme.pkg2.setting=something original 2
Esses arquivos são marcados no arquivo SPEC com% config (noreplace), portanto, após uma atualização, poderíamos ter um arquivo .rpmnew próximo a ele:
com.acme.pkg1.setting=something original 1
com.acme.pkg2.setting=something original 2
com.acme.pkg3.setting=something original 3
Existe uma maneira de mesclar esses arquivos de forma que apenas novas chaves sejam adicionadas ao arquivo original?
Minha ideia foi:
- filtre as chaves
- classifique as chaves
- use comm (1), algo como: comm -23 file.rpmnew.keys file.keys > new.keys
- extrair chave = valor de arquivo.rpmnew correspondente new.keys
- acrescentar resultado ao arquivo original
Como podemos conseguir tudo isso a partir de um script pós-atualização de rpm?
De preferência usando apenas utilitários padrão do Linux (comm, diff, sed, awk, grep, ...)?