Aplicación de parches en packages Debian – Parte 2

Le pregunté sobre la aplicación de parches aquí . Intenté hoy usando el mismo procedimiento en un package fuente diferente y falló. Compartir –

~/games $ mkdir decopy ~/games/decopy $ apt-get source decopy Reading package lists... Done NOTICE: 'decopy' packaging is maintained in the 'Git' version control system at: https://anonscm.debian.org/git/collab-maint/decopy.git Please use: git clone https://anonscm.debian.org/git/collab-maint/decopy.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 46.9 kB of source archives. Get:1 http://debian-mirror.sakura.ne.jp/debian unstable/main decopy 0.2-1 (dsc) [1,943 B] Get:2 http://debian-mirror.sakura.ne.jp/debian unstable/main decopy 0.2-1 (tar) [43.2 kB] Get:3 http://debian-mirror.sakura.ne.jp/debian unstable/main decopy 0.2-1 (diff) [1,760 B] Fetched 46.9 kB in 42s (1,103 B/s) dpkg-source: info: extracting decopy in decopy-0.2 dpkg-source: info: unpacking decopy_0.2.orig.tar.gz dpkg-source: info: unpacking decopy_0.2-1.debian.tar.xz 

Entonces listdo –

 ~/games/decopy $ ls decopy-0.2 decopy_0.2-1.debian.tar.xz decopy_0.2-1.dsc decopy_0.2.orig.tar.gz 

Obviamente decopy-0.2 es donde están las cosas.

/games/decopy/decopy$ wget https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=854052;filename=use_tqdm_progress.patch;msg=10

 ~/games/decopy/ $ ─[$] ls decopy-0.2 decopy_0.2-1.debian.tar.xz decopy_0.2-1.dsc decopy_0.2.orig.tar.gz use_tqdm_progress.patch ~/games/decopy $ cd decopy-0.2 ~/games/decopy/decopy-0.2 $ patch -p1 < ../use_tqdm_progress.patch (Stripping trailing CRs from patch; use --binary to disable.) patching file decopy/cmdoptions.py (Stripping trailing CRs from patch; use --binary to disable.) patching file decopy/tree.py Hunk #2 succeeded at 190 (offset -6 lines). Hunk #3 succeeded at 201 (offset -6 lines). Hunk #4 succeeded at 303 (offset -6 lines). Hunk #5 succeeded at 364 (offset -6 lines). 

Lo parcheé, y ahora uso dch para tener otra oportunidad –

  ~/games/decopy/decopy-0.2 $ dch -n "Apply patch given in #854052". ~/games/decopy/decopy-0.2 $ 

Ahora el directory no cambió, aparentemente porque este package no es un package nativo como dpkg is / was.

¿Cuáles son los pasos recomendados aquí?

¿También hay una forma de saber qué package es un package nativo de Debian y cuáles no? ¿Alguna testing o algo?

Este es un package "3.0 (quilt)" (vea debian/source/format ), por lo que deberá usar quilt para administrar el parche. Revertir el parche:

 patch -R -p1 < ../use_tqdm_progress.patch 

luego crea la estructura apropiada:

 mkdir -p debian/patches cp ../use_tqdm_progress.patch debian/patches echo use_tqdm_progress.patch >> debian/patches/series 

Debe actualizar el parche:

 quilt push quilt refresh 

Tu dch está bien, como es el hecho de que el nombre del directory no cambió. Puedes build el package ahora:

 dpkg-buildpackage -us -uc 

En cuanto a los packages nativos, puedes detectar un package nativo por el hecho de que no tiene un guion en su versión (en general). Aquí, la versión es 0.2-1, por lo que no es un package nativo. Dentro del package, el debian/source/format sería "3.0 (nativo)" para un package nativo.