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

[FreeBSD] Ports et options

2 réponses
Avatar
F. Senault
'Jour.

Je suis en train d'essayer de mettre au point un mécanisme qui me
permettrait à partir d'une machine de compiler des packages pour les
autres du réseau, avec possibilité d'automatiser les mises à jour.

Evidemment, le défaut est que j'utilise de temps en temps des options de
compilation (make -DWITH_BLA, fichier options, portupgrade et
pkgtools.conf) qui ne sont pas forcément communes à toutes les machines
(ça couvre peut-être 10% des ports installés).

Je suis à la recherche d'une méthode à peu près fiable qui me
permettrait de trouver les variables d'environnement qui auront un effet
sur la compilation, histoire de pouvoir trouver ces 10% de packages à
refaire différemment pour les machines...

Pour le moment, j'ai trouvé qu'un make -dA -n install | grep VARIABLE
avait une chance de marcher, mais c'est moyen-moyen.

D'autres idées ?

Fred
--
And you run and you run to catch up with the sun, but it's sinking
And racing around to come up behind you again
The sun is the same in the relative way, but you're older
Shorter of breath and one day closer to death (Pink Floyd, Time)

2 réponses

Avatar
Thierry Thomas
Lundi 19 décembre 2005 à 19:32 GMT, F. Senault a écrit :
'Jour.


'soir,

Je suis en train d'essayer de mettre au point un mécanisme qui me
permettrait à partir d'une machine de compiler des packages pour les
autres du réseau, avec possibilité d'automatiser les mises à jour.


Pour faire ça, le mieux c'est de monter une tinderbox
=> Cf. <http://tinderbox.marcuscom.com/&gt;.

Evidemment, le défaut est que j'utilise de temps en temps des options de
compilation (make -DWITH_BLA, fichier options, portupgrade et
pkgtools.conf) qui ne sont pas forcément communes à toutes les machines
(ça couvre peut-être 10% des ports installés).


Si les options de compilations varient, le plus simple est de
transformer les ports concernés en /slaves/ et de créer des /masters/
avec les options voulues (penser à modifier le PKGNAME pour repérer et
ne pas écraser les packages).

D'ailleurs si certains sont judicieux, ne pas hésiter à les proposer au
mainteneur, ça profitera à d'autres.
--
Th. Thomas.

Avatar
F. Senault

Lundi 19 décembre 2005 à 19:32 GMT, F. Senault a écrit :
'Jour.


'soir,


Pareil.

Je suis en train d'essayer de mettre au point un mécanisme qui me
permettrait à partir d'une machine de compiler des packages pour les
autres du réseau, avec possibilité d'automatiser les mises à jour.


Pour faire ça, le mieux c'est de monter une tinderbox
=> Cf. <http://tinderbox.marcuscom.com/&gt;.


Ouch. Ca semble très lourd, malgré tout. J'ai bien commencé dans la
même voie, mais sans base de données mysql et sans démon pour soumettre
les compilations (par contre, j'y vais à coups de portupgrade)... :)

Evidemment, le défaut est que j'utilise de temps en temps des options de
compilation (make -DWITH_BLA, fichier options, portupgrade et
pkgtools.conf) qui ne sont pas forcément communes à toutes les machines
(ça couvre peut-être 10% des ports installés).


Si les options de compilations varient, le plus simple est de
transformer les ports concernés en /slaves/ et de créer des /masters/
avec les options voulues (penser à modifier le PKGNAME pour repérer et
ne pas écraser les packages).


De nouveau, c'est relativement lourd, et ça implique une modification
manuelle qui n'est pas foncièrement évidente, surtout quand on ne
pratique pas le makefile à tous les petits déjeuners... (En plus, je ne
trouve même pas de doc à ce sujet... ce n'est pas dans le porter's
handbook ?)

Et, pour automatiser, on en revient à la question initiale : comment
trouver les ports qui sont modifiés après coup automatiquement...

D'ailleurs si certains sont judicieux, ne pas hésiter à les proposer au
mainteneur, ça profitera à d'autres.


Ce ne sont que des utilisations des variables existantes proposées dans
les ports, strictement rien d'exotique.

Pour le moment, je reste avec mon bricolage, ça a presque l'air de tenir
la route.

Fred
--
Lord, grant me the serenity to accept the things I cannot change, the
courage to try to change the things I can, and the wisdom to hide the
bodies of the people I had to kill because they pissed me off.
(Keith Eluard)