Wie lade ich den Quellcode eines Debian-Pakets ' herunter?

Ich möchte den Quellcode eines Pakets in Debian lesen. Wie kann ich das tun?

Antwort

Das Herunterladen von Quellcode aus Debian-Repositorys ist so einfach wie das Ausführen von apt-get source <PACKAGE>. Es werden 3 Dateien in Ihr aktuelles Verzeichnis gestellt, .dsc, das das Paket beschreibt, .orig.tar.gz, das unveränderte Quellen enthält, und .diff.gz, das Debian-spezifische Änderungen enthält. Wenn Sie jedoch den Fehler E: Unable to find a source package for <PACKAGE> erhalten, ist möglicherweise nicht das Quellcode-Repository angegeben. Gehen Sie daher zu /etc/apt/sources.list (oder eine Datei in /etc/apt/sources.list.d/, die Ihr Debian-Repository enthält), suchen Sie eine Zeichenfolge wie:

deb ftp://ftp.debian.org/debian wheezy main contrib non-free 

Ändern Sie deb in deb-src:

deb-src ftp://ftp.debian.org/debian wheezy main contrib non-free 

Aktualisieren Sie die Paketindexdateien mit sudo apt-get update und versuchen Sie es erneut. Siehe auch:

Antwort

Eine zweite Möglichkeit ist das Herunterladen den Quellcode direkt vom Upstream, anstatt ihn aus Debian-Repositories herunterzuladen. Dies hat den Vorteil, dass Sie, wenn Sie nicht nur den Quellcode lesen möchten, sondern möglicherweise etwas ändern möchten, diesen direkt festschreiben und an den Upstream senden können (vorausgesetzt, es handelt sich nicht um einen Debian-Patch).

Dies können Sie normalerweise Die URL des Upstream-Quellcode-Repositorys finden Sie in der Datei /usr/share/doc/$package_or_program_name/copyright.

$ head /usr/share/doc/git/copyright Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Contact: [email protected] Source: https://www.kernel.org/pub/software/scm/git/ Files: * Copyright: © 2005-2014, Linus Torvalds and others. License: GPL-2 Files: xdiff/* Copyright: © 2003-2009, Davide Libenzi, Johannes E. Schindelin 

Auf diese Datei wird auch von packages.debian.org (Suche nach " Copyright-Datei ") .

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.