Use o comando apt-get source <package>
(não use o sudo com ele) para baixar a origem de um pacote.
De man apt-get
:
source
source causes apt-get to fetch source packages. APT will examine the
available packages to decide which source package to fetch. It will then
find and download into the current directory the newest available version of
that source package while respect the default release, set with the option
APT::Default-Release, the -t option or per package with the pkg/release
syntax, if possible.
Source packages are tracked separately from binary packages via deb-src type
lines in the sources.list(5) file. This means that you will need to add such
a line for each repository you want to get sources from. If you don't do
this you will properly get another (newer, older or none) source version
than the one you have installed or could install.
If the --compile option is specified then the package will be compiled to a
binary .deb using dpkg-buildpackage, if --download-only is specified then
the source package will not be unpacked.
A specific source version can be retrieved by postfixing the source name
with an equals and then the version to fetch, similar to the mechanism used
for the package files. This enables exact matching of the source package
name and version, implicitly enabling the APT::Get::Only-Source option.
Note that source packages are not tracked like binary packages, they exist
only in the current directory and are similar to downloading source tar
balls.
Para criar um pacote a partir do código-fonte, primeiro instale as dependências de construção:
sudo apt-get build-dep <package>
Em seguida, use dpkg-buildpackage
para criar um arquivo .deb
. De Folha de referência rápida do APT e do Dpkg :
Em um terminal, cd
no diretório que contém a origem do pacote (por exemplo, ~/code/hellanzb-0.13
) e execute o seguinte comando:
dpkg-buildpackage -rfakeroot -uc -b
Se a compilação for bem-sucedida, haverá um arquivo .deb
localizado na propriedade pai
diretório (por exemplo, ~/code/hellanzb_0.13-6.1_all.deb
).