Programm aus Source kompilieren

Software besorgen und anwenden
Antworten
Nachricht
Autor
SoylentGrün

Programm aus Source kompilieren

#1 Beitrag von SoylentGrün » 13. Jun 2006 17:10

Mal so eine allgemeine Frage,

ich arbeite jetzt schon länger mit Debian Linux
Und installiere wenn möglich alles über "apt-get" oder irgendwelchen Backports.

Ich bin nicht so der Fan vom selbst kompilieren, da ich dann immer nicht weis wo die
Dateien beim "make install" hinkommen.
Ich hätte eben gerne die Kontrolle über alle Dateien die dabei erstellt werden, um es auch
wieder sauber entfernen zu können.

Also wie macht ihr das mit dem Kompilieren???

Vielen Dank für jede Anregung
MfG SoylentGrün

petameta
prolinux-forum-admin
Beiträge: 1294
Registriert: 14. Feb 2003 13:19

#2 Beitrag von petameta » 13. Jun 2006 18:51

Das geht mit checkinstall: Natürlich erst installieren, dann statt dem finalen "make install" "checkinstall" aufrufen. Dieses baut Dir dann automatisch nen deb-Paket, das du installieren kannst (und auch deinstallieren).

Edit: checkinstall kann nicht nur Debian-Pakete bauen, sondern auch Redhat und Slackware Pakete.
Zuletzt geändert von petameta am 14. Jun 2006 19:56, insgesamt 1-mal geändert.

Benutzeravatar
Lateralus
prolinux-forum-admin
Beiträge: 1238
Registriert: 05. Mai 2004 7:35

#3 Beitrag von Lateralus » 13. Jun 2006 18:57

edit: War zu spät und unwissend, aber dennoch: ;-)
@petameta: Vielen Dank, wieder was dazu gelernt.

Ich weiß leider nicht, wie / ob es bei Debian möglich ist, die Quellcodepakete (apt-get source) zu verwenden. Generell kannst du nicht garantieren, dass nicht irgendwelche Dateien überschrieben werden, wenn du puren Quellcode verwendest. Du kannst aber in der Regel überprüfen, wohin installiert wird. Es steht im Makefile unter "install". Eine automatisierte Methode, herauszubekommen, wohin der Code kommt, ist, einen prefix anzugeben und dann in ein temporäres Verzeichnis zu installieren. Nachteil ist: 1. Du musst alles zweimal installieren. 2. Manche Software unterstützt die --prefix-Option vielleicht nicht. (Das ist wohl selten):

Code: Alles auswählen

#!/bin/sh
TMPDIR=/tmp/test
SRCDIR=~/bla
mkdir -p ${TMPDIR}

# entpacken, konfigurieren, kompilieren und installieren (erster Lauf)
tar -zxf software-3.4.5.tar.gz
cd software-3.4.5
./configure --prefix ${TMPDIR}
make && make install

# Dateiliste erstellen
cd ${TMPDIR}
find . -type f >> ~/selfcompiled/software-3.4.5.list

# Echter Build
cd ${SRCDIR}/software-3.4.5
make clean
./configure && make && make install

Antworten