Outils pour utilisateurs

Outils du site


linux:debian:dpkg-buildpackage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:debian:dpkg-buildpackage [2018/12/04 18:58] – créée - modification externe 127.0.0.1linux:debian:dpkg-buildpackage [2024/10/06 18:41] (Version actuelle) olivier
Ligne 1: Ligne 1:
 ====== Comment recompiler un paquet Debian ====== ====== Comment recompiler un paquet Debian ======
  
-Je pars du principe que le paquet Debian existe déjà, mais que l'on souhaite modifier le paquet final, il nous faut donc les « sources ».+===== Variables d'environnement =====
  
-Vous devez avoir une ligne commençant par **deb-src** dans le fichier ''/etc/apt/sources.list''.+On doit définir 3 variables d'environnement (si le shell est bash, voici les lignes à rajouter) :
  
-===== Téléchargement =====+<file - .bashrc> 
 +[...]
  
-La manière la plus simple consiste à taper cette commande :+# For build .deb 
 +DEBEMAIL="" 
 +DEBFULLNAME="" 
 +export DEBEMAIL DEBFULLNAME
  
-<code>apt-get source nom-du-paquet</code>+export QUILT_PATCHES=debian/patches 
 +</file>
  
-<note important> +Il faut définir **DEBEMAIL** et **DEBFULLNAME**.
-Il n'est pas nécessaire d'être **root**. +
-</note>+
  
-Parfois les « sources » contiennent des //patches//, mais l'on ne souhaite pas les appliquer dans l'immédiat. Voici la démarche à suivre.+===== Les sources =====
  
-1. Ajouter une variable d'environnement dans le fichier de configuration de votre shell, ''export QUILT_PATCHES=debian/patches''.+==== Dans le(s) dépôt(s) officiel(s) ==== 
 + 
 +Si le paquet existe déjà, on peut récupérer les sources amonts à partir du dépôt, il faut « décommenter » la ligne **deb-src** dans le fichier ''/etc/apt/sources.list''
 + 
 +<code>apt source nom-du-paquet</code> 
 + 
 +Parfois les « sources » contiennent des //patches//, mais l'on ne souhaite pas les appliquer dans l'immédiat. Voici la démarche à suivre.
      
-2. On télécharge les sources sans effectuer la décompression de l'archive+1. On télécharge les sources sans effectuer la décompression de l'archive
      
 <code>apt-get --download-only source nom-du-paquet</code> <code>apt-get --download-only source nom-du-paquet</code>
      
-3. On extrait l'archive+2. On extrait l'archive
  
 <code>dpkg-source --skip-patches -x nom-du-paquet.dsc</code> <code>dpkg-source --skip-patches -x nom-du-paquet.dsc</code>
  
 +==== À partir du dossier debian/ ====
 +
 +Ce dossier contient plusieurs fichiers, notamment ''changelog'' et ''watch''. On peut utiliser l'utilitaire ''uscan'' (paquet **devscript**) pour télécharger les sources.
 +
 +<WRAP center shadow alert 60%>
 +La commande ''uscan'' ne doit pas être lancée dans le dossier ''debian/''.
 +</WRAP>
 +
 +''uscan'' « lit » la première ligne (cela correspond à la dernière version) du fichier ''changelog''. Il va ensuite créer un lien symbolique.
 +
 +<code>
 +uscan --force-download
 +</code>
 +
 +Si il n'existe pas de fichier ''watch'', on télécharge les sources de manière classique.
 ===== Gérer les patches ===== ===== Gérer les patches =====
  
-Consultez la [[documentation:debian:quilt|page]] dédiée à cette partie.+Consultez la [[linux:debian:quilt|page]] dédiée à cette partie.
  
 ===== Mettre à jour debian/changelog ===== ===== Mettre à jour debian/changelog =====
Ligne 38: Ligne 62:
  
 **pseudo** est un suffixe qui sera rajouté au paquet pour indiquer que le paquet a été reconstruit. **pseudo** est un suffixe qui sera rajouté au paquet pour indiquer que le paquet a été reconstruit.
- 
-<note>**dch** est un alias vers **debchange**.</note> 
  
 ===== Recompiler ===== ===== Recompiler =====
  
-<code>dpkg-buildpackage -us -uc</code>+<code>dpkg-buildpackage -us -uc -tc</code>
  
 Les options **-us -uc** évite une erreur lors de la signature du paquet (c'est pas indispensable dans notre cas). Les options **-us -uc** évite une erreur lors de la signature du paquet (c'est pas indispensable dans notre cas).
linux/debian/dpkg-buildpackage.1543946337.txt.gz · Dernière modification : 2018/12/04 18:58 de 127.0.0.1

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : Public Domain