Debianpakete bauen am Beispiel Pidgin

Erstellt: 06.06.2009 15:27

Manchmal ist es nützlich, aus einem Sourcecode ein Debianpaket zu bauen. Entweder weil es kein Paket gibt oder weil man ein aktuelleres möchte als die Paketquellen von Debian im im Moment bieten. Letzteres kann bei Pidgin zum Beispiel der hin und wieder Fall sein. ICQ ändert gerne Kleinigkeiten und bis diese Änderungen in die Paketquellen von Debian einfliessen kann es eine Zeit gehen. Deshalb ist es hilfreich sein eigenes Paket zu bauen. Aus diesem Grund ist dieses Beispiel hier mit Pidgin.

Als erstes entfernt man alle Pakete von Pidgin damit es zu keinen Komplikationen kommt:

# apt-get remove pidgin pidgin-data libpurple0

Benötigt werden build-essential, dh-make und fakeroot, falls man diese nicht schon installiert hat.

# apt-get install build-essential dh-make fakeroot

Den aktuellen Sourcecode bekommt man natürlich am besten direkt von Pidgin: www.pidgin.im

Das Archiv entpacken und ins Verzeichnis wechseln:

$ tar -xvf pidgin-2.5.6.tar.bz2
$ cd pidgin-2.5.6/

Konfigurieren (lassen):

$ ./configure

Beim Ausführen von configure kann es zu mehreren Unterbrüchen kommen. Dies ist der Fall wenn Development-Files welche für das spätere Compilen wichtig sind fehlen. Dieses Fehlen äussert sich in etwa so:

[...]
configure: error:
You must have the [b]GLib 2.0 development[/b] headers installed to build.
If you have these installed already you may need to install pkg-config
so I can find them.

...was auf das Development-Paket libglib2.0-dev verweisen würde.
Die wichtigsten Development-Pakete welche Pidgin benötigt wären:

libglib2.0-dev libxss-dev libstartup-notification0-dev libgtkspell-dev libmeanwhile-dev libavahi-client-dev libavahi-glib-dev libdbus-glib-1-dev network-manager-dev libperl-dev libxml2-dev libgnutls-dev tcl8.4-dev tk8.4-dev libgstreamer0.10-dev

...wobei diese Liste nicht unbedingt Vollständig sein muss. "apt-cache search <Suchwort>" kann hierbei Hilfreich sein. Installiert werden diese Pakete auch mit apt-get install. Ist dieser Schritt erfolgreich beendet verabschiedet sich configure mit einer Meldung welche etwa so aussieht:

[...]
configure complete, now type 'make'

Dann folgt das Compilen:

$ make

Ab jetzt unterscheidet sich das Vorgehen vom normalen Compilen und Installieren aus dem Sourcecode!

$ dh_make -f ../pidgin-2.5.6.tar.bz2
Type of package: single binary, indep binary, multiple binary, library, kernel module, kernel patch or cdbs?
[s/i/m/l/k/n/b] s <enter>

Hier wählt man "single binary" also "s" und bestätigt den nächsten Schritt sofern einem die Angaben in der Liste gefallen:

Maintainer name : Username

Email-Address : email@post.tld

Date : Sat, 06 Jun 2009 14:58:17 +0200

Package Name : pidgin

Version : 2.5.6

License : blank

Using dpatch : no

Using quilt : no

Type of Package : Single

Hit <enter> to confirm: <enter>

Weiter folgend:

$ fakeroot debian/rules binary

Nun ist das Debian-Paket erstellt und kann installiert werden! Es liegt ein Verzeichnis höher

# dpkg -i ../pidgin_2.5.6-1_i386.deb

Falls beim Starten später folgender Fehler erscheint, wurde libpurple0 vor dem installieren des selbstgebauten Paketes nicht sauber entfernt:

/usr/bin/pidgin: symbol lookup error: /usr/bin/pidgin: undefined symbol: purple_smileys_get_all

Tagged: Debian Software


Ähnliche Artikel:
IP von Denyhosts entbannen
Ändern des Druckpfades für den PDF-Printer cups-pdf (Unterschied: Debian und Ubuntu)
PDF-Dokumente im Browserfenster von Iceweasel (Firefox) betrachten
apt-get install: unbekannte Gruppe "gnokii" in statoverride-Datei
Gnome-Network-Manager - Gerät wird nicht verwaltet

« Vorheriger Eintrag

Nächster Eintrag »

Kommentare

Verfasse den ersten Kommentar!

Kommentar verfassen