Como posso incluir arquivos em um pacote Debian para uso no script postinst?

3

Recentemente, após realizar uma atualização e, portanto, ter que refazer algumas das alterações de configuração manual que eu realizei, por exemplo, para configurações em / etc ou / usr / share, eu decidi que seria mais estrito comigo mesmo desta vez e colocaria todas as alterações que eu fiz no meu sistema em pacotes, então na próxima atualização eu posso apenas instalar meus pacotes e ter tudo pronto ir.

Meu primeiro pacote é para o meu mapa de teclado personalizado. Seguindo este post: crie um pacote .deb a partir de scripts ou binários Eu criei uma pasta para o pacote e tenho meu mapa de chaves listado no arquivo debian / install, para ser instalado em / usr / share / X11 / xkb / symbols. Eu também vou precisar adicionar os símbolos para /usr/share/X11/xkb/evdev.xml para que eles sejam reconhecidos, e pensei que seria melhor usar o patch para isso em vez de sobrescrever o arquivo.

Para reiterar, eu quero usar o patch como o método de instalação para minhas alterações no evdev.xml, não para corrigir o código-fonte do pacote usando o quilt (que é o que eu encontrei na pesquisa na Internet)

Portanto, eu tenho meu mapa de chaves no arquivo de instalação e um comando de correção no arquivo postinst. Meu problema é que não sei como incluir os arquivos de correção no pacote; depois de executar o debuild, o script e o keymap estão no arquivo deb, mas os diffs não são, portanto, o script postinst não poderá ser executado.

Existe uma maneira de obter meus patches (ou melhor, uma pasta chamada Patches) no pacote, para uso durante a instalação? Se possível, não quero instalar esses patches em nenhum lugar, pois eles são necessários apenas durante o processo de instalação.

Obrigado.

    
por stellarpower 16.02.2014 / 14:01

1 resposta

0

Mesmo instalando-os em algum lugar como /usr/share/$package/patches/ , não há uma maneira que eu saiba de ter esses arquivos disponíveis durante a execução do script postinst. Mais importante, enquanto este é um pacote apenas para seu uso, é uma prática ruim para um pacote alterar arquivos pertencentes a outro pacote. Isso também significa que suas alterações serão levadas apenas quando o outro pacote for atualizado. Seria muito melhor usar dpkg-divert . Veja também esta questão .

    
por andrewsomething 17.02.2014 / 17:42

Tags