15.01.2013 Views

Debian Package Management - debian.org Developers LDAP Search

Debian Package Management - debian.org Developers LDAP Search

Debian Package Management - debian.org Developers LDAP Search

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

<strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

Luk Claes<br />

cultuurverantwoordelijke<br />

luk@zeus.ugent.be<br />

22 november 2004<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Overzicht<br />

1 Inleiding<br />

Overzicht<br />

WWW<br />

2 Pakketten beheren<br />

Structuur<br />

Aandachtspunten<br />

3 Gevorderd<br />

Problemen<br />

debconf<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Overzicht<br />

1 Inleiding<br />

Overzicht<br />

WWW<br />

2 Pakketten beheren<br />

Structuur<br />

Aandachtspunten<br />

3 Gevorderd<br />

Problemen<br />

debconf<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Overzicht<br />

WWW<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Installatie en gebruik<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Overzicht<br />

WWW<br />

<strong>Debian</strong> Installation Manual in <strong>debian</strong>-installer-manual<br />

(/usr/share/doc/<strong>debian</strong>-installer-manual/manual/en/)<br />

<strong>Debian</strong> Reference in <strong>debian</strong>-reference-en<br />

(/usr/share/doc/<strong>Debian</strong>/reference/index.html)<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Pakketinstallatie<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

dpkg: man-pagina dpkg(8)<br />

Overzicht<br />

WWW<br />

dselect: man-pagina’s dselect(8) en dselect.cfg(5)<br />

apt(-get): APT HOWTO in apt-howto-en<br />

(/usr/share/doc/<strong>Debian</strong>/apt-howto/)<br />

aptitude: documentatie in aptitude-doc-en<br />

(/usr/share/doc/aptitude/html/index.html)<br />

synaptic: grafisch zie in Help-menu van synaptic<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Pakketten beheren<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Overzicht<br />

WWW<br />

New Maintainers Guide in maint-guide<br />

(/usr/share/doc/maint-guide/maint-guide.en.html/)<br />

<strong>Debian</strong> <strong>Developers</strong> Reference in developers-reference<br />

(/usr/share/doc/developers-reference/index.en.html)<br />

<strong>Debian</strong> Policy Manual in <strong>debian</strong>-policy<br />

(/usr/share/doc/<strong>debian</strong>-policy/policy.html/)<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Handige programma’s<br />

Overzicht<br />

WWW<br />

template maken met dh_make uit dh-make<br />

hulpcommando’s in <strong>debian</strong>/rules uit debhelper<br />

hulpprogramma’s voor pakketbeheer (debc, debdiff,<br />

debuild, dpkg-depcheck) uit devscripts<br />

eerste controle met lintian en linda<br />

uitgebreide controle met pbuilder<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Overzicht<br />

1 Inleiding<br />

Overzicht<br />

WWW<br />

2 Pakketten beheren<br />

Structuur<br />

Aandachtspunten<br />

3 Gevorderd<br />

Problemen<br />

debconf<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Overzicht<br />

WWW<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Informatiebronnen<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

http://www.<strong>debian</strong>.<strong>org</strong><br />

algemene website<br />

Overzicht<br />

WWW<br />

http://www.<strong>debian</strong>.<strong>org</strong>/intro<br />

introductie (+ content negotiation)<br />

http://www.<strong>debian</strong>.<strong>org</strong>/doc<br />

allerhande documentatie<br />

http://www.<strong>debian</strong>.<strong>org</strong>/devel<br />

documentatie voor ontwikkelaars<br />

http://nm.<strong>debian</strong>.<strong>org</strong><br />

documentatie voor ’New Maintainers’<br />

http://mailinglists.<strong>debian</strong>.<strong>org</strong><br />

mailinglijsten<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Overzicht<br />

1 Inleiding<br />

Overzicht<br />

WWW<br />

2 Pakketten beheren<br />

Structuur<br />

Aandachtspunten<br />

3 Gevorderd<br />

Problemen<br />

debconf<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur<br />

Aandachtspunten<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Bronpakket en binair pakket<br />

Bronpakket<br />

Structuur<br />

Aandachtspunten<br />

_.orig.tar.gz<br />

_-.diff.gz<br />

_-.dsc<br />

Binair pakket<br />

_-_.deb<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur van een pakket<br />

Structuur<br />

Aandachtspunten<br />

<strong>debian</strong>/control meta-informatie en afhankelijkheden<br />

<strong>debian</strong>/copyright auteursrecht en licensie-informatie<br />

<strong>debian</strong>/changelog versie en wijzigingen<br />

<strong>debian</strong>/rules Makefile die binair pakket bouwt<br />

<strong>debian</strong>/... hulpbestanden of andere <strong>Debian</strong>-specifieke<br />

bestanden<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


<strong>debian</strong>/control<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Source: [naam_bronpakket]<br />

Structuur<br />

Aandachtspunten<br />

Section: [(main-) sectie | contrib/sectie | non-free/sectie]<br />

Priority: [required | important | standard | optional | extra]<br />

Maintainer: [Voornaam Naam ]<br />

Build-Depends: [pakketten gescheiden door komma’s]<br />

Standards-Version: [versie van de <strong>Debian</strong> Policy die dit<br />

pakket volgt]<br />

<strong>Package</strong>: [naam binair pakket]<br />

Architecture: [any | all | arch-lijst]<br />

Depends: [pakketten gescheiden door komma’s]<br />

Description: [korte beschrijving]<br />

[uitgebreide beschrijving]<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


afhankelijkheden<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur<br />

Aandachtspunten<br />

Depends: pakketten nodig om goed te kunnen werken<br />

Recommends: pakketten die typisch samen met dit pakket<br />

worden gebruikt<br />

Suggests: pakketten die goed kunnen samenwerken met<br />

dit pakket<br />

Conflicts: pakketten die verwijderd moeten worden om dit<br />

pakket te laten werken<br />

Replaces: pakketten waarvan bestanden worden<br />

overschreven<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


<strong>debian</strong>/copyright<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur<br />

Aandachtspunten<br />

This package was <strong>debian</strong>ized by on <br />

It was downloaded from <br />

Upstream Author: <br />

Copyright: <br />

<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


<strong>debian</strong>/changelog<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur<br />

Aandachtspunten<br />

() ;<br />

urgency=<br />

* wijziging(en)<br />

– <br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


<strong>debian</strong>/rules<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur<br />

Aandachtspunten<br />

Makefile voor meer informatie zie GNU Make Manual<br />

(http://www.gnu.<strong>org</strong>/software/make/manual/)<br />

#!/usr/bin/make -f<br />

build: <br />

binary (, binary-arch, binary-indep): <br />

clean: <br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Overzicht<br />

1 Inleiding<br />

Overzicht<br />

WWW<br />

2 Pakketten beheren<br />

Structuur<br />

Aandachtspunten<br />

3 Gevorderd<br />

Problemen<br />

debconf<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur<br />

Aandachtspunten<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


<strong>Debian</strong> Policy<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Structuur<br />

Aandachtspunten<br />

Verplichte regels voor pakketten in <strong>Debian</strong><br />

Bijkomende regels en sub-policies<br />

debconf-specificatie: debconf voor alle invoer gebruiker<br />

fhs: bestandsysteemstructuur<br />

menu-policy<br />

mime-policy<br />

perl-policy en dergelijke<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

<strong>Developers</strong> Reference<br />

Structuur<br />

Aandachtspunten<br />

Overzicht procedures en informatiebronnen voor<br />

(kandidaat-) ’ontwikkelaars’<br />

Hoofdstuk 6 - Best Packaging Practices<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

New Maintainers Guide<br />

Structuur<br />

Aandachtspunten<br />

Een nieuw pakket bouwen met hulp van dh-make en<br />

debhelper<br />

dpkg-buildpackage -rfakeroot of debuild<br />

Controleren op fouten<br />

pakket installeren/opwaarderen en testen of het werkt<br />

(dpkg -i)<br />

lintian -iI _-_.changes<br />

linda -t W,E,I <br />

debdiff <br />

debc <br />

pakket degraderen (apt-get install<br />

=-)<br />

pakket verwijderen (apt-get remove) en herinstalleren<br />

pbuilder <br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Overzicht<br />

1 Inleiding<br />

Overzicht<br />

WWW<br />

2 Pakketten beheren<br />

Structuur<br />

Aandachtspunten<br />

3 Gevorderd<br />

Problemen<br />

debconf<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Problemen<br />

debconf<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Praktische commando’s<br />

Problemen<br />

debconf<br />

’apt-cache search ’ of apt-file search ’<br />

dpkg-source <br />

apt-get <br />

apt-cache <br />

apt-file <br />

problemen: ’apt-get -f install’ en ’dpkg –configure -a’<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Backporting, pinning en ...<br />

Problemen<br />

debconf<br />

Wanneer je een pakket nodig hebt van een hogere versie dan<br />

in de distributie die je gebruikt:<br />

pakket en afhankelijkheden installeren met apt-get -t<br />

install (sources.list aanpassen)<br />

pinning: bepaalde versie van pakket(ten) behouden (zie<br />

APT HOWTO)<br />

apt-get build-dep ; dpkg-source -b <br />

backporting: problemen met bovenstaande (zie<br />

http://<strong>debian</strong>.ethz.ch/pub/<strong>debian</strong>-backports/utils/Backport-<br />

HOWTO.html)<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


equivs<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Problemen<br />

debconf<br />

eigen versie software zonder deb-bestand<br />

meta-pakket zodat bepaalde software wel/niet<br />

geïnstalleerd is<br />

/usr/share/doc/equivs/README.<strong>Debian</strong>:<br />

equivs-control <br />

controle-bestand aanpassen en equivs-build<br />

<br />

dpkg -i <br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Overzicht<br />

1 Inleiding<br />

Overzicht<br />

WWW<br />

2 Pakketten beheren<br />

Structuur<br />

Aandachtspunten<br />

3 Gevorderd<br />

Problemen<br />

debconf<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Problemen<br />

debconf<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


debconf template<br />

Template: <br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Problemen<br />

debconf<br />

Type: <br />

Default: <br />

Description: <br />

<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


debconf in de shell<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Problemen<br />

debconf<br />

<strong>debian</strong>/config<br />

. /usr/share/debconf/confmodule<br />

db_input || true<br />

db_go || true<br />

<strong>debian</strong>/postinst<br />

db_get <br />

if [ "$RET"= ""]; then<br />

...<br />

fi<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

debconf documentatie<br />

Problemen<br />

debconf<br />

/usr/share/doc/debconf-doc/README en man-pagina’s in<br />

debconf-doc<br />

/usr/share/doc/<strong>debian</strong>-policy/debconf-specification.*<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo


Bedanking<br />

Inleiding<br />

Pakketten beheren<br />

Gevorderd<br />

Problemen<br />

debconf<br />

Bedankt voor de aandacht en de interesse in <strong>Debian</strong><br />

Luk Claes <br />

<strong>Debian</strong> l10n Dutch<br />

<strong>Debian</strong> NM<br />

Luk Claes <strong>Debian</strong> <strong>Package</strong> <strong>Management</strong><br />

university-logo

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!