linux:create_debian_package

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:create_debian_package [2025/01/02 14:53] – [Créer un paquet Debian] add links phswlinux:create_debian_package [2026/05/31 19:42] (Version actuelle) – [Récupérer un paquet] dget: precise how to get all binary packages from a source package with a specific version phsw
Ligne 13: Ligne 13:
   * [[https://blog.liw.fi/posts/2023/debian-reasons/|Why is Debian the way it is?]]   * [[https://blog.liw.fi/posts/2023/debian-reasons/|Why is Debian the way it is?]]
   * [[https://www.linuxembedded.fr/2024/04/introduction-au-paquetage-pour-debian|Introduction au 📦 paquetage pour Debian]]   * [[https://www.linuxembedded.fr/2024/04/introduction-au-paquetage-pour-debian|Introduction au 📦 paquetage pour Debian]]
 +  * [[https://optimizedbyotto.com/post/debian-maintainer-habits/|10 habits to help becoming a Debian maintainer]]
  
   * [[https://diziet.dreamwidth.org/10559.html|Debian’s approach to Rust - Dependency handling]]   * [[https://diziet.dreamwidth.org/10559.html|Debian’s approach to Rust - Dependency handling]]
   * [[https://samueloph.dev/personal_website_files/slides/samueloph_slides_2024_07_fixing_cves_on_debian.pdf|Fixing CVEs on Debian: Everything you probably know already]]   * [[https://samueloph.dev/personal_website_files/slides/samueloph_slides_2024_07_fixing_cves_on_debian.pdf|Fixing CVEs on Debian: Everything you probably know already]]
   * [[https://samueloph.dev/personal_website_files/slides/samueloph_slides_2024_08_the_secret_sauce_of_debian.pdf|The secret sauce of Debian]]   * [[https://samueloph.dev/personal_website_files/slides/samueloph_slides_2024_08_the_secret_sauce_of_debian.pdf|The secret sauce of Debian]]
 +  * [[https://wiki.debian.org/BuildProfileSpec]]
 +  * [[https://diziet.dreamwidth.org/20436.html|Debian’s git transition]]
  
  
Ligne 44: Ligne 47:
   * ''debcheckout <paquet>'' clone le dépôt du paquet (champ Vcs-* du paquet source)   * ''debcheckout <paquet>'' clone le dépôt du paquet (champ Vcs-* du paquet source)
   * ''dget <paquet>'' récupère le ''.deb'' du paquet (on peut l'extraire avec ''dpkg-deb -x <paquet>.deb .'')   * ''dget <paquet>'' récupère le ''.deb'' du paquet (on peut l'extraire avec ''dpkg-deb -x <paquet>.deb .'')
 +    * Il est possible de récupérer tous les paquets binaires d'un paquet source d'une version spécifique avec ''dget -a file=1:5.47-2''
   * ''apt source <paquet>'': récupère les sources du paquet (dossier des sources, le fichier dsc, le orig.tar.xz et le debian.tar.xz)   * ''apt source <paquet>'': récupère les sources du paquet (dossier des sources, le fichier dsc, le orig.tar.xz et le debian.tar.xz)
  
Ligne 196: Ligne 200:
   * [[https://people.debian.org/~debalance/packaging-with-git.html]]   * [[https://people.debian.org/~debalance/packaging-with-git.html]]
   * https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/index.html   * https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/index.html
 +  * [[https://optimizedbyotto.com/post/debian-packaging-from-git/|Creating Debian packages from upstream Git]]
 +  * [[https://optimizedbyotto.com/post/debian-source-package-git/|Debian source packages in git explained]]
  
  
Ligne 298: Ligne 304:
 <code> <code>
 gbp import-orig --uscan gbp import-orig --uscan
 +</code>
 +
 +
 +=== Cas sans branche upstream ===
 +
 +  * un paquet existe
 +  * le paquet est géré sous Git
 +  * upstream publie des releases
 +  * il n'y a pas de branche ''upstream'' dans le dépôt Git Salsa
 +
 +([[https://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.convert.html#gbp.import.upstream.not.on.branch|source]])
 +
 +<code bash>
 +# cloner le dépôt Git Salsa
 +git checkout pristine-tar
 +git checkout master
 +git checkout --orphan upstream
 +git rm -rf .
 +git commit --allow-empty -m 'Initial upstream branch.'
 +git checkout master
 +
 +gbp import-orig --uscan --pristine-tar
 </code> </code>
  
Ligne 433: Ligne 461:
   * https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/   * https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
   * https://wiki.debian.org/CopyrightReviewTools   * https://wiki.debian.org/CopyrightReviewTools
 +  * https://codeberg.org/buhtz/spdx2dep
  
 Depuis la racine des sources d'un paquet, exécuter ''lrc'' (fourni par le paquet ''licenserecon''). Depuis la racine des sources d'un paquet, exécuter ''lrc'' (fourni par le paquet ''licenserecon'').
Ligne 503: Ligne 532:
   * [[https://github.com/ezhukov/testvm]]   * [[https://github.com/ezhukov/testvm]]
  
-''build-rdeps'' liste les dépendances inverses d'un paquet binaire.+''build-rdeps'' liste les dépendances inverses d'un paquet binaire, on peut donc lister toutes les dépendances inverses d'un paquet source avec : 
 +<code bash> 
 +build-rdeps --distribution unstable --only-main $(grep Package debian/control | cut -d ' ' -f 2) 
 +</code> 
 + 
 +Ensuite pour reconstruire un paquet en incluant un paquet ''.deb'' construit localement : 
 +<code bash> 
 +sbuild --extra-package=/abolute/path/package_amd64.deb --extra-package=/absolute/path/package-dev_amd64.deb otherpackage 
 +</code> 
 + 
 + 
 +==== Cross-build ====
  
 +  * [[https://subdivi.de/~helmut/mdct24-cross.pdf]]
 +  * [[https://wiki.debian.org/CrossCompiling]]
 +  * [[https://wiki.debian.org/CrossBuildPackagingGuidelines]]
 +  * https://wiki.debian.org/CategoryMultiarch
 +  * [[https://wiki.debian.org/umlaeute/Packaging4CrossCompiling]]
  
  
  • linux/create_debian_package.1735826030.txt.gz
  • Dernière modification : 2025/01/02 14:53
  • de phsw