# Code auf "Gentoo" ergänzen?

## uhai

Hallo zusammen,

um einen Bug in digikam zu verstehen soll ich ein bisschen testcode "einschmuggeln". Den Code kann ich downloaden, aber wie bekomme ich den mitübersetzt? Kann ich daraus einen patch machen? oder packe ich das in ein lokales overlay? Irgendwie sollte das doch über portage möglich sein, oder? An portage vorbei ist böse, das will ich nicht  :Smile: 

```
in digiKam source code i written a simple CLI test tool named "metareaderthread" :

https://quickgit.kde.org/?p=digikam.git&a=blob&f=tests%2Fdmetadata%2Fmetareaderthread.cpp

Binary is located in build/core/tests/dmetadata/. It's compiled if you enable tests at configuration time through Cmake, with option "-DBUILD_TESTING=ON". If you use bootstrap.linux script to configure whole digiKam source code, this option is enabled by default.

```

USE=test gibt es, das wird wohl die gleiche Wirkung haben, oder?

uhai

----------

## toralf

 *uhai wrote:*   

> Hallo

 Didn't you google for "gentoo user patches" ?

https://wiki.gentoo.org/wiki//etc/portage/patches

----------

## l3u

Ich würde das Paket nicht systemweit installieren, sondern den aktuellen Git-Stand klonen und lokal bauen. Da kannst du dann direkt im Code tun und lassen, was du willst!

----------

## uhai

Hm, das bringt mich nicht wirklich weiter.

Ich habe die patches in /usr/portage/media-gfx/digikam/files ausgemacht. aber die haben die Extension ".patch". Ich habe hier sourcecode ".cpp". Ich habe den Eindruck, die *.patch sind diff-files.

Der Sourcecode, den ich bekommen habe, soll ein paar Funktionen außerhalb des Programms testen und soll in der Konsole gestartet werden. Dafür hätte ich gerne einen weg, der auch für Daus nachvollziehbar ist.

Trotzdem Danke für den Versuch.

Uhai

----------

## toralf

 *uhai wrote:*   

> Hm, das bringt mich nicht wirklich weiter.
> 
> Ich habe die patches in /usr/portage/media-gfx/digikam/files ausgemacht.

 Das hilft wirklich nicht weiter, nimm doch bitte /etc/portage/patches/media-gfx/digikam

----------

## py-ro

Ja, Patches sind diff-Files.  :Wink: 

----------

## uhai

Muss ich dann in /etc/portage/patches/media-gfx/digikam nicht auch ein diff-file ablegen?

Das ist aber ein testcodee, der nur einzelne Funktionsaufrufe ausführt. Nichts was in media-gfx/digikam "nrmalerweise" enthalten ist.

uhai

----------

## toralf

mußt Du machen so :

```
tinderbox@ms-magpie ~ $ find /etc/portage/patches/ -type f

/etc/portage/patches/net-libs/stem-1.4.0/stem-1.4.0-post.patch

/etc/portage/patches/app-portage/portage-utils-0.62/qsearch.patch

```

----------

## uhai

Wie erstelle ich das patch-file, wenn es den code im Paket gar nicht gibt?

uhai

----------

## py-ro

Einfach gegen ein leeres File mit dem passenden Namen.

----------

## musv

 *uhai wrote:*   

> um einen Bug in digikam zu verstehen soll ich ein bisschen testcode "einschmuggeln". Den Code kann ich downloaden, aber wie bekomme ich den mitübersetzt? Kann ich daraus einen patch machen? oder packe ich das in ein lokales overlay? Irgendwie sollte das doch über portage möglich sein, oder? An portage vorbei ist böse, das will ich nicht 

 

Du kannst die Installation auch einfach aufsplitten:

```
cd /usr/portage/media-gfx/digikam

ebuild digikam-5.1.0-r1 unpack
```

```
cd /var/tmp/portage/media-gfx/digikam/work

vim / cp / readmail --really fast / Dein Testcode
```

```
ebuild digikam-5.1.0-r1 compile

ebuild digikam-5.1.0-r1 install

ebuild digikam-5.1.0-r1 qmerge
```

Auf die Art integrier ich die Patches, wenn ich keinen Bock hab, das Ebuild ins lokale Overlay zu übernehmen und irgendwelche Patches einzufügen.

----------

