Cuando nos disponemos a descargar paquetes de código fuente de alguna aplicación de los repositorios de Debian, nos percatamos de que nos ofrecen 3 tipos de ficheros distintos:
Paquete.orig.tar.gz -> Es el paquete de fuentes original (Como el autor lo creo, sin modificaciones).
Paquete.diff.gz -> Contiene las modificaciones realizadas por los mantenedores de Debian.
Paquete.dsc -> Fichero de información (Versión, Md5, Firma PGP,...).
No solo en Debian nos encontrarnos con este tipo de ficheros diff.gz, cuando queremos compilar algún software de otras distros podemos encontrarnos con ellos como vemos en la imagen, es algo muy común. Estos ficheros diff.gz añaden, modifican o eliminan cierto código en el paquete de fuentes, ya sea para permitir una compilación sin errores, tapar algún bug, aumentar la seguridad del código fuente, etc..
Esto de retocar los paquetes por parte del equipo Debian, es algo muy común, lo hacen otras distros también, en principio siempre se trata de mejoras, sobre todo en lo relativo a la seguridad, pero a veces no todo sale como se esperaba y en vez de mejorarlos se crean problemas de seguridad. Los paquetes .deb que instalamos al hacer uso de Apt / Aptitude vienen ya previamente parcheados.
Vamos a ver como se aplican estos parches diff.gz a los tarballs que necesitamos parchear, mostraremos un método, pero realmente se puede hacer de muchas y distintas maneras, supongamos que tenemos estos dos ficheros: paquete_0.2.1-2.diff.gz y paquete_0.2.1.orig.tar.gz, el parche lo podríamos aplicar así.
$ tar -zxvf ccze_0.2.1.orig.tar.gz
$ cd ccze-0.2.1/
$ zcat ../ccze_0.2.1-2.diff.gz | patch -p1
En pantalla se nos mostraran frases con "patching file XXXX". Una vez parcheado podemos proceder a la compilación.