Hallo Zzam,
ich habe in der /etc/make.conf (unter anderem):
-vanilla ehd
Wenn ich mir die vdr-1.7.7.ebuild anschaue, dann steht in der Funktion src_prepare:
if use vanilla; then
epatch "${FILESDIR}/${P}-gcc-4.4.diff"
else
....
# ehd patch
use ehd && epatch "${FILESDIR}/${P}-ext_reelbox7_gentoo.diff"
....
fi
Also eigentlich alles richtig (falls ich nicht ein Verständnisproblem habe): vanilla ist ausgeschalten, daher geht er in den else-Zweig und baut dort unter anderem mit epatch den reelbox7-Patch ein (weil das ehd-Use-Flag aktiviert ist). Daher kommt dann auch die passende Ausgabe beim emerge.
Jetzt habe ich aber mal grade noch quergeschaut und dabei fiel mir auf, dass auch die anderen Patches zwar als "[ok]" beim Anwenden angezeigt werden, aber auch deren Inhalte nicht im zu übersetzenden Sourcecode erscheinen.
Mit am Anfang des emerge-Laufs erscheinen bei mir folgende Zeilen:
* Changing pathes for gentoo ...
* Found DVB header files in /usr/include
* DVB header files do contain s2api support. [ ok ]
* Applying vdr-1.7.7-makefile-install-header.diff ... [ ok ]
* Applying vdr-1.7.7_extensions.diff ... [ ok ]
* Applying vdr-1.7.7-gcc-4.4.diff ... [ ok ]
* Applying vdr-1.7.7-extensions-gcc-4.4.diff ... [ ok ]
* Applying vdr-1.7.7-ext_reelbox7_gentoo.diff ... [ ok ]
* Enabling selected patches ... [ ok ]
* Make depend ...
make -j2 .dependencies [ ok ]
* Unifdef sources ... [ ok ]
Display More
Die vdr-1.7.7_extensions.diff, die dort mit erwähnt wird, befindet sich im vdr-Paket und wird nach /var/tmp/portage/media-video/vdr-1.7.7/work/VDR-Extensions-Patch-72 extrahiert. Unter anderem wird da z.B. in die channels.h ab Zeile 38 eingebaut:
#ifdef USE_TTXTSUBS
#define MAXTPAGES 8 // teletext pages
#endif /* TTXTSUBS */
Aber bei meiner channels.h, mit der dann übersetzt wird, ist an dieser Stelle einfach nichts, sie ist völlig unverändert.
Gehe ich her und führe den Patch per Hand aus, dann bekomme ich:
video vdr-1.7.7 # patch -p 1 < ../VDR-Extensions-Patch-72/vdr-1.7.7_extensions.diff
patching file channels.c
Hunk #7 succeeded at 362 with fuzz 2 (offset 1 line).
Hunk #8 succeeded at 450 (offset 1 line).
Hunk #9 succeeded at 479 with fuzz 2 (offset 2 lines).
Hunk #10 succeeded at 589 with fuzz 2 (offset 3 lines).
Hunk #11 succeeded at 699 (offset 3 lines).
Hunk #12 succeeded at 717 (offset 3 lines).
Hunk #13 succeeded at 748 (offset 3 lines).
Hunk #14 succeeded at 870 (offset 3 lines).
Hunk #15 succeeded at 969 (offset 3 lines).
Hunk #16 succeeded at 1217 (offset 3 lines).
patching file channels.h
patching file config.c
Display More
Allerdings kommt es dann in der config.c zu Fehlern beim Patchen:
Hunk #1 FAILED at 15.
Hunk #2 FAILED at 31.
....
Aber warum meldet epatch dann eisern ein "[ok]"?
Ganz tief drin hab ich das Gefühl, dass ich mich irgendwo zu blöd anstelle, aber ich lasse mich gerne vom Gegenteil überzeugen...
Ciao
Stefan