Wie Quellcode beziehen?

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Wie Quellcode beziehen?

Beitrag von Che » 21.10.2007 15:17:52

Hallo,

wie kann man rasch den Quellcode von DebianProgrammen bekommen um sie mit z.B. Emacs zu bearbeiten? Kann es mir jemand bitte kurz zeigen?

Gruß
che

Benutzeravatar
neuss
Beiträge: 2165
Registriert: 06.11.2004 17:56:02
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von neuss » 21.10.2007 15:22:46

Code: Alles auswählen

apt-get source Paketname
stell dir vor, es geht, und keiner kriegt es hin.

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

Beitrag von cirrussc » 21.10.2007 15:25:37

Hi,

also in der /etc/apt/sources.list sollten die deb-src Einträge zusätzlich aktiv sein.
Und holen kannst du die Quellen mit apt-get source <paketname> oder direkt von debian.org.

edit: oh, zu langsam

Gruß cirrussc
Zuletzt geändert von cirrussc am 21.10.2007 15:26:35, insgesamt 1-mal geändert.

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 21.10.2007 15:25:50

Du brauchst einen deb-src Eintrag in deine sources.list, z.B. für stable:

Code: Alles auswählen

deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free 
Dann musst du noch

Code: Alles auswählen

apt-get update
ausführen, und bekommst die Quellen dann mit

Code: Alles auswählen

apt-get source PAKET

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Beitrag von Che » 21.10.2007 15:49:26

Sehr gut! Toll!

Vielen dank!

che

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Beitrag von Che » 23.10.2007 00:59:20

Ich habe den Quellcode von dem Wörterbuch "ding" wie oben bezohgen und eine Datei davon (die Daten des Wörterbuchs) bearbeitet.

Kann mir jemand bitte zeigen, wie ich die drei Bestandteile wieder zu einem installierbaren Paket packen kann? Wäre dpkg-repack das richtige hier? Wenn ja, wie mache ich es genau? Wenn nein, was sonst?

Die drei Pakete sind:

ding_1.4-4.diff.gz
ding_1.4-4.dsc
ding-1.4.orig.tar.gz


Ich bedanke mich im voraus!

che

Benutzeravatar
neuss
Beiträge: 2165
Registriert: 06.11.2004 17:56:02
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von neuss » 23.10.2007 12:07:03

Hallo,

da es sich um die Quellen von Debian handelt, gibt es eine rules Datei im Unterordner debian, die alles für dich übernimmt. Also einfach im Ordner ding-1.4 ein,

Code: Alles auswählen

debian/rules binary
ausführen und du erhälst dein deb Paket. Vorher solltest Du noch ein,

Code: Alles auswählen

apt-get build-dep ding 
ausführen.

gruss neuss
stell dir vor, es geht, und keiner kriegt es hin.

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Beitrag von Che » 26.10.2007 00:46:22

danke, neuss!

Was meinst du genau mit "Vorher solltest Du noch ein apt-get build-dep ding ausführen? Vorher wann? Bevor ich debian/rules binary ausführe? Soll "binary" durch das entsprechende Packet ersetzt werden oder ist es schon die endgültige Eingabe?

gruss
che

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

Beitrag von cirrussc » 26.10.2007 00:51:46

Hi,
Che hat geschrieben: Was meinst du genau mit "Vorher solltest Du noch ein apt-get build-dep ding ausführen? Vorher wann? Bevor ich debian/rules binary ausführe?
Ja. apt-get build-dep ding holt alle dev-Pakete die zum bauen von ding notwendig sind.
Che hat geschrieben: Soll "binary" durch das entsprechende Packet ersetzt werden oder ist es schon die endgültige Eingabe?
Das binary bleibt, gibt das Target an.

Gruß cirrussc

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Beitrag von Che » 26.10.2007 01:03:50

ich poste doch gleich dazu, was ich getestet habe. Zuerst habe ich folgendes ausgeführt:

# debian/rules binary
http://nopaste.debianforum.de/6885

Dann habe ich apt-get build-dep ding ausgeführt:
http://nopaste.debianforum.de/6886

Es stimmt doch, dass zum Schluss eine Datei, die mit ".deb" endet rausgespuckt wird, oder? Ja, ich lese am besten nochmal das Handbuch geduldich durch.

Danke!

gruss
che

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Beitrag von Che » 27.10.2007 01:23:44

Hallo,

danke für die Tipps. Ich habe das ganze wieder vom Anfang an wiederholt (sogar ding vollständig deinstalliert und wieder installiert), den Quellcode mittels ~ apt-get source ding bezohgen und dann:

debian:/home/che/ding-1.4# apt-get build-dep ding
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
E: Build-Abhängigkeiten für ding konnten nicht erfüllt werden.


Die Abhängigkeiten, wie man da lesen kann, konnten jedoch nicht erfüllt werden. Warum? Was muss ich da noch machen oder anders machen?

Wenn ich dann das hier ausfürhre:

debian:/home/che/ding-1.4# debian/rules binary
dh_testdir
chmod 755 debian/conv.pl
./debian/conv.pl < de-en.txt \
| dictfmt -j --utf8 \
-u 'http://dict.tu-chemnitz.de/' \
-s 'German - English Dictionary 1.4' \
german-english
/bin/sh: line 1: dictfmt: command not found
make: *** [build-stamp] Fehler 127
debian:/home/che/ding-1.4#


Wird diesen Fehler "127" ausgegeben. Ist vermutlich, weil es im ersten Schritt schon nicht rundgelaufen ist, da die Abhängigkeiten nicht alle erfüllt werden konnten. So, ich hoffe, ich konnte es gut genug schildern, so dass jemand mir jetzt den Fehler helfen finden kann. Ich bedanke mich schonmal!

grüsse
che

Che
Beiträge: 358
Registriert: 09.06.2006 19:00:33

Beitrag von Che » 27.10.2007 01:43:21

Hm ... ich habe mal geguckt, was für Programme möglicherweise diese Aufgabe haben. Dabei wollte ich ein paar Pakete, die ich vermute dafür nötig zu sein, installieren, jedoch war mit meinen aktuellen Einträge in /etc/apt/sources.list unmöglich z. B. "build-essential" zu finden, weil:

build-essential:
Hängt ab: libc6-dev aber es wird nicht installiert oder
libc-dev
Hängt ab: g++ aber es wird nicht installiert


Kann das sein, dass solche Pakete mit diesen Einträge nicht zu installieren sind:

# Sources für Etch == "stable", Debian 4.0

deb http://ftp.de.debian.org/debian etch main
deb-src http://ftp.de.debian.org/debian etch main

deb http://security.debian.org/ etch/updates main
deb-src http://security.debian.org/ etch/updates main

deb http://mirror.home-dn.net/debian-multimedia/ etch main


gruss
che

Antworten