Melhores práticas para empacotamento de softwares criados automaticamente para o Debian

4

Eu tenho o pacote Debian para um software que eu escrevi. Este software provavelmente é especializado demais para fazer parte do Debian. De qualquer forma, por enquanto não tenho planos de tentar incluí-lo no Debian. No entanto, gostaria de seguir as melhores práticas na medida do possível.

Atualmente, o pacote Debian faz parte do mesmo repositório do Mercurial que o software, no subdiretório debian /. Eu estou querendo saber se eu deveria colocá-lo em um repositório separado. Além disso, atualmente o pacote está sendo construído como um pacote nativo do Debian, o que não é realmente apropriado. Eu acho que eu poderia adicionar um alvo get-orig-source para construir o tarball original para as regras, mas está tudo bem para construir um arquivo orig.tar.gz de um repositório local, ou é necessário obtê-lo do remoto? Se o primeiro, existem algumas abordagens recomendadas para, por exemplo, passar a localização do repositório para o destino get-orig-source?

Foi-me sugerido que talvez eu pudesse colocar o diretório debian em uma ramificação separada (presumivelmente nomeada) do software atual e mesclá-los juntos ao construir. Isso ainda deixa a questão de como obter o orig.tar.gz com get-orig-source .

    
por Faheem Mitha 29.07.2013 / 19:29

1 resposta

1

Como você mencionou, é uma boa prática ter debian/ em uma ramificação separada (não necessariamente repositório). Se outras pessoas quiserem empacotar seu software para outra distribuição ou de outra maneira, é irritante para elas se elas obtiverem sua pasta debian/ por padrão.

Em geral, get-orig-source é recomendado, se não houver tarballs disponíveis ou se você precisar modificá-los por qualquer motivo (copyright, arquivos não utilizados, etc.). Portanto, se você publicar tarballs para o seu software, não precisará de get-orig-source .

Como não há uma solução geral para a meta get-orig-source , recomendo que você dê uma olhada nas soluções existentes (por exemplo, em github ).

Geralmente, eles usam algo como hg archive -X ".hg* ../packagename_$VERSION.orig.tar.gz para criar o tarball e dpkg-parsechangelog para extrair a versão atual do upstream de debian/changelog .

Para embalagem, eu recomendo mercurial-buildpackage . Suas ferramentas permitem manter orig-tarballs em um ramo separado, por exemplo.

    
por 29.07.2013 / 20:43