Automatisch rausfinden der dependencies

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Automatisch rausfinden der dependencies

Beitrag von shevegen » 29.04.2009 19:12:33

Hi,
ist zwar keine Debian Frage, mehr eine allgemeine Frage.

Angenommen wir haben ein Programm `foobar`.

Dieses Programm verwendet GNU make GNU autoconfigure etc... und hängt von anderen Programmen ab.

Ich will dies nun kompilieren, kenne aber seine Abhängigkeiten nicht. Ich starte also configure, und
er gibt mir einen Fehler aus `foobar depends on libbla-1.0`

Meine Frage ist - gibt es einen Weg herauszufinden wovon `foobar` abhängt? Steht diese Information vielleicht
irgendwo drinnen?

Ich würde das dann gerne parsen um so automatisch herauszufinden wovon dies abhängig ist.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Automatisch rausfinden der dependencies

Beitrag von cirrussc » 29.04.2009 20:13:11

Code: Alles auswählen

apt-get build-dep <Paket>
Holt die Quell- Abhängigkeiten, irgendwo wird das schon hinterlegt sein :wink:
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: Automatisch rausfinden der dependencies

Beitrag von nepos » 30.04.2009 08:19:05

cirrussc hat geschrieben:

Code: Alles auswählen

apt-get build-dep <Paket>
Holt die Quell- Abhängigkeiten, irgendwo wird das schon hinterlegt sein :wink:
Das klappt aber auch nur, wenn das Programm, das man compilieren will, schon in den Sourcen als .deb-File vorhanden ist. Da hat nämlich der Maintainer schon die Abhängigkeiten zusammengesucht.

Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Re: Automatisch rausfinden der dependencies

Beitrag von shevegen » 09.05.2009 20:32:30

Eigentlich will ich rausfinden, wie man zu dieser Information kommt.
"try and error" will ich möglichst vermeiden, am liebsten wäre mir eine Art "System" wo man
so etwas automatisch und zu 100% korrekt herausfinden kann.

Wenn das jemand sonst herausgefunden hat und wo eingetragen hat, dann weiss ich ja noch immer
nicht wie diese Person das gemacht hat. Ich zweifel aber das das manuell war ohne
Skripte ... das wäre ja etwas primitiv :)

Ich werde das Thread hier noch ein paar Wochen anschauen, schade das das bis jetzt keiner gewusst hat
aber trotzdem danke für die Antworten.
Da hat nämlich der Maintainer schon die Abhängigkeiten zusammengesucht.
Weiss jemand wie der Maintainer das macht? Also wie man da vor geht? Gibts hier überhaupt jemanden
der was maintained hat und das dann rausgefunden hatte? :)

brummer
Beiträge: 182
Registriert: 19.02.2007 19:21:23

Re: Automatisch rausfinden der dependencies

Beitrag von brummer » 10.05.2009 07:45:16

Ein Anfang währe hier z.b. die sourcen nach den eingebundenen headern zu durchsuchen, wenn ich #include <jack/jack.h> finde, weiß ich das libjack-dev benötigt wird usw.
Das brauch man sicher nich zu fuß machen.

Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Re: Automatisch rausfinden der dependencies

Beitrag von shevegen » 13.05.2009 00:54:33

Gute Idee, daran hab ich noch nicht gedacht. Werde ich mir merken, ist nämlich ziemlich
trivial. Das könnte ich an einem Nachmittag mit einem ruby script erledigen :D

Bin mir nicht ganz sicher ob ich so alle .h Dateien zuordnen kann, aber andererseits
überschneiden sich ja Projekte auch mit ihren dependencies. Das müsste man mit
ein wenig Aufwand analysieren können und so automatisch eine richtige
Zuordnung erstellen (google hat ja eigentlich eh alle .h als Projekte)

Ich kann aber trotzdem nicht ganz glauben das dies die Methode ist, nach der ein Debian
Entwickler vorgeht, aber was solls. Man findet nicht immer alles heraus ... :)

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Re: Automatisch rausfinden der dependencies

Beitrag von armin » 13.05.2009 02:39:26

Du jagst das Configure-Skript durch, schaust was er haben willst und hast fast direkt das passende -dev Paket. So primitiv das sein mag, aber das ist die Lösung. Genau dafür (unter anderem) ist das configure-Skript nämlich da.
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Antworten