Jak zainstalować wiele wersji tego samego pakietu w Gentoo?


9

Chciałbym zainstalować dwie (lub więcej) wersje tych samych pakietów w moim systemie Gentoo. Wiem na pewno, że nie dojdzie do kolizji plików, ponieważ zainstalowano bardzo niewiele plików, a każdy z nich nosi nazwę wersji.

Wiem o gniazdach, ale są one określone w plikach ebuildów i załóżmy, że nie chcę edytować żadnego pliku ebuildów z kilku powodów.

Chciałbym, aby zainstalowane wersje były częścią pakietu światowego, dzięki czemu można je ponownie zainstalować lub odinstalować jak zwykle.

Czy istnieje sposób na zainstalowanie wielu wersji tego samego pakietu? Czy znasz jakieś sztuczki Portage, aby to osiągnąć?


Po to są automaty. Jeśli pakiet nie jest dzielony, jedyne, co mogę wymyślić, to stworzyć osobistą nakładkę i nowy pakiet / ebuild, który jest dzielony.
Keith

@Keith - To poprawna odpowiedź, dlaczego nie opublikować jej jako odpowiedzi?
HedgeMage

@Keith: Jeśli to naprawdę jedyny sposób, aby to zrobić, to opublikuj go jako odpowiedź, a ja chętnie go zaakceptuję.
Laurent Pireyn

Odpowiedzi:


9

Po to są automaty. Jeśli pakiet nie jest dzielony, jedyne, co mogę wymyślić, to stworzyć osobistą nakładkę i nowy pakiet / ebuild, który jest dzielony.


2
Mała wskazówka w kierunku pragmatycznego sposobu używania automatów pomoże początkującym :)
Stefano,

1

Myślę, że teoretycznie można zrobić coś głupiego:

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

Ale w zasadzie wszystkie nie-nakładki podlegają bardzo dodatkowym ograniczeniom i wymaganiom, o których nie ma tak wielu informacji.


1

Możesz spróbować (nie jestem pewien, czy to działa zgodnie z oczekiwaniami), /etc/portage/envaby ustawić SLOT dla poszczególnych wersji pakietów. Może jednak nie działać z powodu buforowania metadanych. Nawet jeśli to działa, jest to groza i może spowodować nieoczekiwane zachowanie. Jak zawsze, jeśli się zepsuje, możesz zatrzymać kawałki.


1

To stare pytanie, ale wciąż aktualne i nikt nie zaproponował następującego prostego podejścia:

Jeśli nie chcesz tworzyć gniazd i wiesz, że pliki się nie kolidują, po prostu utwórz nową ebuild w lokalnej nakładce (po ustawieniu lokalnej nakładki w make.conf) i nazwij ją inaczej. Być może coś w rodzaju „mypkg.ebuild”. Nie ma prawa określającego nazwę ebuilda, a instalowane pliki muszą mieć takie same nazwy. Skopiuj plik pkg.ebuild z Portage do /usr/local/portage/app-class/mypkg-newversion.ebuild, wprowadź niezbędne zmiany dla nowej wersji, skompiluj i wyjdź.

Pamiętaj, że podczas pobierania źródeł nie będziesz mógł używać niektórych predefiniowanych nazw zmiennych ($ {P} i in.)


0

Kolejną potencjalną rzeczą do zbadania jest Prefiks Gentoo

Co może być realną alternatywą, jeśli nie masz nic przeciwko utrzymywaniu 2 ekosystemów Gentoo w celu zapewnienia pakietu „alternatywnego”.

To zasadniczo tworzy „podprzestrzeń” dla danego zakresu projektu, a następnie używa Gentoo inaczej w tym zakresie projektu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.