Come installare più versioni dello stesso pacchetto in Gentoo?


9

Vorrei installare due (o più) versioni degli stessi pacchetti sul mio sistema Gentoo. So per certo che non ci sarà alcun conflitto di file, poiché ci sono pochissimi file installati e ognuno di essi prende il nome dalla versione.

Conosco gli slot, ma questi sono specificati nei file ebuild e supponiamo che non voglia modificare alcun file ebuild per diversi motivi.

Vorrei che le versioni installate facessero parte del pacchetto mondiale, in modo che possano essere reinstallate o disinstallate come al solito.

C'è un modo per installare più versioni dello stesso pacchetto? Conoscete alcuni trucchi di Portage per raggiungere questo obiettivo?


Ecco a cosa servono le slot. Se il pacchetto non viene inserito, l'unica cosa a cui riesco a pensare è creare un overlay personale e un nuovo pacchetto / ebuild che viene inserito.
Keith,

@Keith - Questa è la risposta giusta, perché non pubblicarla come risposta?
HedgeMage

@Keith: se è davvero l'unico modo per farlo, allora pubblicalo come risposta e lo accetterò volentieri.
Laurent Pireyn,

Risposte:


9

Ecco a cosa servono le slot. Se il pacchetto non viene inserito, l'unica cosa a cui riesco a pensare è creare un overlay personale e un nuovo pacchetto / ebuild che viene inserito.


2
Un piccolo suggerimento per un modo pragmatico di usare le slot aiuterebbe i neofiti :)
Stefano

1

Penso che in teoria potresti fare qualcosa di stupido come:

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

Ma sostanzialmente tutte le cose non sovrapposte sono altamente soggette ad alcune limitazioni e requisiti aggiuntivi sui quali non ci sono molte informazioni.


1

Quello che potresti provare (non sono sicuro che funzioni come previsto) è usare /etc/portage/envper impostare lo SLOT di particolari versioni del pacchetto. Tuttavia, potrebbe non funzionare a causa della memorizzazione nella cache dei metadati. Anche se funziona, questo è un cludge e può comportare comportamenti imprevisti. Come sempre, se si rompe, riesci a conservare i pezzi.


1

Questa è una vecchia domanda, ma ancora valida, e nessuno ha proposto il seguente semplice approccio:

Se non vuoi creare slot e sai che i file non si scontrano, crea semplicemente un nuovo ebuild nel tuo overlay locale (dopo aver impostato l'overlay locale in make.conf) e chiamalo in modo diverso. Forse qualcosa come "mypkg.ebuild". Non esiste una legge che stabilisca il nome ebuild e i file che installa devono condividere gli stessi nomi. Copia il file pkg.ebuild di portage in /usr/local/portage/app-class/mypkg-newversion.ebuild, apporta le modifiche necessarie per la nuova versione, ebuild ed emergilo.

Tieni presente che non sarai in grado di utilizzare alcuni dei nomi di variabili predefiniti ($ {P} e altri) quando recuperi i sorgenti.


0

Un'altra cosa potenziale da esplorare è il prefisso Gentoo

Quale potrebbe essere una valida alternativa se non ti dispiace mantenere 2 ecosistemi di Gentoo al fine di fornire il pacchetto "alternativo".

Ciò sta essenzialmente creando uno "spazio secondario" per un determinato ambito di progetto e quindi utilizzando Gentoo in modo diverso nell'ambito di tale progetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.