User Tools

Site Tools


debianpackaging

Jonathan Riddell: http://www.fosdem.org/2008/schedule/events/crossdesktop_deb_intro

  • basic package: build-essential, devscripts, debhelper, dh-make, fakeroot
  • fix exisiting packages: diff, patch
  • checking: lintian, pbuilder, gnupg

met le tar.gz dezippé dans un répertoire, puis créer dedans: debian/ (ou bien c'est dh_make qui le fait?).

dh_make

changelog:

  • debian: soft-version.upstream-1
  • ubuntu: soft-version-0ubuntu1
  • mettre son nom

compat:

  • 6 ou 5, ici 6 (pas un backport)

control:

Source: hello
Section: utils
Priority: extra
Maintainer: Prenom Nom <jr@toto.com> pour Debian
Maintainer: Ubuntu MOTU <ubuntu-motu@lists.ubuntu.com>
Build-Depends: debhelper (>= 6), autotools-dev
Standards-Version: 3.7.2

Package: hello
Architecture: any
Depends: $[shlibs:Depends], $[misc:Depends]
Description: <insert up to 60 chars description>
 <insert long description, indented with spaces>

les [] sont des accolades :(

copyright:

  • very important
  • need full copy of licence in tar
  • code files should have licence header and copyright holder
  • make sur you get the right (L)GPL version
  • is FDL included?
  • can it link to librarires it links to? (openssl, GPL versions)

Pas mal de paquets rejetés car pas rempli correctement.

This package is debianized by kk

rules:

  • the complex bit
  • makefile and bash
  • can get ugly

For most cases, the templates will suffice.

plusieurs parties: configure, make, build, clean, install

build the package:

debuild

ça foire parce que $(MAKE) distclean marche pas (pas besoin) > on met un dash devant le $(MAKE) distclean

et ça marche.

Il y a des warnings, mais on s'en tape ici (en fait, il faudrait regarder).

cd debian/hello

On voit les fichiers créés, notamment le binaire: .deb et aussi, .dsc, .diff.gz, tar.gz

lesspipe nom.deb

on voit ce qu'il y a de dedans

On l'installe:

sudo kpkg --install nom.deb

More testing:

lintian foo.dsc
lintian foo.deb

builds for your? use pbuilder for a clean system

source builds:

debuild -S: .scp

upload:

  • get an account on revu
  • upload to PPA: testé sur autres architectures
  • ask someone to upload to Ubuntu

dput revu foo.changes

More comple?

multiple .debs (ex: KDE)

add more packages to debian/control install to debian/tmp list files in debian/foo.install debian/…

upstream is brokern.

add patches in debian/patches configure: patch -p1 > debian/patches/foo.diff clean: …

CDBS: uses more advanced features of make files

debdiff: voir différences entre vieux .deb et celui qu'on a fait.

https://wiki.kubuntu.org/PackingGuide

debianpackaging.txt · Last modified: 2013/01/30 17:51 (external edit)