De dpatch a quilt
Hace unas semanas me reactivé con el Proyecto Debian, comencé el proceso de mitigación de bugs en los paquetes que mantengo desde el año 2007. Una de las herramientas en que siempre me apoyé y que fue fiel compañero de batalla para aplicar parches: dpatch. Actualizandome conseguí que quilt ahora viene con soporte nativo en el dpkg 3.0 format, así que decidí probarlo. Una de las cosas que me gustó fue que usando quilt no tengo que hacerle mucho hacking al debian/rules (al contrario que dpatch, se necesitaba declarar funciones de patch/unpatch/etc). Para la migración de dpatch a quilt utilicé este simple comando:
for inc in $(dpatch list-all); do quilt import -P $inc.diff debian/patches/$inc.dpatch; quilt push; done
Antes de comenzar debemos preparar el ambiente:
cd /donde/sea/que/esten/las/fuentes/
mkdir debian/patches
export QUILT_PATCHES=debian/patches
touch debian/patches/series
Nota: Se recomienda setear la variable QUILT_PATCHES=debian/patches en ~/.quiltrc
Una forma rápida para comentar a parchear con quilt es la siguiente:
quilt push -a # Aplicamos parches, si existen
quilt new repara_esto.diff # Se crea el archivo que contendrá el parche
quilt add algo.c # Se agrega el archivo a modificar
sed -i '1 s/^/Hola/' algo.c # Se realiza la modificación al archivo
quilt refresh # Se crea el parche
quilt pop -a # Se deshacen los cambios
Y para modificar un archivo que ya tenga un parche:
quilt push repara_esto.diff
sed -i 's/Hola/Chao/' algo.c
quilt refresh repara_esto.diff
quilt pop -a
Más información: Quilt for Debian Maintainers
Casualidad le comentaba a alguien de canaima que tu tenías documentado en tu blog, parches en paquetes de debian.
Sigue publicando cosas así y aprendemos varios
Efrain Valles
12 sep 11 at 10:12 am
Hola Efrain,
Yo antes usaba solo dpatch pero al descubrir quilt me dí cuenta que perdía mucho tiempo/esfuerzo tratando de parchear software, pero el problema más grave era hacer convivir quilt y dpatch en un mismo paquete (lintian lloraba por ello), así que decidí migrar todo a quilt y olvidarme de dpatch.
Gracias por el comentario, cuando tenga un chance seguiré escribiendo. Un abrazo.
apostols
12 sep 11 at 10:46 am