<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Compilation_de_paquets_de_la_distribution_debian</id>
	<title>Compilation de paquets de la distribution debian - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ycharbi.fr/index.php?action=history&amp;feed=atom&amp;title=Compilation_de_paquets_de_la_distribution_debian"/>
	<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Compilation_de_paquets_de_la_distribution_debian&amp;action=history"/>
	<updated>2026-04-05T06:08:33Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://doc.ycharbi.fr/index.php?title=Compilation_de_paquets_de_la_distribution_debian&amp;diff=1554&amp;oldid=prev</id>
		<title>Ycharbi : Page créée avec « Category:compilation  Sous ''GNU/Linux Debian'', il est possible de compiler et empaqueter un programme via les sources mises à disposition par ses [https://debian-handbook.info/browse/fr-FR/stable/sect.becoming-package-maintainer.html mainteneurs] dans les dépôts APT officiels. Cette méthode permet de générer un fichier ''.deb'' utilisant les mêmes options que le paquet proposé de base dans la distribution (ceci s'inscrit dans la d... »</title>
		<link rel="alternate" type="text/html" href="https://doc.ycharbi.fr/index.php?title=Compilation_de_paquets_de_la_distribution_debian&amp;diff=1554&amp;oldid=prev"/>
		<updated>2025-02-15T14:18:02Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Compilation&quot; title=&quot;Catégorie:Compilation&quot;&gt;Category:compilation&lt;/a&gt;  Sous &amp;#039;&amp;#039;GNU/Linux Debian&amp;#039;&amp;#039;, il est possible de compiler et empaqueter un programme via les sources mises à disposition par ses [https://debian-handbook.info/browse/fr-FR/stable/sect.becoming-package-maintainer.html mainteneurs] dans les dépôts &lt;a href=&quot;/index.php/Cat%C3%A9gorie:Apt&quot; title=&quot;Catégorie:Apt&quot;&gt;APT&lt;/a&gt; officiels. Cette méthode permet de générer un fichier &amp;#039;&amp;#039;.deb&amp;#039;&amp;#039; utilisant les mêmes options que le paquet proposé de base dans la distribution (ceci s&amp;#039;inscrit dans la d... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:compilation]]&lt;br /&gt;
&lt;br /&gt;
Sous ''GNU/Linux Debian'', il est possible de compiler et empaqueter un programme via les sources mises à disposition par ses [https://debian-handbook.info/browse/fr-FR/stable/sect.becoming-package-maintainer.html mainteneurs] dans les dépôts [[:Category:apt|APT]] officiels. Cette méthode permet de générer un fichier ''.deb'' utilisant les mêmes options que le paquet proposé de base dans la distribution (ceci s'inscrit dans la démarche [https://wiki.debian.org/ReproducibleBuilds ReproducibleBuilds] du projet). Il est alors possible d'y apporter ses propres modifications, appliquer des patchs ou utiliser des options de compilations différentes avant génération du paquet.&lt;br /&gt;
&lt;br /&gt;
De plus et contrairement à la méthode traditionnelle du &amp;lt;code&amp;gt;./configure&amp;lt;/code&amp;gt; ; &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; puis &amp;lt;code&amp;gt;make install&amp;lt;/code&amp;gt;, le procédé présenté dans cette documentation rend trivial l'installation des dépendances permettant la compilation complète du code sans devoir le faire, fort péniblement, de façon empirique et après s'être tapé une foultitude d'erreurs par itération de compilation (quand on y arrive, ce qui n'est même pas joué d'avance...). Enfin, la phase de compilation et d'empaquetage se réalise d'elle même et sans erreur (comme c'est agréable). Il en résulte un certain nombre de fichiers ''.deb'' permettant l'installation du programme.&lt;br /&gt;
&lt;br /&gt;
Ajout de la branche contenant les sources des paquets ''Debian Bookworm'' à la [[Sources.list|liste d'APT]]&lt;br /&gt;
 echo &amp;quot;deb-src http://ftp2.fr.debian.org/debian bookworm main&amp;quot; &amp;gt;&amp;gt; /etc/apt/sources.list&lt;br /&gt;
&lt;br /&gt;
Mise à jour du catalogue ''APT''&lt;br /&gt;
 apt update&lt;br /&gt;
&lt;br /&gt;
Téléchargement des dépendances nécessaires à la compilation du binaire et à la construction de son paquet ([[Ffmpeg|ffmpeg]] pour l'exemple)&lt;br /&gt;
 apt build-dep ffmpeg&lt;br /&gt;
&lt;br /&gt;
Création du répertoire de travail&lt;br /&gt;
 mkdir /usr/local/src/ffmpeg &amp;amp;&amp;amp; cd /usr/local/src/ffmpeg&lt;br /&gt;
&lt;br /&gt;
Téléchargement des fichiers sources et de construction&lt;br /&gt;
 apt source ffmpeg&lt;br /&gt;
&lt;br /&gt;
Déplacement dans le répertoire des sources du programme&lt;br /&gt;
 cd ffmpeg-5.1.6&lt;br /&gt;
&lt;br /&gt;
{{astuce|Il est possible de modifier les options de compilation dans le script du mainteneur pour la construction du paquet &amp;lt;code&amp;gt;./debian/rules&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
Compilation et empaquetage du programme&lt;br /&gt;
 dpkg-buildpackage -us -uc -b&lt;br /&gt;
&lt;br /&gt;
Installation sur la machine cible. Les dépendances du paquet seront téléchargées sur le dépôt distant ou devront elles-aussi être compilés puis empaquetées de la même manière&lt;br /&gt;
 apt install ../ffmpeg_5.1.6-0+deb12u1_amd64.deb&lt;br /&gt;
&lt;br /&gt;
Test du programme&lt;br /&gt;
 ffmpeg -protocols&lt;br /&gt;
&lt;br /&gt;
=Sources=&lt;br /&gt;
* https://www.debian.org/doc/&lt;br /&gt;
* https://www.debian.org/doc/manuals/maint-guide/&lt;br /&gt;
** dont : https://www.debian.org/doc/manuals/maint-guide/build.fr.html&lt;br /&gt;
* hiérarchie des commandes : https://www.debian.org/doc/manuals/maint-guide/build.fr.html#hierarchy&lt;br /&gt;
* https://manpages.debian.org/unstable/dpkg-dev/dpkg-buildpackage.1.en.html&lt;br /&gt;
* https://manpages.debian.org/unstable/debhelper/dh_auto_configure.1.en.html&lt;br /&gt;
* https://wiki.debian.org/ReproducibleBuilds&lt;/div&gt;</summary>
		<author><name>Ycharbi</name></author>
	</entry>
</feed>