Usando o gentoo, como é que um pau -9999 ebuild para uma revisão svn específica?

3

Como exemplo dado o ebuild do django-9999, para combinar com o ambiente de um desenvolvedor, eu preciso verificar o R12120 no trunk. Instalar o Django manualmente não é uma opção devido a razões de gerenciamento de pacotes. Mas também não há ebuild no portage para versões beta 1.2.

Então eu fiz o seguinte:

ESVN_OPTIONS="-r12120" emerge -1a django

Que instalou a revisão necessária do svn. Mas isso é complicado de certa forma. Existe alguma maneira de definir isso estaticamente por ebuild, por exemplo, algo como:

DJANGO_SVN_REV="12120"

em make.conf . Isso seria muito mais limpo aos meus olhos.

Porque da próxima vez que eu precisar reconstruir o django por alguma razão, eu preciso lembrar: "Oh, eu queria que isso ficasse em uma revisão específica" e a próxima pergunta será "err, f &! # $?%, o que foi novamente? "

Qual é a melhor maneira de ir aqui?

Tenha em mente:

  • A instalação manual de pacotes sem conhecimento do gerenciador de pacotes não é uma opção
  • Trabalhar com o prefixo de variável emerge manual não é uma opção
  • Configurar um /etc/portage/package.env seria um caminho a percorrer ( como descrito aqui ), mas isso parece muito sem suporte e desajeitado para mim e, portanto, é incompreensível
  • Modificar o make.conf seria um caminho a percorrer
  • Manter o ebuild em uma sobreposição seria uma opção
por hurikhan77 11.03.2010 / 12:11

1 resposta

4

Não sou totalmente contra o uso de package.env . Se você entender e documentar isso em seu ambiente, pode ser um método útil para aplicar mudanças sutis com ganchos ebuild enquanto ainda acompanha ebuilds estáveis.

Eu não acho que seja uma maneira apropriada de corrigir a revisão de um -9999 ebuild - de acordo com o "princípio de menor espanto". Nem make.conf parece um lugar muito óbvio para corrigir versões de pacotes.

Uma abordagem mais limpa seria criar sua própria ebuild com o Layman. Se você nomear django-1.2_pre12120 , deverá ser mais óbvio o que está fazendo e lhe dará uma rota de saída fácil assim que o Django 1.2 for lançado e estabilizado no Portage.

    
por 25.04.2010 / 23:25