Como instalar múltiplas versões do mesmo pacote no Gentoo?

9

Eu gostaria de instalar duas (ou mais) versões dos mesmos pacotes no meu sistema Gentoo. Eu sei com certeza que não haverá nenhum conflito de arquivos, já que existem poucos arquivos instalados e cada um deles é nomeado após a versão.

Eu sei sobre slots, mas estes são especificados nos arquivos ebuild, e vamos supor que eu não queira editar nenhum arquivo ebuild por várias razões.

Gostaria que as versões instaladas fizessem parte do pacote mundial, para que elas pudessem ser reinstaladas ou desinstaladas como de costume.

Existe uma maneira de instalar várias versões do mesmo pacote? Você conhece alguns truques do Portage para conseguir isso?

    
por Laurent Pireyn 01.05.2011 / 21:44

5 respostas

9

Isso é o que os slots são para. Se o pacote não tiver slot, então a única coisa em que consigo pensar é criar uma sobreposição pessoal e um novo pacote / ebuild que esteja dividido.

    
por 02.05.2011 / 13:40
1

Eu acho que, em teoria, você poderia fazer algo bobo como:

$ ROOT=~/package-1.0 emerge =package-1

Mas basicamente todas as coisas que não são sobrepostas estão altamente sujeitas a algumas limitações e requisitos adicionais sobre os quais não há muita informação.

    
por 04.05.2011 / 12:12
1

O que você pode tentar (não sei se funciona como esperado) é usar /etc/portage/env para definir o SLOT de versões específicas do pacote. Pode não funcionar por causa do cache de metadados. Mesmo que isso funcione, isso é um engano e pode resultar em um comportamento inesperado. Como sempre, se quebrar, você consegue manter as peças.

    
por 27.05.2011 / 17:37
1

Essa é uma pergunta antiga, mas ainda é válida, e ninguém propôs a seguinte abordagem simples:

Se você não quiser criar slots, e você sabe que os arquivos não colidem, simplesmente crie um novo ebuild em sua sobreposição local (depois de configurar o overlay local no make.conf) e nomeie-o de forma diferente. Talvez algo como 'mypkg.ebuild'. Não há nenhuma lei que declare o nome do ebuild e os arquivos que ele instala tenham que compartilhar os mesmos nomes. Copie o arquivo pkg.ebuild do portage para /usr/local/portage/app-class/mypkg-newversion.ebuild, faça as alterações necessárias para a nova versão, ebuild e emerge-a.

Lembre-se de que você não poderá usar alguns dos nomes de variáveis predefinidos ($ {P} et al) ao buscar as fontes.

    
por 26.03.2018 / 21:37
0

Outra coisa em potencial a ser explorada é Prefixo do Gentoo

O que pode ser uma alternativa viável se você não se importar em manter 2 ecossistemas do Gentoo para fornecer o pacote "alternativo".

Essencialmente, isso cria um "subespaço" para um determinado escopo do projeto e, em seguida, usa o Gentoo de maneira diferente nesse escopo do projeto.

    
por 28.04.2016 / 05:55