Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Solaris] pkgsrc ?

5 réponses
Avatar
Paul Gaborit
Le sujet est là pour en choquer certains (oser parler de Solaris sur
un forum BSD !!!).

En installant récemment NetBSD, j'ai découvert pkgsrc. La doc de
pkgsrc indique qu'il peut fonctionner sur Solaris. Or, ici, depuis
plus de 10 ans maintenant, on (et plus précisément "je") gère à la
main le cycle configuration, compilation, installation des différents
logiciels libres (gcc, tetex, xfig, xpdf, (x)emacs, firefox, etc.) sur
Solaris. Avec l'expérience, on s'en sort mais cela reste quand même
assez fastidieux et surtout, il est difficile de transmettre le bébé à
quelqu'un d'autre n'ayant pas la même expérience... pkgsrc semble donc
une solution plus qu'intéressante !

Utilisez-vous ou avez-vous déjà utilisé pkgsrc sur Solaris ? Cela
fonctionne-t-il bien ? Peut-on gérer des compilations/installations
utilisables sur plusieurs versions de Solaris à la fois ?

Merci.

PS: j'aurais pu poster sur le forum fr.comp.os.unix mais il me semble
que ceux qui connaissent le mieux pkgsrc sont ici ;-)

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>

5 réponses

Avatar
Antonio Bravo
Den Thu, 10 Nov 2005 17:29:45 +0100, skrev Paul Gaborit:

Utilisez-vous ou avez-vous déjà utilisé pkgsrc sur Solaris ? Cela
fonctionne-t-il bien ? Peut-on gérer des compilations/installations
utilisables sur plusieurs versions de Solaris à la fois ?



cela dépend sans doute de la version Solaris et de ce qu'on en veut faire.
Il y a des binaires des outils pkgsrc disponibles pour sol8 et sol9.
Une paire de mois en arrière j'ai lancé des ./bootstrap sur sol10 ou
sol11 sans succès.Reste à retrouver les notes afin de fournir les
détails utils...ca échouait lors de la compilation de gcc,
principalement et de petites choses demandaient à être corrigées à la
main.En fait il était plus rapide de modifier un poil les Makefiles des
sources ou quelques en-têtes dans solaris que de modifier pkgsrc pour le
rendre opérationnel.
Mais il faudrait retrouver les notes de l'opération.

La version a son importance essentiellement au niveau de gettext/libiconv,
qui ont étés gnu-ifiés fortement entre 8 et 10.
Ensuite, si on veut partir d'une installation Solaris de base, console
sans X, (vec ou sans kerberos, ssl/ssh, ldap maison ou pas,
éventuellement,)il faut de toutes facons à un moment donné, modifier au
moins un ou deux en-têtes systèmes pour compiler certains programmes,
comme par exemple MPlayer avec Xorg et les extensions XVideo.
et ca il faudrait vérifier si pkgsrc le fait.Il faut aussi patcher une
version récente de binutils avec un patch qui je me souviens n'était pas
dans pkgsrc.

Je m'étais fait chié avec pkgsrc sur Solaris, pour résumer.

Avatar
Pascal Cabaud
Paul Gaborit wrote:

Utilisez-vous ou avez-vous déjà utilisé pkgsrc sur Solaris ? Cela
fonctionne-t-il bien ? Peut-on gérer des compilations/installations
utilisables sur plusieurs versions de Solaris à la fois ?


J'utilise pkgsrc sur Solaris depuis plus d'un an sous Solaris 9 (on a eu
du Solaris 10 aussi) pour unifier avec nos NetBSD.

Ca marche plutot bien. Je l'ai choisi essentiellement pour
security/audit-packages et pour l'aspect multi-plateforme.

Pour le mettre en place, c'est parfois un peu complexe mais quand on a
un compilo et les qqs outils de bases en plus du boostrap, c'est bon.
Par contre, ensuite, il peut arriver que des paquetages ne compilent pas
mais, ca depend bcp des paquets. Dans l'ensemble ca marche quand meme
tres bien pour etre utilise en prod'. Ceci devrait t'aider a te faire
idee des problemes que tu pourrais rencontrer :
<http://perso.enst.fr/~dauphin/pkgsrc/pkgstat/last/broken.html>

Quant a l'aspect multi-versions, je n'ai pas teste. A la louche, je
dirai qu'en compilant sur un Solaris N, ca passera sur les versions
ulterieures N+x.

HTH,

--
pc

Avatar
Paul Gaborit
J'écrivais :
Utilisez-vous ou avez-vous déjà utilisé pkgsrc sur Solaris ? Cela
fonctionne-t-il bien ? Peut-on gérer des compilations/installations
utilisables sur plusieurs versions de Solaris à la fois ?



À (at) Fri, 11 Nov 2005 23:28:10 +0100,
Pascal Cabaud écrivait (wrote):
J'utilise pkgsrc sur Solaris depuis plus d'un an sous Solaris 9 (on a
eu du Solaris 10 aussi) pour unifier avec nos NetBSD.

Ca marche plutot bien. Je l'ai choisi essentiellement pour
security/audit-packages et pour l'aspect multi-plateforme.

Pour le mettre en place, c'est parfois un peu complexe mais quand on a
un compilo et les qqs outils de bases en plus du boostrap, c'est
bon. Par contre, ensuite, il peut arriver que des paquetages ne
compilent pas mais, ca depend bcp des paquets. Dans l'ensemble ca
marche quand meme tres bien pour etre utilise en prod'. Ceci devrait
t'aider a te faire idee des problemes que tu pourrais rencontrer :
<http://perso.enst.fr/~dauphin/pkgsrc/pkgstat/last/broken.html>


C'était la seule réponse encourageante...
Mais comme depuis 10 ans, j'avais l'habitude de lutter avec la
configuration/compilation/installation de nombreux softs sur SunOS
puis Solaris, je me suis lancé...

Et je suis assez content du résultat (pour l'instant). Je fait donc un
petit compte-rendu rapide de l'installation et je termine par quelques
questions plus générales concernant l'utilisation de pkgsrc.

Petit compte-rendu rapide: J'ai fait le bootstrap en tant que simple
utilisateur sur Solaris 9. Je disposais tout de même d'un gcc 3.4
fonctionnel installé par mes soins. Il m'a fallu écrire un petit
wrapper autour de /usr/ucb/install (qui ne comprend pas l'option -U
utilisé par certains packages). Côté X-Window client, j'ai renoncé à
utiliser xorg (la configuration de imake refuse de prendre en compte
mon gcc sur Solaris). En revanche, XFree86 4.4.0 (bien que déclaré non
secure) s'installe bien. Je n'ai pas encore attaqué la partie
serveur... Les liens fournis m'ont bien aidé (merci). À ce jour, j'ai
101 packages installés.

Une question sur pkgsrc (qui me semble identique pour toutes les
plateformes) :

Comment faire les mises à jour sans tout casser momentanément ?
Lorsqu'un soft ou une bibliothèque n'est plus à jour, il faut compiler
la nouvelle version puis supprimer l'ancienne version et installer la
nouvelle. Mais à ce moment, les softs qui dépendent de l'ancienne
version ne fonctionnent plus jusqu'à leur réinstallation. Si on
dispose de plusieurs machines, on peut imaginer une machine de
compilation puis recopie vers les autres une fois toutes les mises à
jour faites. Mais comment faire sur une seule machine ? Dois-je gérer
deux espaces d'installation distincts : l'un pour l'exploitation,
l'autre pour les mises à jour ?

Merci.


--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>


Avatar
Manuel Bouyer
Paul Gaborit wrote:
[...]
Une question sur pkgsrc (qui me semble identique pour toutes les
plateformes) :

Comment faire les mises à jour sans tout casser momentanément ?
Lorsqu'un soft ou une bibliothèque n'est plus à jour, il faut compiler
la nouvelle version puis supprimer l'ancienne version et installer la
nouvelle. Mais à ce moment, les softs qui dépendent de l'ancienne
version ne fonctionnent plus jusqu'à leur réinstallation. Si on
dispose de plusieurs machines, on peut imaginer une machine de
compilation puis recopie vers les autres une fois toutes les mises à
jour faites. Mais comment faire sur une seule machine ? Dois-je gérer
deux espaces d'installation distincts : l'un pour l'exploitation,
l'autre pour les mises à jour ?


Je passe par les packages binaires: pkg_add -u
Effectivement il y a une fenetre ou le soft n'est plus installe.
Sur un serveur en prod j'arrete les services concernes le temps
de la mise a jour (quelque minutes).

Ca veut effectivement dire qu'il faut faire les compilations et generer les
packages binaires ailleur: soit une autre machine, soit un chroot.
J'utilise les outils de pkgsrc/mk/bulk pour faire les recompilations
et generer les binaires. Il y a ce qu'il faut pour creer l'environnement
chroot, et je pense qu'il marche aussi sur solaris. Tout ca doit etre
indique dans pkgsrc/doc/pkgsrc.*

--
Manuel Bouyer
NetBSD: 26 ans d'experience feront toujours la difference
--

Avatar
Paul Gaborit
À (at) Mon, 5 Dec 2005 14:57:14 +0000 (UTC),
Manuel Bouyer écrivait (wrote):
Ca veut effectivement dire qu'il faut faire les compilations et generer les
packages binaires ailleur: soit une autre machine, soit un chroot.
J'utilise les outils de pkgsrc/mk/bulk pour faire les recompilations
et generer les binaires. Il y a ce qu'il faut pour creer l'environnement
chroot, et je pense qu'il marche aussi sur solaris. Tout ca doit etre
indique dans pkgsrc/doc/pkgsrc.*


Bon. J'ai suivi "bêtement" le conseil et j'ai tenté l'installation
d'un environnement chroot. J'avais déjà expériementé sur FreeBSD et
Linux sans trop de problème...

Mais je peux vous dire que sur Solaris, c'est pas de la tarte et ce
n'est pas la doc fournie par Sun qui aide (à quand un Handbook Solaris
digne de ce nom ?). Et ce qui est indiqué dans le guide de pkgsrc est
trop général. Heureusement que quelques bonnes âmes se sont fendus de
quelques pages sur Internet pour dire comment ils ont procédé... Comme
la compilation des packages dépend de nombreux exécutables et
bibliothèques, je procède par essais et erreurs. J'ai commencé par un
environnement minimal et j'y ajoute ce qui manque au fur et à mesure
(par exemple le montage de /proc pour que 'sort' fonctionne !) comme
ça je maîtrise proprement ce que pkgsrc voit (ou non) de
l'environnement Solaris.

Si quelqu'un tombe un jour sur ce message et veut savoir comment
procéder, je me tiens à sa disposition (si j'ai le temps, je ferai moi
aussi une petite page web).

Bon, toujours est-il que, maintenant, ça marche. Je sens que la mise à
jour des softs va devenir un vrai plaisir (c'est surtout que je vais
pouvoir passer le bébé à quelqu'un d'autre).

Un grand merci à tous.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>