Installation des programmes avec les sources Debian

Bonjour,
J’utilise Debian depuis pas mal de temps désormais et je suis très satisfait de cette distribution.
Cependant auparavant lorsque je souhaitais installer un programme, j’utilisais apt-get
install nom-programme

J’ai ensuite préférer compiler les programmes avec les sources officiels afin que je puisse les installer avec les options que je voulais. Notamment PHP-5 afin que je puisse avoir toutes les fonctions disponible sur GD.
Cependant lorsqu’un programme dispose d’une mise à jour, je suis obligé de recompiler le programme et celà prend du temps; d’autant plus quand on a plusieurs machines.

Ma question aujourd’hui est : Si on compile avec les sources fourni par Debian, est-ce qu’en faisant apt-get update et ensuite apt-get upgrade, ça nous mette à jour le programme que l’on a compilé avec les sources et notamment toutes les options de compilation que l’on a mise.

Si celà est possible alors j’aimerais connaître la manipulation afin de récupérer les sources et la méthode pour compiler si celle-ci diffère de la compilation classique.

C’est une question assez riche “comme ça” car ça signifie se plonger dans les techniques d’empaquetage (voir viewtopic.php?f=8&t=4691 ).
Pour juste changer des flags de compil, en gros par exemple (il y a de nombreuses manières), tu récupères les sources debian avec apt-get source , ce qui te déploie les sources dans un sous répertoire, puis tu descend dedans y éditer debian/rules pour modifier tes flags pour le configure, et tu finis par une reconstruction des paquets (ça marche comme le dpkg-buildpackage pour le noyau):

fakeroot dpkg-buildpackage -b -uc ls ../*.deb
Evidemment, ça te permet de recompiler >une< version du paquet avec tes flags, mais pour automatiser la mise à jour avec les mêmes flags, je ne sais pas trop comment faire…
Passer sous gentoo ? :smt003

[quote=“mattotop”]pour automatiser la mise à jour avec les mêmes flags, je ne sais pas trop comment faire…
Passer sous gentoo ? [/quote]+1

Donc si je comprend bien lorsqu’il y aura une nouvelle version d’un paquet je devrais re télécharger les sources afin de recréer un paquet en extension .deb

Cependant est-ce que ce paquet que j’aurais recréé sur une machine (par exemple i386) avec mes flags sera installable sur tout type d’architecture comme i386, amd64, etc… en même temps ?

Car l’idée dans ce cas sera de re télécharger les sources, de recréer le paquet avec mes flags et de copier ce nouveau paquet sur tout mes autres serveurs.

[quote=“SouCaline”]Donc si je comprend bien lorsqu’il y aura une nouvelle version d’un paquet je devrais re télécharger les sources afin de recréer un paquet en extension .deb[/quote] Oui. En retouchant les flags à chaque fois (ou en préparant un patch pour automatiser). Mais il doit forcément exister des outils avancés, simplement, je ne les connais pas. [quote=“SouCaline”] Cependant est-ce que ce paquet que j’aurais recréé sur une machine (par exemple i386) avec mes flags sera installable sur tout type d’architecture comme i386, amd64, etc… en même temps ?[/quote]Ca, ça dépend (un paquet de fontes est multiarch, par exemple), mais en général, oui, il faut cross compiler pour obtenir des paquets pour chacune des autres architectures que tu veux. [quote=“SouCaline”]Car l’idée dans ce cas sera de re télécharger les sources, de recréer le paquet avec mes flags et de copier ce nouveau paquet sur tout mes autres serveurs.[/quote] Je sais qu’il existe des outils avancés de recompilation multiarch et avec des patchs (c’est sur ces mécaniques que repose le projet debian donc forcément ça existe sous debian), mais je ne les connais pas.

Sinon, pour distribuer tes paquets, tu crées ton propre dépot, et tu l’ajoutes au sources.list de tes serveurs.

Pour automatiser la mise à jour, tu peux toujours créer une tache cron qui vérifie via apt-cache policy la version du paquet en question et qui génère le(s) binaires(s) pour toi.Ensuite pour déployer tout ça, comme le dit Matt, un dépot perso mais ça peut être un peu lourd en terme de ressources si ce n’est que pour quelques paquets et peu de serveurs.
Une autre solution pourrait être un système d’alerte mail qui automatise tout ça.Ca ne doit pas être bien difficile à mettre en place mais un peu chiant. :wink:

en regardant rapidement avec debtags search devel::debian, j’ai les paquets debhelper debian-builder debian-xcontrol devscripts dh-make dpkg-cross dpkg-dev rebuildd reprepro svn-buildpackage qui mériteraient une inspection pour faire de la maintenance auto.

Je vous remercie pour vos réponses.
Maintenant que j’ai l’air d’avoir tous les éléments dont il me faut je vais bosser sur tout ça.

Je pense que je vais faire des dépôts car je serais amené à avoir de plus en plus de serveurs sous Debian.