Je voudrais installer deux (ou plus) versions des mêmes packages sur mon système Gentoo. Je sais qu'il n'y aura aucun conflit de fichiers, car il y a très peu de fichiers installés et chacun d'eux porte le nom de la version.
Je connais les emplacements, mais ceux-ci sont spécifiés dans les fichiers ebuild, et supposons que je ne souhaite modifier aucun fichier ebuild pour plusieurs raisons.
Je souhaite que les versions installées fassent partie du package mondial, afin qu'elles puissent être réinstallées ou désinstallées comme d'habitude.
Existe-t-il un moyen d'installer plusieurs versions du même package? Connaissez-vous des astuces Portage pour y parvenir?
package-management
gentoo
version
emerge
Laurent Pireyn
la source
la source
Réponses:
C'est à ça que servent les machines à sous. Si le package n'est pas fendu, la seule chose à laquelle je peux penser est de créer une superposition personnelle et un nouveau package / ebuild qui est fendu.
la source
Je pense qu'en théorie, vous pourriez faire quelque chose de stupide comme:
Mais fondamentalement, tous les éléments non superposés sont fortement soumis à certaines limitations et exigences supplémentaires sur lesquelles il n'y a pas beaucoup d'informations.
la source
Ce que vous pourriez essayer (je ne suis pas sûr que cela fonctionne comme prévu) est d'utiliser
/etc/portage/env
pour définir le SLOT de versions de packages particulières. Cela pourrait ne pas fonctionner en raison de la mise en cache des métadonnées. Même si cela fonctionne, c'est un cludge et peut entraîner un comportement inattendu. Comme toujours, s'il se casse, vous gardez les morceaux.la source
C'est une vieille question, mais toujours valable, et personne n'a proposé l'approche simple suivante:
Si vous ne voulez pas créer d'emplacements et que vous savez que les fichiers ne se heurtent pas, créez simplement un nouvel ebuild dans votre superposition locale (après avoir défini la superposition locale dans make.conf) et nommez-le différemment. Peut-être quelque chose comme «mypkg.ebuild». Aucune loi n'indique le nom de l'ebuild et les fichiers qu'il installe doivent partager les mêmes noms. Copiez le fichier pkg.ebuild de portage dans /usr/local/portage/app-class/mypkg-newversion.ebuild, apportez les modifications nécessaires à la nouvelle version, construisez et sortez-la.
Gardez à l'esprit que vous ne pourrez pas utiliser certains des noms de variables prédéfinis ($ {P} et al) lors de la récupération des sources.
la source
Un autre élément potentiel à explorer est le préfixe Gentoo
Ce qui pourrait être une alternative viable si cela ne vous dérange pas de maintenir 2 écosystèmes de Gentoo afin de fournir le package "alternatif".
Il s'agit essentiellement de créer un "sous-espace" pour une portée de projet donnée, puis d'utiliser Gentoo différemment dans cette portée de projet.
la source