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 [2024/07/20 23:22] – [Fichier copyright] add lrc phswlinux:create_debian_package [2026/03/05 18:46] (Version actuelle) – [Fichier copyright] add link phsw
Ligne 12: Ligne 12:
   * [[https://anarc.at/software/debian-development/]]   * [[https://anarc.at/software/debian-development/]]
   * [[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://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://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://wiki.debian.org/BuildProfileSpec]]
 +  * [[https://diziet.dreamwidth.org/20436.html|Debian’s git transition]]
  
  
Ligne 18: Ligne 26:
   * ''devscripts''   * ''devscripts''
   * ''dh-make''   * ''dh-make''
- 
-  * Mainteneur Debian : ne peut uploader que ses paquets sans RFS 
-  * Développeur Debian : peut uploader n'importe quel paquet 
  
  
Ligne 132: Ligne 137:
 Créer le premier chroot: Créer le premier chroot:
 <code bash> <code bash>
-sudo sbuild-createchroot unstable /media/linux/chroots/unstable-sbuild http://127.0.0.1:3142/ftp.fr.debian.org/debian+sudo sbuild-createchroot --include=eatmydata,ccache unstable /media/linux/chroots/unstable-amd64-sbuild http://192.168.1.55:3142/ftp.fr.debian.org/debian
 </code> </code>
  
Ligne 145: Ligne 150:
 <code bash> <code bash>
 sbuild -d testing sbuild -d testing
 +</code>
 +
 +Créer un chroot pour backports :
 +<code bash>
 +sudo sbuild-createchroot --include=eatmydata,ccache --extra-repository="deb http://192.168.1.55:3142/ftp.fr.debian.org/debian bookworm-backports main" --chroot-prefix=bookworm-backports bookworm /media/linux/chroots/bookworm-backports-amd64-sbuild http://192.168.1.55:3142/ftp.fr.debian.org/debian
 +</code>
 +On peut ensuite l'utiliser avec :
 +<code bash>
 +sbuild -d bookworm-backports
 </code> </code>
  
Ligne 185: Ligne 199:
   * [[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 287: Ligne 303:
 <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 371: Ligne 409:
   * https://wiki.debian.org/DebianDak   * https://wiki.debian.org/DebianDak
  
-Construire le paquet en le signant :+Construire le paquet en le signant (le paquet ne sera pas signé si la distribution ciblée est ''UNRELEASED'':
 <code bash> <code bash>
 debuild debuild
Ligne 422: Ligne 460:
   * 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 492: Ligne 531:
   * [[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]] 
 + 
 + 
 +==== Devenir un DM ou DD ==== 
 + 
 +  * Mainteneur Debian : ne peut uploader que ses paquets sans RFS 
 +  * Développeur Debian : peut uploader n'importe quel paquet 
 + 
 +  * [[https://www.debian.org/doc/manuals/developers-reference/new-maintainer.fr.html|Référence des développeurs : Candidater pour devenir membre du projet]] 
 +  * [[https://www.debian.org/devel/join/newmaint|Le coin des nouveaux membres Debian]] 
 +  * [[https://wiki.debian.org/DebianMaintainer|DebianMaintainer]]
  • linux/create_debian_package.1721510545.txt.gz
  • Dernière modification : 2024/07/20 23:22
  • de phsw