Inleiding Pakketten beheren Gevorderd
Debian Package Management Luk Claes cultuurverantwoordelijke
[email protected]
22 november 2004
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht 1
Inleiding Overzicht WWW
2
Pakketten beheren Structuur Aandachtspunten
3
Gevorderd Problemen debconf
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht WWW
Overzicht 1
Inleiding Overzicht WWW
2
Pakketten beheren Structuur Aandachtspunten
3
Gevorderd Problemen debconf
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht WWW
Installatie en gebruik
Debian Installation Manual in debian-installer-manual (/usr/share/doc/debian-installer-manual/manual/en/) Debian Reference in debian-reference-en (/usr/share/doc/Debian/reference/index.html)
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht WWW
Pakketinstallatie
dpkg: man-pagina dpkg(8) dselect: man-pagina’s dselect(8) en dselect.cfg(5) apt(-get): APT HOWTO in apt-howto-en (/usr/share/doc/Debian/apt-howto/) aptitude: documentatie in aptitude-doc-en (/usr/share/doc/aptitude/html/index.html) synaptic: grafisch zie in Help-menu van synaptic
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht WWW
Pakketten beheren
New Maintainers Guide in maint-guide (/usr/share/doc/maint-guide/maint-guide.en.html/) Debian Developers Reference in developers-reference (/usr/share/doc/developers-reference/index.en.html) Debian Policy Manual in debian-policy (/usr/share/doc/debian-policy/policy.html/)
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht WWW
Handige programma’s
template maken met dh_make uit dh-make hulpcommando’s in debian/rules uit debhelper hulpprogramma’s voor pakketbeheer (debc, debdiff, debuild, dpkg-depcheck) uit devscripts eerste controle met lintian en linda uitgebreide controle met pbuilder
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht WWW
Overzicht 1
Inleiding Overzicht WWW
2
Pakketten beheren Structuur Aandachtspunten
3
Gevorderd Problemen debconf
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Overzicht WWW
Informatiebronnen http://www.debian.org algemene website http://www.debian.org/intro introductie (+ content negotiation) http://www.debian.org/doc allerhande documentatie http://www.debian.org/devel documentatie voor ontwikkelaars http://nm.debian.org documentatie voor ’New Maintainers’ http://mailinglists.debian.org mailinglijsten Luk Claes
Debian Package Management
university-logo
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
Overzicht 1
Inleiding Overzicht WWW
2
Pakketten beheren Structuur Aandachtspunten
3
Gevorderd Problemen debconf
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
Bronpakket en binair pakket
Bronpakket <pakket>_
.orig.tar.gz <pakket>_-.diff.gz <pakket>_-.dsc
Binair pakket <pakket>_-_<arch>.deb
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
Structuur van een pakket
debian/control meta-informatie en afhankelijkheden debian/copyright auteursrecht en licensie-informatie debian/changelog versie en wijzigingen debian/rules Makefile die binair pakket bouwt debian/... hulpbestanden of andere Debian-specifieke bestanden
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
debian/control Source: [naam_bronpakket] Section: [(main-) sectie | contrib/sectie | non-free/sectie] Priority: [required | important | standard | optional | extra] Maintainer: [Voornaam Naam <[email protected]>] Build-Depends: [pakketten gescheiden door komma’s] Standards-Version: [versie van de Debian Policy die dit pakket volgt] Package: [naam binair pakket] Architecture: [any | all | arch-lijst] Depends: [pakketten gescheiden door komma’s] Description: [korte beschrijving] [uitgebreide beschrijving] Luk Claes
Debian Package Management
university-logo
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
afhankelijkheden
Depends: pakketten nodig om goed te kunnen werken Recommends: pakketten die typisch samen met dit pakket worden gebruikt Suggests: pakketten die goed kunnen samenwerken met dit pakket Conflicts: pakketten die verwijderd moeten worden om dit pakket te laten werken Replaces: pakketten waarvan bestanden worden overschreven
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
debian/copyright
This package was debianized by <maintainer> on It was downloaded from Upstream Author: Copyright: <jaar, auteur>
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
debian/changelog
() ; urgency= * wijziging(en) – <maintainer> <822-datum>
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
debian/rules
Makefile voor meer informatie zie GNU Make Manual (http://www.gnu.org/software/make/manual/) #!/usr/bin/make -f build: binary (, binary-arch, binary-indep): clean:
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
Overzicht 1
Inleiding Overzicht WWW
2
Pakketten beheren Structuur Aandachtspunten
3
Gevorderd Problemen debconf
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
Debian Policy
Verplichte regels voor pakketten in Debian Bijkomende regels en sub-policies debconf-specificatie: debconf voor alle invoer gebruiker fhs: bestandsysteemstructuur menu-policy mime-policy perl-policy en dergelijke
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
Developers Reference
Overzicht procedures en informatiebronnen voor (kandidaat-) ’ontwikkelaars’ Hoofdstuk 6 - Best Packaging Practices
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Structuur Aandachtspunten
New Maintainers Guide Een nieuw pakket bouwen met hulp van dh-make en debhelper dpkg-buildpackage -rfakeroot of debuild Controleren op fouten pakket installeren/opwaarderen en testen of het werkt (dpkg -i) lintian -iI <pakket>_-_<arch>.changes linda -t W,E,I debdiff debc pakket degraderen (apt-get install <pakket>=-) pakket verwijderen (apt-get remove) en herinstalleren pbuilder Luk Claes
Debian Package Management
university-logo
Inleiding Pakketten beheren Gevorderd
Problemen debconf
Overzicht 1
Inleiding Overzicht WWW
2
Pakketten beheren Structuur Aandachtspunten
3
Gevorderd Problemen debconf
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
Praktische commando’s
’apt-cache search <string>’ of apt-file search ’ dpkg-source <-x | -b | ...> <pakket> apt-get apt-cache <show | depends | rdepends | policy | ...> apt-file problemen: ’apt-get -f install’ en ’dpkg –configure -a’
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
Backporting, pinning en ... Wanneer je een pakket nodig hebt van een hogere versie dan in de distributie die je gebruikt: pakket en afhankelijkheden installeren met apt-get -t install (sources.list aanpassen) pinning: bepaalde versie van pakket(ten) behouden (zie APT HOWTO) apt-get build-dep <pakket>; dpkg-source -b <pakket> backporting: problemen met bovenstaande (zie http://debian.ethz.ch/pub/debian-backports/utils/BackportHOWTO.html)
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
equivs
eigen versie software zonder deb-bestand meta-pakket zodat bepaalde software wel/niet geïnstalleerd is /usr/share/doc/equivs/README.Debian: equivs-control controle-bestand aanpassen en equivs-build dpkg -i <pakket.deb>
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
Overzicht 1
Inleiding Overzicht WWW
2
Pakketten beheren Structuur Aandachtspunten
3
Gevorderd Problemen debconf
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
debconf template
Template: Type: <string | boolean | select | multiselect | note | text | password> Default: <standaard waarde> Description:
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
debconf in de shell
debian/config . /usr/share/debconf/confmodule db_input <prioriteit> <pakket/naam_vraag> || true db_go || true
debian/postinst db_get <pakket/naam_vraag> if [ "$RET"= ""]; then ... fi
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
debconf documentatie
/usr/share/doc/debconf-doc/README en man-pagina’s in debconf-doc /usr/share/doc/debian-policy/debconf-specification.*
university-logo
Luk Claes
Debian Package Management
Inleiding Pakketten beheren Gevorderd
Problemen debconf
Bedanking
Bedankt voor de aandacht en de interesse in Debian Luk Claes Debian l10n Dutch Debian NM
university-logo
Luk Claes
Debian Package Management