Heute logge ich mich auf einer meiner Workstations ein und will sie mal wieder updaten. Die Distribution (LFS) nutzt
emerge von Gentoo als Paketverwaltung. Nachdem ~10 Programme problemlos aktualisiert wurden, bekomme ich folgende Fehlermeldung zu sehen:
>>> Emerging (1 of 3) mail-client/mutt-1.5.16 to /
[...]
* Failed Patch: 06-nntp.patch !
* ( /var/tmp/portage/mail-client/mutt-1.5.16/work/mutt-1.5.16-gentoo-patches/06-nntp.patch )
*
* Include in your bugreport the contents of:
*
* /var/tmp/portage/mail-client/mutt-1.5.16/temp/06-nntp.patch-20696.out
*
* ERROR: mail-client/mutt-1.5.16 failed.
* Call stack:
* ebuild.sh, line 1648: Called dyn_unpack
* ebuild.sh, line 768: Called qa_call 'src_unpack'
* ebuild.sh, line 44: Called src_unpack
* mutt-1.5.16.ebuild, line 72: Called epatch '/var/tmp/portage/mail-client/mutt-1.5.16/work/mutt-1.5.16-gentoo-patches/06-nntp.patch'
* eutils.eclass, line 304: Called die
*
* Failed Patch: 06-nntp.patch!
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/mail-client/mutt-1.5.16/temp/build.log'.
*
* Messages for package mail-client/mutt-1.5.16:
* Failed Patch: 06-nntp.patch !
* ( /var/tmp/portage/mail-client/mutt-1.5.16/work/mutt-1.5.16-gentoo-patches/06-nntp.patch )
*
* Include in your bugreport the contents of:
*
* /var/tmp/portage/mail-client/mutt-1.5.16/temp/06-nntp.patch-20696.out
*
* ERROR: mail-client/mutt-1.5.16 failed.
* Call stack:
* ebuild.sh, line 1648: Called dyn_unpack
* ebuild.sh, line 768: Called qa_call 'src_unpack'
* ebuild.sh, line 44: Called src_unpack
* mutt-1.5.16.ebuild, line 72: Called epatch '/var/tmp/portage/mail-client/mutt-1.5.16/work/mutt-1.5.16-gentoo-patches/06-nntp.patch'
* eutils.eclass, line 304: Called die
*
* Failed Patch: 06-nntp.patch!
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/mail-client/mutt-1.5.16/temp/build.log'.
*
[..]
Gut.. also sehen wir mal in besagter /var/tmp/portage/mail-client/mutt-1.5.16/temp/build.log nach und siehe da:
PATCH COMMAND: patch -p0 -g0 -E --no-backup-if-mismatch < /var/tmp/portage/mail-client/mutt-1.5.16/work/mutt-1.5.16-gentoo-patches/06-nntp.patch
patching file b/ChangeLog.nntp
can't find file to patch at input line 423
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
[...]
Im
gentoo Bugzilla ist nichts zu finden, also suche ich im
Gentoo Forum nach
06-nntp.patch und bin doch etwas erstaunt ueber
Die Suche hat 147 Ergebnisse ergeben.. Das soviel Ergebnisse gefunden wurden, liegt daran, dass die Suche des Forums aus
06-nntp.patch kurzerhand
patch gemacht hat, was sie somit unbrauchbar macht. Als ich nach "mutt nntp" suche, bekomme ich den
Witz des Tages zu lesen.
Ich glaub ich kompiliere wieder alles selbst; dann weiss ich wenigstens das es funktioniert.
Wenn man sich jetzt mal mutt-1.5.16.ebuild findet man darin folgende Zeilen:
for p in "${PATCHDIR}"/*.patch ; do
epatch "${p}"
done
Das Problem dabei ist nur, dass die Standardoptionen von $EPATCH_OPTS (
-p0 -g0 --no-backup-if-mismatch) fuer den NNTP-Patch von Mutt nicht korrekt sind.
$ cd /var/tmp/portage/mail-client/mutt-1.5.16/work/mutt-1.5.16
$ patch -p0 -g0 --no-backup-if-mismatch < ../mutt-1.5.16-gentoo-patches/06-nntp.patch
patching file b/ChangeLog.nntp
can't find file to patch at input line 423
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/Makefile.am b/Makefile.am
|index 2dd5373..fe66aa5 100644
|--- a/Makefile.am
|+++ b/Makefile.am
--------------------------
File to patch:
[...]
Die Loesung steht naemlich jetzt schon in der Fehlermeldung:
Perhaps you used the wrong -p or --strip option?. Nicht "-p0", sondern "-p1"; dann funktioniert es auch.
Und was lernen wir daraus? Richtig. Aktualitaet gut und recht, aber die hilft nicht, wenn sie zusammengepfuscht wird. Es reicht naemlich nicht zwingend aus, einfach die Versionangaben zu aendern. Man sollte die Aenderungen auch erstmal testen.
Sowas ist zwar aergerlich, aber kein Weltuntergang oder "schwerwiegender Fehler" um Antworten von ggf. hier aufschlagenden Debian-Nazis vorzugreifen. Das Resultat eines solchen Fehlers ist lediglich der, dass das neue Programm nicht installiert wird, das Alte jedoch noch vorhanden ist. Es schraenkt also die Stabilitaet des Systems in keinster Art und Weise ein. Und bis Mutt 1.5.16 im Stable-Release von Debian verfuegbar ist, funktioniert es hier auch.
Last ten comments: