Chci přečíst zdrojový kód nějakého balíčku v Debianu; jak to mohu udělat?
Odpověď
Stahování zdrojového kódu z repozitářů Debianu je stejně snadné jako spuštění apt-get source <PACKAGE>
. Vloží 3 soubory do vašeho aktuálního adresáře, .dsc
popisující balíček, .orig.tar.gz
, který obsahuje nemodifikované zdroje, a .diff.gz
obsahující změny specifické pro Debian. Pokud se vám ale zobrazí chyba E: Unable to find a source package for <PACKAGE>
, možná nemáte zadané úložiště zdrojového kódu, přejděte tedy na /etc/apt/sources.list
(nebo nějaký soubor v /etc/apt/sources.list.d/
, který obsahuje vaše úložiště Debian), najděte řetězec jako:
deb ftp://ftp.debian.org/debian wheezy main contrib non-free
Změnit deb
na deb-src
:
deb-src ftp://ftp.debian.org/debian wheezy main contrib non-free
Aktualizujte indexové soubory balíčku pomocí sudo apt-get update
a zkuste to znovu. Viz také:
Odpověď
Druhou možností je stáhnout zdrojový kód přímo z upstream namísto stahování z repozitářů Debianu. To má tu výhodu, že pokud si nejen chcete přečíst zdrojový kód, ale chtěli byste něco změnit, můžete jej přímo potvrdit a odeslat na vyšší verzi (za předpokladu, že nejde o opravu Debianu).
Obvykle vyhledejte adresu URL úložiště zdrojového kódu v souboru /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
Na tento soubor se odkazuje také z packages.debian.org (vyhledejte " soubor autorských práv ") .