# ebuild-Paket selber bauen

## LinuxTom

Hi,

normalerweise nicht so das Problem. Doch ich wollte in einem vorhanden Paket auf Platte ein "make" und anschließend ein "make install" machen. Das was dann "make install" installiert, will ich ins Paket haben. Ich arbeite mit FEATURES="buildpkg strict".

Hat das schon mal jemand gemacht ohne die portage-Zugriffsverletzungen angezeigt zu bekommen?

----------

## Dorsai!

```
src_compile() {

        ./configure --prefix="/usr"

        emake || die "make failed"

}

src_install() {

        emake DESTDIR="${D}/usr" install || die "make install failed"

}
```

Das Prefix entsprechend halt deinen Bedürfnissen wählen, also evtl. nach /opt/.

Für ./configure nimmt man eigentlich econf, aber bei den meisten meiner Ebuilds hat das nicht funktioniert weil das configure Script die Optionen nicht akzeptiert hat die econf versucht hat weiterzugeben.

----------

## LinuxTom

Was ich vielleicht noch hätte erwähnen sollen: Es geht um den Kernel selbst. Da ist alles ein wenig anders.  :Sad: 

----------

## Dorsai!

Willst du den kernel mit dem ebuild bauen oder nur die sourcen installieren und patchen? Oder willst du einen bereits gebauten kernel quasi in ein ebuild packen?

Ersteres wäre IMHO ein bisschen unsauber. Da würde ich dann lieber Genkernel nehmen.

----------

## LinuxTom

Drittes.

Ich lasse den Kernel ganz normal durch gentoo-sources installieren und konfiguriere den per Hand. Dann will ich den Kernel durch mein eigenes Ebuild bauen lassen. Bspw. mit:

```
make oldconfig

make

make install

make modules_install
```

Also mit anderen Worten: Die vorhanden Sources kopieren, darin alles ausführen und dann ...

Ja irgend wie funktioniert das nicht.  :Sad: 

----------

## LinuxTom

Es gab mal ein Programm Namens Checkinstall. Das hat einem viel Handarbeit abgenommen.

----------

## franzf

 *checkinstall README wrote:*   

> # checkinstall will create a Slackware, RPM or Debian compatible      #
> 
> #  package and install it using your distribution's standard package         #
> 
> #  administration utilities.

 

Ich würde in deinem Fall kein ebuild hernehmen, sondern ein normales Shellscript. Wenn das denn überhaupt sein muss! Was spricht dagegen, das Bauen einfach selber über die Konsole zu machen? make oldconfig frägt sowieso viel doof rum, und du musst Antworten. Das bissl "make && make modules_install && cp arch/x86/boot/bzimage /boot/<kernel_name>" sind doch nicht wirklich aufwändig, und man kann auch kaum was vergessen. Oder?

----------

## LinuxTom

Mag sein, doch ich habe inzwischen ca. 10 Rechner am Start. Und da sind auch etwas schwächere dabei, bei denen ein OpenOffice 2 Tage  Dauert. So mache ich alles auf meinem Server (ca. 40 Minuten) und brauch es dann nur noch "entpacken" (FEATURES="getbinpkg").

Darum die kleine Arbeitserleichterung.

----------

## LinuxTom

 *franzf wrote:*   

>  *checkinstall README wrote:*    ...

 

Ich werde es wohl so machen.

Damals - 2003 - habe ich selbst noch in Checkinstall "rumgemukst". Doch damals hatte ich noch LFS wegen Videoprogrammierung. Dann aus Zeitgründen auf Gentoo umgestiegen und bereue es nicht.  :Smile: 

----------

## Genone

Wenns nur um die Zugriffsverletzungen geht: Man kann den Kernel auch in einem anderen Verzeichnis bauen als die Sourcen liegen (ich meine mich dunkel an eine KV_OUT Variable erinnern zu können). Und für den Rest muss dann wohl oder über addwrite() herhalten.

----------

## LinuxTom

Wo steht denn ein guten Beispielscript dazu?

----------

