Chcę przeczytać kod źródłowy jakiegoś pakietu w Debianie; jak mogę to zrobić?
Odpowiedź
Pobieranie kodu źródłowego z repozytoriów Debiana jest tak proste, jak uruchomienie apt-get source <PACKAGE>
. Spowoduje to umieszczenie 3 plików w Twoim bieżącym katalogu, .dsc
opisującym pakiet, .orig.tar.gz
zawierającym niezmodyfikowane źródła i .diff.gz
, który zawiera zmiany specyficzne dla Debiana. Ale jeśli pojawi się błąd E: Unable to find a source package for <PACKAGE>
, być może nie masz określonego repozytorium kodu źródłowego, więc przejdź do /etc/apt/sources.list
(lub jakiś plik w /etc/apt/sources.list.d/
, który zawiera repozytorium Debiana), znajdź ciąg taki jak:
deb ftp://ftp.debian.org/debian wheezy main contrib non-free
Zmień deb
na deb-src
:
deb-src ftp://ftp.debian.org/debian wheezy main contrib non-free
Zaktualizuj pliki indeksu pakietów za pomocą sudo apt-get update
i spróbuj ponownie. Zobacz też:
Odpowiedź
Drugą możliwością jest pobranie kod źródłowy bezpośrednio z zewnątrz zamiast pobierania go z repozytoriów Debiana. Ma to tę zaletę, że jeśli nie tylko chcesz czytać kod źródłowy, ale możesz chcieć coś zmienić, możesz to bezpośrednio zatwierdzić i przesłać do źródła (zakładając, że nie jest to łatka Debiana).
znajdź adres URL repozytorium kodu źródłowego w pliku /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
Odwołanie do tego pliku znajduje się również w packages.debian.org (wyszukaj " Copyright File ") .