Wie kann ich Quellcode aus der Linux Cross Reference-Bibliothek herunterladen (generiert von der LXR-Engine)?
Frage
Ich wollte den Quellcode des Linux-Kernelmoduls von herunterladen http://lxr.free-electrons.com/source/net/bluetooth/.Gibt es ein Tool wie SVN zum Herunterladen des von der LXR-Engine generierten Quellcodes?Dank im Voraus!
Lösung
Wenn Sie immer noch nach einer Antwort suchen, finden Sie hier eine Vorgehensweise, die auf einer wenig dokumentierten Funktion von LXR basiert.
- Zeigen Sie die Datei an, die Sie interessiert
- Ändern Sie die URL in der Adressleiste des Browsers und fügen Sie am Ende hinzu
?_raw=1
und dorthin gehen (d. h.Return-Taste drücken) - Die Datei wird dann „wie sie ist“ ohne jegliche Dekoration angezeigt (sie wird gesendet als
text/plain
) - Sie können die Datei jetzt über den Browser-Menübefehl Datei->Speichern unter speichern
ANMERKUNGEN:
- Der
?_raw=1
Mit dem Argument können Sie HTML-Dateien von Ihrem Browser interpretieren lassen, d. h.als HTML angezeigt, da sie als gesendet werdentext/html
. - Die Funktion ist in LXR schon seit Ewigkeiten vorhanden, obwohl das Argument in Versionen vor 0.10 buchstabiert ist
?raw=1
(ohne Unterstrich). - Ich habe das überprüft
?raw=1
funktioniert mit freien Elektronen, obwohl sie 0.3.1 verwenden, das 2003 veröffentlicht wurde!
Andere Tipps
Die Dokumentation auf LXR gibt an, dass es einen Git-Repo gibt. http://lxr.linux.no/ Ich habe es noch nie probiert, aber es ist vielleicht das, was Sie suchen
Nicht genau eine Antwort, aber ich suchte nach einer verwandten Sache - die Möglichkeit, einzelne C-Dateien von LXR als Klartext herunterzuladen. Wenn es möglich ist, Dateien als Text herunterzuladen, könnten grundsätzlich eine Art Parser / ein automatischer Downloader für ein gesamtes Verzeichnis schreiben.
Die Dokumentation für den LXR-Motor scheint hier zu sein:
... und soweit ich aus dem 1,0-PDF-Handbuch sehen konnte (Beachten Sie, dass lxr.free-electrons.com jedoch auf Version 0.3.1 ausgeführt wird), gibt es jedoch keine Klartext-Quelldateien (zusätzlich) zum HTML exportiert werden.
Sehr wahrscheinlich, wenn die Klartext-Quelldateien nicht in einem LXR-Export verfügbar sein scheinen, gibt es kein Tool, das herunterladen kann. ( BTW, ich wünsche mir auch, dass es ein Tool so gab, dass sonst die einzige Option ist, den gesamten Linux-Quellbaum über Git zu klonen).
Note Hinweis, dass auch eine experimentelle Version von LXR von LXR.LINUX.NO vorliegt; dass man HTML generiert, der JavaScript benötigt, und es wird eine Schaltfläche "Download" in seiner Schnittstelle angezeigt. Dann kann man die Online-Text-Quelldatei herunterladen. Wie lxr.linux.no ist für mich für mich runter, hier ist ein Link zu einer kommentierten HTML-Seite an eine andere Site, die denselben Motor verwenden scheint (es gibt keinen Hinweis-ATM für die numerische Version der LXR-Engine): .
... und so sieht der Link aus, sodass eine einfache Textversion erhält:
Beachten Sie, dass dies ein anderes URL-Format ist als das, was lxr.free-electrons.com verwenden würde:
... und auf der Startseite gibt es eine Notiz ( http://lxr.missinglinkelectronics.com/ <) Sobald Sie JavaScript aktivieren, welche heißt es:
lxr.missinglinkelectronics.com läuft derzeit eine experimentelle Gabel der LXR-Software, die von lxr.linux.no bereitgestellt wird.
... oder, mit anderen Worten: Das Link-Format zum Herunterladen von Klartext-Quelldateien von lxr.linux.no funktioniert nicht für die (aktuelle) lxr.free-electrons.com-Installation.
Hier können Sie die Referenzen durchsuchen und können auch die Quelldatei herunterladen https://code-grep.com/view/project/54b083273b2082684A000008/linux-3.19-rc2
Auf free-electrons.com funktioniert es durch Hinzufügen des Arguments „roh=1" in der URL.Zum Beispiel diese URL...
http://lxr.free-electrons.com/source/drivers/misc/lis3lv02d/lis3lv02d.c?v=3.8
...wird das:
http://lxr.free-electrons.com/source/drivers/misc/lis3lv02d/lis3lv02d.c?v=3.8&raw=1
Die resultierende Seite kann dann mit der Funktion „Dateispeicherung“ Ihres Browsers gespeichert werden.Unter Linux und Windows ist dies normalerweise dem zugeordnet ctrl+s
Tastaturkürzel.