Como empacotar um único arquivo de texto em um .deb?

1

Estou tentando criar um pacote .deb simples, que basicamente edita uma configuração de outro pacote listado como dependência.

Eu adicionei as manipulações necessárias ao arquivo postinstall.

O problema é que não consigo encontrar uma maneira de empacotar um exemplo de configuração, que deve ser copiado e editado a partir do script postinstall.

No momento, eu só tenho uma pasta com a configuração de amostra, da qual estou criando um tar.gz e orig.tar.gz, então dh_make nessa pasta, edite os arquivos gerados e execute debuild . No entanto, se eu abrir o arquivo .deb resultante com um gerenciador de archive, posso ver que o arquivo de amostra não foi incluído.

    
por Fluffy 31.05.2012 / 12:27

2 respostas

1

Para o seu caso de uso, você não usaria um pacote novo para modificar sua configuração. Em vez disso, você deve reconstruir o pacote que está modificando com uma configuração padrão modificada (por meio de um patch). Em seguida, você faria o upload desse pacote para um PPA ou sistema de repositório semelhante para facilitar a instalação.

Empacotando um único arquivo em um .deb apenas para alterar um diferente arquivo de configuração do .deb não é recomendado dado que se esse outro .deb for modificado e você tiver uma versão explícita no seu debian / control , e a nova versão é muito nova, seu sistema rejeitará o .deb de configuração variada.

Por favor, comente esta resposta com o motivo pelo qual você deseja especificamente que um .deb faça as alterações de conf, e eu posso elaborar como você faria isso, se for o caso.

% bl0ck_qu0te%

Fazer um .deb não é um acéfalo, você realmente precisa de uma compreensão substancial de como o empacotamento funciona, entre outras coisas. Você terá que atualizar seu pacote uma vez que uma atualização chegue do original, mas isso pode ser parcialmente decidido com base nos changelogs, incluindo, mas não limitado a, que pacote existe atualmente no Ubuntu, e o que é corrigido na versão diferente. Mas depois de ter o patch, você pode aplicá-lo com a mesma facilidade na nova versão e aplicá-lo à versão antiga, por isso mencionei isso.

% bl0ck_qu0te%

Esta pergunta é irrespondível em sua forma atual, então deixe-me elaborar sobre outras questões que eu vi:

% bl0ck_qu0te%

Um pacote fonte é um pacote no qual os pacotes binários do instalador (.debs) são construídos. Eles contêm todo o código-fonte de um programa, mas com todos os patches aplicáveis e informações do pacote Debian neles.

% bl0ck_qu0te%

Não necessariamente. O código-fonte do programa é de fato o que o pacote é construído, mas a menos que você esteja alterando esse código, você pode modificar um pacote sem sequer tocar no código. Dependendo, claro, do que você está tentando fazer.

Então, para explicar simplesmente, independentemente do que você fizer aqui, será necessário editar o código-fonte do programa transferido por download ou o código-fonte contido no pacote. Então, o "Código Fonte Original" será trabalhado independentemente. No entanto, os scripts postinst e outros scripts relacionados à instalação são armazenados em debian/* no pacote e não fazem parte do código-fonte.

Patches para pacotes são abordados no guia de embalagem: link

O Guia completo de empacotamento do Ubuntu está aqui: link

Após receber informações adicionais por e-mail, a configuração está sendo atualizada para um pacote específico para incluir algum tipo de API restrita que tenha uma chave de uso único.

Minha declaração de método de usar um PPA não seria recomendada neste caso, já que as chaves de API são geralmente específicas para configurações individuais, e tais configurações modificadas não devem ser divulgadas, para que outros não tentem seqüestrar essas configurações. / p>     

por Thomas Ward 31.05.2012 / 15:22
0

Se você está empacotando isso para o Ubuntu, o melhor lugar para descobrir informações sobre como fazê-lo, é claro, o Ubuntu. Veja o wiki do Ubuntu

    
por Mitch 31.05.2012 / 13:59