[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Rekompilieren von Mutt



Am Freitag, den 25.02.2005, 22:54 +0100 schrieb Bertram Scharpf:

> allmählich finde ich schon peilich, daß ich noch immer kein
> einziges Debian-Paket gebaut habe. Deswegen taste ich mich
> mal langsam heran, indem ich mir Quellen ziehe und daraus
> ein eigenes Paket baue.

Debian New Maintainers Guide hast du gelesen? Die englische Version ist
aktueller und ausführlicher als die deutsche.

> Konkret denke ich daran, einen eigenen Patch in Mutt
> einzuspielen. Ich verwende auf Woody die Version
> 1.5.6-20040907+2.backports.org.1, mit 1.3.28-2.2 geht's aber
> auch nicht besser. Leider taucht ein Fehler nach dem anderen
> auf.
> 
> Erstmal entpacke ich den Tarball. Ich hoffe, das ist so
> halbwegs richtig:
> 
>   user@host:~/sandbox$ ls
>   mutt-1.5.6
>   user@host:~/sandbox$ ls mutt-1.5.6
>   debian  extra  upstream
>   user@host:~/sandbox$ tar xfz mutt-1.5.6/upstream/tarballs/mutt-1.5.6i.tar.gz 
>   user@host:~/sandbox$ cd mutt-1.5.6/
>   user@host:~/sandbox/mutt-1.5.6$ 
>   user@host:~/sandbox/mutt-1.5.6$ for p in upstream/patches/* upstream/extra-patches/* debian/patches/* ; do patch -p1 <$p ; done

Ich verstehe nicht ganz, warum du das händisch machst. Dazu ist
eigentlich debian/rules da. Für Patches solltest du dir einmal dpatch
anschauen.

> Dann baue ich:
> 
>   user@host:~/sandbox/mutt-1.5.6$ ./configure --prefix=$HOME/sandbox/mutt-1.5.6/debian/root

Schau besser in debian/rules nach den configure-Optionen, falls du diese
Schritte wirklich per Hand durchexerzieren willst. Einfacher:

$ fakeroot debian/rules <target>

man debuild
man dpkg-buildpackage

>   ...
>   user@host:~/sandbox/mutt-1.5.6$ make
> 
> Das erste Problem lautet:
> 
>   Makefile:123: *** Fehlendes Trennzeichen..  Schluss.
> 
> Ein Fehler im Makefile? Nun gut, ich behebe ihn. Dann:
> 
>   mutt_ssl_gnutls.c:19: gnutls/gnutls.h: No such file or directory

Da steht '#include <gnutls/gnutls.h>'?

> Das Paket `gnutls-dev' ist installiert. Die gesuchte Datei
> steht in `/usr/include/gnutls.h'. Warum findet er sie nicht?

Weil /usr/include/gnutls/gnutls.h nicht existiert. Ich vermute, dass du
eigentlich libgnutls11-dev brauchst (oder libgnutls10-dev oder
libgnutls7-dev - keine Ahnung welches, ich setze kein Woody ein).

> Wie hat das dann der Maintainer gemacht?

Das richtige Header-Paket installiert :)
Schau in debian/control und dort in die Zeile 'Build-Depends:'. Die
Datei wird im Guide erklärt.

> Könnt Ihr mir ein paar Hinweise geben? Beim Googeln nach
> z.B. "mutt configure main" kommt erwartungsgemäß nichts
> gescheites heraus.

Debian New Maintainers Guide lesen. Dann mal einen Blick in die .diff.gz
und die Patches in debian/patches/ werfen, um zu verstehen, was gepatcht
wird. Dabei lernt man häufig auch einiges.

BTW: mutt ist sehr groß für das erste eigene Paket. Ich wünsche dir viel
Erfolg.

MfG Daniel



Reply to: