Nota: Este problema parece aplicarse a todas las versiones de Magento que recibieron el parche SUPEE-6788. Verás en mi respuesta que ambos .htaccess
y .htaccess.sample
necesitan ser restaurados para que el parche tenga éxito.
Estoy trabajando en aplicar el parche SUPEE-6788 a un sitio CE 1.7.0.2 usando el script de shell proporcionado por magentocommerce.com/downloads . El sitio ha tenido todos los parches de seguridad anteriores aplicados.
El nombre del script es PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh
y tiene un md5sum de cfc0cf533fe36a5f573414f0feeb1590
(este parche era inusual porque se lanzó sin comprimir, aunque el archivo no parece estar dañado o truncado).
Cuando se ejecuta este script, la salida de la consola parece indicar que al menos uno de los parches incluidos falló o se omitió, pero que muchas partes del parche tuvieron éxito, sin embargo, no git
muestran cambios. El script se ha probado en dos entornos diferentes con la misma base de código: uno es una estación de trabajo Ubuntu GNOME 14.04 LTS y el otro un servidor compartido nexcess.com (que ejecuta CentOS).
De interés es que la salida en los dos entornos es ligeramente diferente. Tenga en cuenta las líneas que comienzan con "comprobación" vs "parches".
Una muestra de salida del entorno Ubuntu:
bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh [19:27:10]
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.
checking file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
checking file app/code/core/Mage/Admin/Model/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block.php
checking file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable.php
checking file app/code/core/Mage/Admin/Model/Resource/Variable/Collection.php
checking file app/code/core/Mage/Admin/Model/Variable.php
...
Una muestra del entorno CentOS:
bash PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh
Checking if patch can be applied/reverted successfully...
ERROR: Patch can't be applied/reverted successfully.
patching file .htaccess
Hunk #1 FAILED at 207.
1 out of 1 hunk FAILED -- saving rejects to file .htaccess.rej
can't find file to patch at input line 38
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git .htaccess.sample .htaccess.sample
|index 546f18e..3e79c77 100644
|--- .htaccess.sample
|+++ .htaccess.sample
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file app/code/core/Mage/Admin/Model/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block.php
patching file app/code/core/Mage/Admin/Model/Resource/Block/Collection.php
patching file app/code/core/Mage/Admin/Model/Resource/Variable.php
...
Investigaré el error en la parte superior de la salida y posiblemente aplicaré manualmente los parches, pero esperaba que alguien pudiera tener una idea de la causa o una solución relativamente simple.
.htaccess
archivo tenga exactamente 1 nueva línea vacía al final del archivo #FileETag none
. Y el .htaccess.sample
archivo debe tener 2 nuevas líneas vacías al final del archivo.