Bagaimana cara menginstal beberapa versi dari paket yang sama di Gentoo?

9

Saya ingin menginstal dua (atau lebih) versi dari paket yang sama di sistem Gentoo saya. Saya tahu pasti tidak akan ada bentrokan file, karena ada sangat sedikit file yang diinstal dan masing-masing diberi nama sesuai versi.

Saya tahu tentang slot, tetapi ini ditentukan dalam file ebuild, dan mari kita asumsikan saya tidak ingin mengedit file ebuild karena beberapa alasan.

Saya ingin versi yang diinstal menjadi bagian dari paket dunia, sehingga dapat diinstal ulang atau dihapus seperti biasa.

Apakah ada cara untuk menginstal beberapa versi dari paket yang sama? Apakah Anda tahu beberapa trik Portage untuk mencapai itu?

Laurent Pireyn
sumber
Itulah gunanya slot. Jika paket tersebut tidak ditempatkan maka satu-satunya hal yang dapat saya pikirkan adalah membuat overlay pribadi dan paket / ebuild baru yang ditempatkan.
Keith
@Keith - Itulah jawaban yang tepat, mengapa tidak mempostingnya sebagai jawaban?
HedgeMage
@Keith: Jika itu memang satu-satunya cara untuk melakukannya, maka posting sebagai jawaban dan saya dengan senang hati akan menerimanya.
Laurent Pireyn

Jawaban:

9

Itulah gunanya slot. Jika paket tersebut tidak ditempatkan maka satu-satunya hal yang dapat saya pikirkan adalah membuat overlay pribadi dan paket / ebuild baru yang ditempatkan.

Keith
sumber
2
Sedikit petunjuk tentang cara pragmatis untuk menggunakan slot akan membantu pemula :)
Stefano
1

Saya pikir secara teori Anda bisa melakukan sesuatu yang konyol seperti:

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

Tetapi pada dasarnya semua hal non-overlay sangat tunduk pada beberapa batasan dan persyaratan tambahan yang tidak banyak informasi.

lkraav
sumber
1

Apa yang mungkin Anda coba (saya tidak yakin apakah itu berfungsi seperti yang diharapkan) adalah digunakan /etc/portage/envuntuk mengatur SLOT versi paket tertentu. Ini mungkin tidak berhasil karena caching metadata. Bahkan jika itu berhasil, ini adalah dendam dan dapat mengakibatkan perilaku yang tidak terduga. Seperti biasa, jika rusak, Anda bisa menyimpan potongannya.

Paul de Vrieze
sumber
1

Ini adalah pertanyaan lama, tetapi masih valid, dan belum ada yang mengusulkan pendekatan sederhana berikut:

Jika Anda tidak ingin membuat slot, dan Anda tahu file tidak bertabrakan, cukup buat ebuild baru di overlay lokal Anda (setelah mengatur overlay lokal di make.conf) dan beri nama berbeda. Mungkin sesuatu seperti 'mypkg.ebuild'. Tidak ada undang-undang yang menyatakan nama ebuild dan file yang diinstal harus berbagi nama yang sama. Salin file pkg.ebuild portage ke /usr/local/portage/app-class/mypkg-newversion.ebuild, buat perubahan yang diperlukan untuk versi baru, ebuild dan emerge.

Ingatlah bahwa Anda tidak akan dapat menggunakan beberapa nama variabel yang telah ditentukan ($ {P} et al) saat mengambil sumber.

Bob J
sumber
0

Hal potensial lain untuk dijelajahi adalah Awalan Gentoo

Yang mungkin merupakan alternatif yang layak jika Anda tidak keberatan mempertahankan 2 ekosistem Gentoo untuk menyediakan paket "alternatif".

Ini pada dasarnya menciptakan "sub-ruang" untuk lingkup proyek yang diberikan, dan kemudian menggunakan Gentoo secara berbeda dalam lingkup proyek tersebut.

Kent Fredric
sumber