Il est courant dans le monde du logiciel libre d'étudier le code source ou
éventuellement de faire des corrections sur du code bogué. Pour le faire, vous
aurez besoin de télécharger les sources du programme. Le système
apt
fournit une solution facile pour obtenir le code source des
nombreux programmes contenus dans la distribution, en incluant tous les
fichiers pour créer un .deb
pour le programme.
Un autre usage courant des sources Debian est d'adapter une version d'un programme plus récente, de la distribution unstable, par exemple, pour l'utiliser dans la distribution stable. Compiler un paquet avec stable générera des .deb avec des dépendances ajustées pour que ce paquet puisse être disponible dans cette distribution.
Pour accomplir ceci, l'entrée deb-src dans votre /etc/apt/sources.list doit pointer vers unstable. Elle doit être aussi permise (décommentée). Voir la section Le fichier /etc/apt/sources.list, Section 2.1.
Pour télécharger un paquet source, vous devez utiliser la commande suivante :
$ apt-get source nomdupaquet
Cela téléchargera trois fichiers : un .orig.tar.gz, un .dsc et un .diff.gz. Dans le cas où les paquet sont faits spécialement pour Debian, le dernier de ceux-ci n'est pas téléchargé et le premier n'a généralement pas « orig » dans le nom.
Le fichier .dsc est utilisé par dpkg-source pour dépaqueter le
paquet source dans le répertoire nomdupaquet-version. Avec chaque
paquet source téléchargé, il y a un répertoire debian/ qui
contient les fichiers nécessaires pour la création d'un paquet
.deb
.
Pour construire automatiquement le paquet lorsqu'il est téléchargé, ajoutez seulement -b à la ligne de commande, comme ceci :
$ apt-get -b source nomdupaquet
Si vous décidez de ne pas créer de .deb lorsque vous le téléchargez, vous pouvez le créer plus tard en exécutant :
$ dpkg-buildpackage -rfakeroot -uc -b
à l'intérieur du répertoire créé pour le paquet après le téléchargement. Pour installer le paquet contruit par la commande ci-dessus, vous devez directement utiliser le gestionnaire de paquets, comme ceci :
# dpkg -i fichier.deb
Il y a une différence entre les méthodes apt-get
source et ses autres méthodes. La méthode source
peut être utilisée par un utilisateur normal, sans avoir besoin des droits
root. Les fichiers sont téléchargés dans le répertoire à partir duquel la
commande apt-get
source paquet a été appelée.
Normalement, des en-têtes et des bibliothèques dynamiques spécifiques doivent être présentes pour qu'un paquet source puisse être compilé. Tous les paquets source ont un champ dans leur fichier contrôle appelé « Buil-Depends : » qui indique quels paquets supplémentaires sont nécessaires pour la construction à partir des sources.
apt
possède une solution simple pour télécharger ces paquets.
Exécutez juste apt-get build-dep paquet, où « paquet »
est le nom du paquet que vous allez construire. Par exemple :
# apt-get build-dep gmc Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev libgpmg1-dev 0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded. Need to get 1069kB of archives. After unpacking 3514kB will be used. Do you want to continue? [Y/n]
Les paquets qui seront installés sont les paquets nécessaires pour que
gmc
soit compilé correctement. C'est important de noter que cette
commande ne cherche pas le paquet source du programme à compiler. Vous devrez
par conséquent exécuter apt-get
source séparément
pour le récupérer.
Si tout ce que vous voulez est de vérifier quels paquets sont nécessaires pour contruire un paquet donné, il existe une variante de la commande apt-cache show (voir Avoir des informations sur les paquets, Chapitre 5) qui affichera, parmi toutes les informations disponibles, la ligne Build-Depends qui liste ces paquets.
# apt-cache showsrc paquet
APT HOWTO
1.8.5 - juin 2002kov@debian.org
leonptitlouis@ifrance.com