Voglio leggere il codice sorgente di alcuni pacchetti in Debian; come posso farlo?
Risposta
Scaricare il codice sorgente dai repository Debian è semplice come eseguire apt-get source <PACKAGE>
. Metterà 3 file nella directory corrente, .dsc
che descrive il pacchetto, .orig.tar.gz
che contiene sorgenti non modificate e .diff.gz
che contiene modifiche specifiche di Debian. Ma se ricevi un errore E: Unable to find a source package for <PACKAGE>
, potresti non avere specificato il repository del codice sorgente, quindi vai a /etc/apt/sources.list
(o un file in /etc/apt/sources.list.d/
che contiene il tuo repository Debian), trova una stringa come:
deb ftp://ftp.debian.org/debian wheezy main contrib non-free
Cambia deb
in deb-src
:
deb-src ftp://ftp.debian.org/debian wheezy main contrib non-free
Aggiorna i file di indice del pacchetto con sudo apt-get update
e riprova. Vedi anche:
Risposta
Una seconda possibilità è scaricare il codice sorgente direttamente dallupstream invece di scaricarlo dai repository Debian. Questo ha il vantaggio che se non solo vuoi leggere il codice sorgente, ma potresti voler cambiare qualcosa, puoi eseguire il commit direttamente e inviarlo a monte (supponendo che non sia una patch Debian).
Di solito puoi trova lURL del repository del codice sorgente a monte nel file /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
Questo file è anche referenziato da packages.debian.org (cerca " Copyright File ") .