>> Jorge Bianquetti de las Heras <[EMAIL PROTECTED]> writes:
> Los parches generalmente se aplican situandose en el directorio raiz
> del software a compilar y ejecutando patch -p0 < /ruta/al/diff.
>
Al contrario, los parches generalmente no se aplican as�, y es por una
raz�n sencilla. Al generar el parche, usualmente uno tiene esto
$ ls -1
miproyecto-0.0.1
miproyecto-0.0.2
Para generar un parche que pase de 0.0.1 a 0.0.2 uno hace esto:
$ diff -ruN miproyecto-0.0.1 miproyecto-0.0.2 > miproyecto-0.0.2.diff
lo cual quiere decir que "miproyecto-0.0.1" (la hilera) quedar� metida
dentro del parche.
Al aplicar el parche hay dos opciones:
* Si el directorio miproyecto-0.0.1 existe entonces uno puede
aplicar el parche en la forma indicada arriba, es decir:
$ ls -1
miproyecto-0.0.1
miproyecto-0.0.2.diff
$ patch -p0 < miproyecto-0.0.2.diff
y patch no va a tener problemas pues est� trabajando precisamente
con la estructura con la que el parche se cre�.
* Si por alg�n motivo el directorio se llama de otra forma que no
sea miproyecto-0.0.1, es necesario decirle esto a patch. Por
ejemplo:
$ ls -1
miproyecto-0.0.1
miproyecto-0.0.2.diff
$ cp -a miproyecto-0.0.1 miproyecto-0.0.2
$ ls -1
miproyecto-0.0.1
miproyecto-0.0.2
miproyecto-0.0.2.diff
$ patch -p1 -d miproyecto-0.0.2 < miproyecto-0.0.2.diff
-p1 quiere decir "quite el primer directorio del nombre de los
archivos en el parche" y -d miproyecto-0.0.2 quiere decir "aplique
el parche a los archivos que se encuentran en miproyecto-0.0.2"
Y ya que los parches est�n com�nmente comprimidos (y como es un
desperdicio de tiempo y espacio descomprimirlos antes de aplicarlos)
uno termina escribiendo algo as� com�nmente:
$ zcat miproyecto-0.0.2.diff.gz | patch -p1 -d miproyecto
Ver diff(1) y patch(1)
--
M.
--
Desuscripci�n: escriba a [EMAIL PROTECTED], tema 'unsubscribe'
Problemas a: [EMAIL PROTECTED] http://www.linux.or.cr/listas