# Source patchen, danach installieren..bin am verzweifeln -.-*

## skite2001

Hallo,

Vorgeschichte:

Benutze Gentoo mit meiner PS3 (ppc) und spiele gerne Emulatoren-Games.

Habe mir nun von

http://gentoo-portage.com/games-emulation/generator

das neueste ebuild-file geladen

und es in mein "usr/portage/games-emulation/generator" verzeichniss kopiert.

Danach im terminal "ebuild generator-0.35_p3.ebuild digest" ausgeführt um das manifest zu erneuern.

"emerge generator" ausgeführt um die neueste source zu laden/compilen/installieren/etc.

Problem ist leider, dass dere Emulator nicht Vollbild läuft.

Hab mich darauf mit dem Ersteller des Emus unterhalten, welcher speziell für mich eine UDIF Datei geschrieben hat (denke mal, dass es relativ ist ob sie UDIF oder PATCH heißt)

jedenfalls sollte ich die source mit diesem patch patchen und dann neu compilen und installieren....

nun irgendwie steck ich nun fest...er sagte zu mir:

Apply the patch as follows and recompile:

cd generator-0.35-cbiere-r3 && patch < /path/to/patch

funktioniert aber nicht, da ich ja alles über EMERGE immer gemacht habe.

Habe auch testweise mal diesen patch in

"usr/portage/games-emulation/generator/files" geschoben, danach dieses patchfile in der ebuild bei den anderen patches hinzugefügt, über "Ebuild <file> DIGEST" das Manifest erneuert und dann mein ebuild-file über EMERGE gestartet.....wooa, so viele fehler hab ich noch nicht gesehen...so funktioniert's also nicht -.-*

hier der inhalt des UDIF, falls es jemand was nützt^^

```

--- configure   2005-09-02 05:26:34.000000000 +0200

+++ configure   2008-08-18 18:46:25.000000000 +0200

@@ -8382,8 +8382,6 @@

   rm -f conf.sdltest

 

 

-    MY_LIBS="$MY_LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"

-    CFLAGS="$CFLAGS $X_CFLAGS"

   elif [ "x$USE_SDL_AUDIO" != "xno" ]; then

 

 # Check whether --with-sdl-prefix or --without-sdl-prefix was given.

--- main/ui-sdl.c   2007-01-14 15:28:25.000000000 +0100

+++ main/ui-sdl.c   2008-08-23 19:08:42.000000000 +0200

@@ -180,7 +180,7 @@

   fprintf(stderr, "Generator is (c) James Ponder 1997-2003, all rights "

           "reserved. v" VERSION "\n\n");

 

-  while (-1 != (ch = getopt(argc, deconstify_void_ptr(argv), "?adcr:w:"))) {

+  while (-1 != (ch = getopt(argc, deconstify_void_ptr(argv), "?adc:r:w:"))) {

     switch (ch) {

     case 'a':                  /* arcade mode; play ROM at once */

       ui_arcade_mode = 1;

@@ -1082,7 +1082,7 @@

     overlay = SDL_CreateYUVOverlay(HSIZE, VSIZE,

                   overlay_formats[i].fourcc, screen);

     if (overlay) {

-      if (overlay->hw_overlay) {

+      /* XXX if (overlay->hw_overlay) */ {

         const uint8 *id = (uint8 *) &overlay_formats[i].fourcc;

         LOG_REQUEST(("Using overlay with format fourcc=0x%08x (%c%c%c%c)",

           overlay_formats[i].fourcc, id[0], id[1], id[2], id[3]));

```

hoffe auf hilfe

mfg und danke

~Chris

----------

## Finswimmer

Als erstes sollte dein eigenes Ebuild in /usr/local/portage/$Kat/Name/$Ebuild abgespeichert werden.

Sonst ist es beim nächsten emerge --sync überschrieben.

Danach kopierst du den Patch in den Unterordner "files" und fügst das deinem Ebuild hinzu:

epatch "${WORKDIR}/files/MEIN-PATCH"

Tobi

----------

## tgurr

 *Finswimmer wrote:*   

> 
> 
> epatch "${WORKDIR}/files/MEIN-PATCH"
> 
> 

 

Korrekterweise sollte es dann "${FILESDIR}" sein. Hier mal ein Diff:

```
--- generator-0.35_p3.ebuild    2008-06-02 08:36:20.000000000 +0200

+++ generator-0.35_p3-r1.ebuild 2008-08-25 10:42:43.692905119 +0200

@@ -29,7 +29,8 @@

        epatch \

                "${FILESDIR}"/${P}-execstacks.patch \

-               "${FILESDIR}"/${P}-configure.patch

+               "${FILESDIR}"/${P}-configure.patch \

+               "${FILESDIR}"/${P}-fullscreen.patch

        # make it yasm-syntax-friendly

        sed -i \
```

Hab es mal schnell getestet, obiger Patch applied und das Programm kompiliert damit auch erfolgreich.

----------

## Finswimmer

 *tgurr wrote:*   

>  *Finswimmer wrote:*   
> 
> epatch "${WORKDIR}/files/MEIN-PATCH"
> 
>  
> ...

 

Ich hatte es aus dem kdelibs-3.5.9.ebuild, weil mir der genau Syntax nicht mehr geläufig war...

Tobi

----------

## tgurr

 *Finswimmer wrote:*   

> Ich hatte es aus dem kdelibs-3.5.9.ebuild, weil mir der genau Syntax nicht mehr geläufig war...

 

Stimmt, kdelibs z.B. arbeitet mit einem Patchtarball anstatt den einzelnen Patches im files Verzeichnis, deshalb der Unterschied.

----------

## skite2001

Nun, genau das hatte ich ja vorher versucht, hat aber gescheitert, so wie eben wieder -.-*

Patch befindet sich im "generator/files" dir

Ebuild befindet sich im "generator" dir

der ebuild folgendes hinzugefugt bzw editiert:

```

src_unpack() {

   unpack ${A}

   cd "${S}"

   mkdir my-bins

   epatch \

      "${FILESDIR}"/${P}-execstacks.patch \

      "${FILESDIR}"/${P}-configure.patch \

      "${FILESDIR}"/${P}-fullscreen.patch

   # make it yasm-syntax-friendly

```

Log:

```

Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) games-emulation/generator-0.35_p3 to /

 * generator-0.35-cbiere-r3.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...       [ ok ]

 * checking ebuild checksums ;-) ...                                      [ ok ]

 * checking auxfile checksums ;-) ...                                     [ ok ]

 * checking miscfile checksums ;-) ...                                    [ ok ]

 * checking generator-0.35-cbiere-r3.tar.bz2 ;-) ...                      [ ok ]

>>> Unpacking source...

>>> Unpacking generator-0.35-cbiere-r3.tar.bz2 to /var/tmp/portage/games-emulation/generator-0.35_p3/work

 * Applying generator-0.35_p3-execstacks.patch ...                        [ ok ]

 * Applying generator-0.35_p3-configure.patch ...                         [ ok ]

 * Applying generator-0.35_p3-fullscreen.patch ...

 * Failed Patch: generator-0.35_p3-fullscreen.patch !

 *  ( /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch )

 * 

 * Include in your bugreport the contents of:

 * 

 *   /var/tmp/portage/games-emulation/generator-0.35_p3/temp/generator-0.35_p3-fullscreen.patch-5390.out

 * 

 * ERROR: games-emulation/generator-0.35_p3 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_unpack

 *             environment, line 2754:  Called epatch 'src_unpack' 'src_unpack' '/usr/portage/games-emulation/generator/files/generator-0.35_p3-execstacks.patch'

 *             environment, line 1480:  Called epatch '/usr/portage/games-emulation/generator/files/generator-0.35_p3-configure.patch'

 *             environment, line 1608:  Called die

 * The specific snippet of code:

 *                   die "Failed Patch: ${patchname}!";

 *  The die message:

 *   Failed Patch: generator-0.35_p3-fullscreen.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/games-emulation/generator-0.35_p3/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/games-emulation/generator-0.35_p3/temp/environment'.

 * 

 * Messages for package games-emulation/generator-0.35_p3:

 * Failed Patch: generator-0.35_p3-fullscreen.patch !

 *  ( /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch )

 * 

 * Include in your bugreport the contents of:

 * 

 *   /var/tmp/portage/games-emulation/generator-0.35_p3/temp/generator-0.35_p3-fullscreen.patch-5390.out

 * 

 * ERROR: games-emulation/generator-0.35_p3 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_unpack

 *             environment, line 2754:  Called epatch 'src_unpack' 'src_unpack' '/usr/portage/games-emulation/generator/files/generator-0.35_p3-execstacks.patch'

 *             environment, line 1480:  Called epatch '/usr/portage/games-emulation/generator/files/generator-0.35_p3-configure.patch'

 *             environment, line 1608:  Called die

 * The specific snippet of code:

 *                   die "Failed Patch: ${patchname}!";

 *  The die message:

 *   Failed Patch: generator-0.35_p3-fullscreen.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/games-emulation/generator-0.35_p3/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/games-emulation/generator-0.35_p3/temp/environment'.

 * 

```

irgendwas stimmt noch net -.-*

----------

## Finswimmer

Was steht da drin: /var/tmp/portage/games-emulation/generator-0.35_p3/temp/generator-0.35_p3-fullscreen.patch-5390.out  ?

----------

## skite2001

das hier:

```

***** generator-0.35_p3-fullscreen.patch *****

==============================================

PATCH COMMAND:    patch -p0 -g0 -E --no-backup-if-mismatch < /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch

==============================================

patching file configure

Hunk #1 FAILED at 8382.

1 out of 1 hunk FAILED -- saving rejects to file configure.rej

patching file main/ui-sdl.c

Hunk #1 FAILED at 180.

Hunk #2 FAILED at 1082.

2 out of 2 hunks FAILED -- saving rejects to file main/ui-sdl.c.rej

==============================================

PATCH COMMAND:    patch -p1 -g0 -E --no-backup-if-mismatch < /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch

==============================================

missing header for unified diff at line 3 of patch

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- configure   2005-09-02 05:26:34.000000000 +0200

|+++ configure   2008-08-18 18:46:25.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

1 out of 1 hunk ignored

can't find file to patch at input line 14

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- main/ui-sdl.c   2007-01-14 15:28:25.000000000 +0100

|+++ main/ui-sdl.c   2008-08-23 19:08:42.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

==============================================

PATCH COMMAND:    patch -p2 -g0 -E --no-backup-if-mismatch < /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch

==============================================

missing header for unified diff at line 3 of patch

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- configure   2005-09-02 05:26:34.000000000 +0200

|+++ configure   2008-08-18 18:46:25.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

1 out of 1 hunk ignored

missing header for unified diff at line 14 of patch

can't find file to patch at input line 14

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- main/ui-sdl.c   2007-01-14 15:28:25.000000000 +0100

|+++ main/ui-sdl.c   2008-08-23 19:08:42.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

==============================================

PATCH COMMAND:    patch -p3 -g0 -E --no-backup-if-mismatch < /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch

==============================================

missing header for unified diff at line 3 of patch

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- configure   2005-09-02 05:26:34.000000000 +0200

|+++ configure   2008-08-18 18:46:25.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

1 out of 1 hunk ignored

missing header for unified diff at line 14 of patch

can't find file to patch at input line 14

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- main/ui-sdl.c   2007-01-14 15:28:25.000000000 +0100

|+++ main/ui-sdl.c   2008-08-23 19:08:42.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

==============================================

PATCH COMMAND:    patch -p4 -g0 -E --no-backup-if-mismatch < /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch

==============================================

missing header for unified diff at line 3 of patch

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- configure   2005-09-02 05:26:34.000000000 +0200

|+++ configure   2008-08-18 18:46:25.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

1 out of 1 hunk ignored

missing header for unified diff at line 14 of patch

can't find file to patch at input line 14

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- main/ui-sdl.c   2007-01-14 15:28:25.000000000 +0100

|+++ main/ui-sdl.c   2008-08-23 19:08:42.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

```

----------

## dertobi123

Also, stell sicher dass der Patch "korrekt" ist, d.h. keine Zeilenumbrüche etc. neu hinzukommen.

Wenn dem so ist, dann reicht folgende Änderung im Ebuild (so oder so ähnlich hast du es ja bereits):

```
--- generator-0.35_p3.ebuild   2008-06-02 08:36:20.000000000 +0200

+++ generator-0.35_p3-r1.ebuild   2008-08-25 19:04:28.000000000 +0200

@@ -29,7 +29,8 @@

 

    epatch \

       "${FILESDIR}"/${P}-execstacks.patch \

-      "${FILESDIR}"/${P}-configure.patch

+      "${FILESDIR}"/${P}-configure.patch \

+      "${FILESDIR}"/${PN}-fullscreen.patch

 

    # make it yasm-syntax-friendly

    sed -i \

```

... und dann applied der Patch auch sauber.

Achja, nen passender Bugreport dazu inkl. Patch und gefixtem Ebuild (respektive diff des Ebuilds!) wäre dann fein  :Wink: 

----------

## skite2001

seufts  :Sad: 

leider nein....

hier iss nochmal das editierte paket:

http://www.mediafire.com/file/lm3h4to2jiy/generator-0.35_p3.tar

funktioniert nicht...an meinem ppc system (PS3) kann es nicht liegen, oder?

p.s.

wie bekomm ich so eine geordnete diff hin?

hab sonst immer nur im terminal "diff datei1 datei2" verwendet

----------

## tonmeister440

hi,

ich kann mich ja täuschen, aber soweit ich das überblicken konnte liegt der fehler an 2 stellen.

1.  rm -f conf.sdltest (im patch-file zeile 3)

 diese datei scheint es nicht zugeben, kann man aber nach meinem empfinden vernachlässigen.

2. main/ui-sdl.c (im patch zeile 12-14) scheint es nicht zu geben und deshlab kann der da auch nix patchen. 

######################### AUSZUG AUS LOGFILE################################

PATCH COMMAND:    patch -p4 -g0 -E --no-backup-if-mismatch < /usr/portage/games-emulation/generator/files/generator-0.35_p3-fullscreen.patch

==============================================

missing header for unified diff at line 3 of patch  <----------------- guckst du hier

can't find file to patch at input line 3  <----------------- guckst du hier

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- configure   2005-09-02 05:26:34.000000000 +0200

|+++ configure   2008-08-18 18:46:25.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

1 out of 1 hunk ignored

missing header for unified diff at line 14 of patch  <----------------- guckst du hier

can't find file to patch at input line 14    <----------------- guckst du hier

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- main/ui-sdl.c   2007-01-14 15:28:25.000000000 +0100

|+++ main/ui-sdl.c   2008-08-23 19:08:42.000000000 +0200

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored 

######################################################################

(wenn ich es in code-tags gesetzt hätte dann wärs nicht rot markiert, sorry)

steht aber auch alles in dem von dir geposteten ausgaben.

ich hab vom patchen keine ahnung, denke aber das lesen eine grosse hilfe ist wenn man auf probleme trifft.

wenn ihr zu faul zum lesen von logs seid, dann installiert euch doch bitte wieder windows. sorry wenn das hart rüberkommt, aber ich habe gerade etliche problemanfragen gesehen, die ein dau hätte selber lösen können wenn er lesen würde. und du bekommst den unmut jetzt ab.

du solltest jetzt mal kontrollieren ob besagte dateien überhaupt vorhanden sind. je nachdem wie die suche ausgeht nach "conf.sdltest" musst du die pfadangaben im patchfile anpassen oder den aufruf ganz rausnehmen.

der 2, fehler ist schon gravierender. falls es das file wirklich nicht gibt, dann kannst du den patch vergessen. aber meine vermutung ist, das beim patchen an den falschen stellen nach dem file gesucht wird. da hilft nur eine untersuchung der verzeichnusstruktur und anpassen des patchfiles oder das patchfile an die richtige stelle kopieren.

gruß tonmeister440Last edited by tonmeister440 on Tue Aug 26, 2008 2:04 pm; edited 1 time in total

----------

## tonmeister440

hi, 

ich hab mir mal die mühe gemacht und die sourcen runtergeladen und nachgeschaut.

es gibt die dateien nicht, also ist der patch hinfällig, ob er er in dieser version schon eingearbeitet ist oder nicht kann ich dir nicht sagen, soltes mal die webseite besuchen und die changelogs und known problems studieren.

http://www.ghostwhitecrab.de/generator/

ich kann dir aber jetzt schon mitteilen, das es für version 0.35 nur einen patch gibt und der hat nix mit fullscreen zutun, also nehme ich mal an der von dir benutzte fullscreenpatch ist für einen ältere version.

ich würde an deiner stelle mal den tipp unter "known problems" ausprobieren und kontrollieren ob die graka in der ps3 überhaupt alles fähigkeiten mitbringt, die der generator bracuht. höchstwahrscheinlich liegt da der fehler.

gruss tonmeister440

----------

## firefly

Es gibt 2 verschiedene Versionen von generator:

Einmal das original: http://www.squish.net/generator/ (vermutlich bezieht der Threadstartet sich auf diese Version)

und zum anderen eine modifzierte Version des originals: http://www.ghostwhitecrab.de/generator/

Und die modifizierte Version hat schon fullscreen support eingebaut.

----------

## Necoro

@tonmeister440: deine Argumentation mit den fehlenden Dateien ist falsch ...  :Smile:  - weil siehe gleich am Anfang vom epatch Output:

```
==============================================

patching file configure

Hunk #1 FAILED at 8382.

1 out of 1 hunk FAILED -- saving rejects to file configure.rej

patching file main/ui-sdl.c

Hunk #1 FAILED at 180.

Hunk #2 FAILED at 1082.

2 out of 2 hunks FAILED -- saving rejects to file main/ui-sdl.c.rej

============================================== 
```

----------

## skite2001

 *firefly wrote:*   

> Es gibt 2 verschiedene Versionen von generator:
> 
> Einmal das original: http://www.squish.net/generator/ (vermutlich bezieht der Threadstartet sich auf diese Version)
> 
> und zum anderen eine modifzierte Version des originals: http://www.ghostwhitecrab.de/generator/
> ...

 

hmm, vielleicht hatte ich mich falsch ausgedrückt...

die aktuell verfügbare ebuild auf gentoo-portage IST von http://www.ghostwhitecrab.com/generator/

und auch genau an diese Person habe ich gefragt, warum ich Fullscreen machen kann, aber das Emu-Bild nicht "voll" ist.

Soll heißen wenn ich FULLSCREEN aktiviere, dann hab ich das eigentliche Emu-Bild in der oberen linken ecke (1/4 meines 42" TVs) der Rest ist schwarz (3/4)...

gleiches ergiebt sich, wenn ich den Emulator über das Terminal starte und das "Fensterbild" mit maximieren vergrößere. Das Bild wird eben nicht "gestreckt" sondern bleibt konstant und der Rest wird einfach schwarz.

Der gute mann hat mir also anscheinend "exklusiv" für mein problem einen patch erstellt.

Hier mein E-Mail log:

 *Quote:*   

> 
> 
> Hi,
> 
> You can manually resize the window like any other or maximize it.  That
> ...

 

ich nehme mal an "generator-0.35-cbiere-r3" ist die gepackte tar source (welche EMERGE ja automatisch von seiner seite runterlädt)

wenn ich sie manuell runterlade und mal testweise öffne, dann befindet sich im /main folder ja auch die ui-sdl.c

weiterhin:

 *Quote:*   

> 
> 
> skite2001@web.de wrote:
> 
> > > seems not working correct, or im just stupid...  i downloaded the latest
> ...

 

----------

## skite2001

update:

kñnnte derjenige, bei dem das patchen funktioniert hat, seine gepatchten source files hochladen?

danke

mfg

skitey

----------

