És molt comú en el món de programari lliure l'estudi del codi font o fer correccions a codi erroni. Per a fer això, necessitareu descarregar la font del programa. El sistema APT proveeix d'una senzilla manera per a obtenir el codi font de la majoria de programes continguts en la distribució, inclosos tots els fitxers necessaris per a crear un .deb per al programa.
Un altre ús comú de les fonts de Debian és el d'adaptar una versió més recent d'un programa, des de la distribució unstable, per exemple, per a usar-lo amb la distribució stable. La compilació d'un paquet dintre de stable generarà fitxers .deb amb les dependències ajustades per a coincidir amb els paquets disponibles en dita distribució.
Per aconseguir això, l'entrada deb-src en el vostre /etc/apt/sources.list haurà d'apuntar cap a unstable. Aquesta haurà d'estar habilitada (sense comentar). Consultar la secció El fitxer /etc/apt/sources.list, Secció 2.1.
Per a descarregar un paquet font, haureu d'usar el següent comandament:
$ apt-get source nom_paquet
Això us descarregarà tres fitxers: Un .orig.tar.gz, un .dsc i un .diff.gz. En el cas de paquets fets específicament per Debian, l'últim d'aquests fitxers no serà descarregat i el primer usualment no tindrà "orig" en el nom.
El fitxer .dsc és usat per dpkg-source per a desempaquetar la font del paquet en el directori nompaquet-versió. Amb cada paquet font descarregat existeix un directori debian/ que conté els fitxers necessaris per a la creació del paquet .deb corresponent.
Per a construir automàticament el paquet que s'està descarregant, tan sols heu d'afegir -b a la línia de comandaments, d'aquesta manera:
$ apt-get -b source nom_paquet
Si decidiu no crear el .deb en temps de descàrrega, podreu crear-lo més tard executant:
$ dpkg-buildpackage -rfakeroot -uc -b
des del directori que ha estat creat després de descarregar el paquet. Per a instal·lar el paquet que ha estat creat pels anteriors comandaments, s'haurà d'emprar el sistema de gestió de paquets directament, d'aquesta manera:
# dpkg -i fitxer.deb
Hi ha una diferència entre el mètode apt-get
source i
les seves altres opcions. El mètode source pot ser usat per
usuaris normals, sense necessitar poders especials de root. Els fitxers són
descarregats al directori des del que es crida al comandament apt-get
source package.
Normalment, és necessària la presència de capçaleres o biblioteques compartides per a que un paquet font siga compilat. Tots els paquets font tenen un camp en els seu fitxer de control anomenat "Build-Depends:" el qual indica quins paquets addicionals són necessaris per a que el paquet siga construït des de la font.
APT té un mode simple de descarregar aquests paquets. Simplement executeu apt-get build-dep paquet, a on "paquet" serà el nom del paquet que aneu a construir. Per exemple:
# apt-get build-dep gmc Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: comerr-dev e2fslibs-dev gdk-imlib-dev imlib-progs libgnome-dev libgnorba-dev libgpmg1-dev 0 packages upgraded, 7 newly installed, 0 to remove and 1 not upgraded. Need to get 1069kB of archives. After unpacking 3514kB will be used. Do you want to continue? [Y/n]
Els paquets que seran instal·lats són els necessaris per a construir
gmc
correctament. És important fer notar que aquest comandament
no cerca el paquet font del programa per a ser compilat. Per a obtenir-lo,
llavors necessitareu executar apt-get source per separat.
Si tot el que voleu és comprovar quins paquets són necessaris per a construir un paquet en concret, hi ha una variant del comandament apt-cache show (consultar Obtenir informació quant als paquets., Capítol 5, el qual mostra, entre d'altre informació, la línia Build-Depends que està llistada en aquests paquets.
# apt-cache showsrc paquet
APT HOWTO
1.8.5 - Juliol de 2003kov@debian.org
bella5 AT teleline DOT es
orestes AT tsc.upc DOT es