En introduksjon til
pakking av Debianpakker

Tollef Fog Heen

tfheen@debian.org


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

Innhold


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

.deb-pakkeformatet

Svært enkelt pakkeformat (ar)


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

metadata


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

metadata-syntaks

RFC2822-felter


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

Eksempel

Source: hello-dbs
Section: devel
Priority: optional
Maintainer: Tollef Fog Heen <tfheen@debian.org>
Build-depends: dbs, debhelper
Standards-Version: 3.5.6

Package: hello-dbs
Architecture: any
Depends: ${shlibs:Depends}
Conflicts: hello
Provides: hello
Replaces: hello
Description: The classic greeting, and a good example
 The GNU hello program produces a familiar, friendly greeting.
 It allows nonprogrammers to use a classic computer science
 tool which would otherwise be unavailable to them.

Tollef Fog Heen <tfheen@debian.org> Debian Swirl

Maintainer-scripts


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

build-essential

Avhengig av de aller mest vanlige pakkene som trengs for å lage pakker:


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

dpkg-dev

dpkg-dev inneholder nødvendige scripts for å bygge pakker og legge metadata på rett plass i pakken.


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

debian/rules

Makefil som minst kan


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

debhelper

Mesteparten av koden i debian/rules er felles for mange pakker. Det er derfor meningsfylt å automatisere disse oppgavene slikt som komprimering av dokumentasjon, retting av filrettigheter, bygging av selve .deb-pakken osv.

Dette gjør det også lett å holde seg oppdatert i forhold til Debians policy: når det gjøres endringer der vil debhelper endres slikt at disse endringene automatisk blir implementert.


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

debhelper: eksempel

gzip -9f debian/tmp/usr/share/man/*/*
dpkg-shlibdeps debian/tmp/bin/* debian/tmp/usr/bin/*Rr
install -d debian/tmp/DEBIAN
install -m 755 debian/postinst debian/tmp/DEBIAN/
install -m 755 debian/prerm debian/tmp/DEBIAN/
dpkg-gencontrol -isp
dpkg --build debian/tmp ..
    

blir til

dh_compress
dh_shlibdeps
dh_installdeb
dh_builddeb

Tollef Fog Heen <tfheen@debian.org> Debian Swirl

debconf


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

Tilleggsverktøy


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

Demonstrasjon


Tollef Fog Heen <tfheen@debian.org> Debian Swirl

The end.

Spørsmål?

Kommentarer?

Idéer?


Tollef Fog Heen <tfheen@debian.org> Debian Swirl