Inhaltsverzeichnis

Erstellen von Debian-Paketen und Aufsetzen eines Repositorys

Praxis

Theorie (und offizieller Debian Repository)

<FIXME>

  1. Quellcode-Archiv herunterladen und entpacken
  2. Das Quellcode-Archiv sollte “<packetname>_<packetversion>.orig.tar.gz“ heißen
  3. In dem entpackten Code ein Verzeichnis „debian“ anlegen
  4. In dem Verzeichniss werden nun folgende Dateien angelegt:
    • debian/changelog - Changelog
    • debian/control - Metainformationen (Abhängigkeiten, Beschreibungen)
    • debian/copyright - Copyright & Lizenz-Informationen
    • debian/watch - URL um automatisch auf neue Versionen zu prüfen
    • debian/rules - Informationen, wie der Quellcode gebaut werden soll
  5. Paket kann gebaut werden
    • dpkg-buildpackage
    • dpkg-buildpackage -b

      | Nur binary

    • dpkg-buildpackage -S

      | Nur source

  6. Ergebniss überprüfen
    • Paketinhalt - wenn leer blöd
      dpkg -c file.deb
    • Metadaten
      dpkg --info file.deb
    • lintian --display-info --pendantic file.changes
  7. Signieren und hochladen (Nur Debian Mainainer relevant)
    • debsign file.changes
    • dput file.changes

Programme

dh_make

Templates der debian/* Dateien

pbuilder

pbuilder wird eingesetzt um zu garantieren, dass sämtliche build-dependes aufgelöst werden. Im Prinzip ist es ein komplett eigenständiges Debian-System aber ohne irgendwelche vorinstallierten Programme.

Dateien

debian/changelog

changelog
<programmname> (<VERSION) <ETCH/JESSIE/STABLE/UNSTABLE...>; urgency=low
 
  * initial release
  * Kommentare
 
 -- <MAINTAINER> <maxmustermann@rkcsd.com>  Fri, 20 Jun 2008 10:21:18 +0200 

debian/control

control
Source:
Section: misc
Priority: extra
Maintainer: Max Mustermann <maxmustermann@rkcsd.com>
Standards-Version: 3,9,4
Build-Depends: <programm(paketname)> (>= <VERSION>),
               <...>
Homepage: http://www.rkcsd.com/<PFAD/ZUM/PROGRAMM>
 
....
 
Package: <PROGRAMMNAME>
Architecture: all
Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: <KURZBESCHREIBUNG>
 BLAAAAABLLAAAAAAA
 . 
 ABSATZ!!!
 .
 Textetxtext

debian/copyright

copyright
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: <http://mein.projekt/>
 
Files: *
Copyright: 2007-2012 <NAME> <sag@ich.net>
           2012 <NAME> <sag@ich.net>
License: GPL-3*
 LICENSE TEXT
 
Files: debian/*
Copyright: 2007-2012 <NAME> <sag@ich.net>
           2012 <NAME> <sag@ich.net>
License: ISC
 LICENSE TEXT

debian/watch

FIXME

watch
 

debian/rules

rules
#!/usr/bin/make -f
 
%:
  dh $0
 
override_dh_auto_install:
  dh_auto_install -- PREFIX=/usr

Weitere Dateien

Sind nicht nötig, können aber gesetzt werden. debian/{preinst,postinst,prerm,postrem}

Das Repository

Quellen