Nota: Esse problema parece se aplicar a todas as versões do Magento que receberam o patch SUPEE-6788. Você verá na minha resposta que ambos .htaccess
e .htaccess.sample
precisam ser restaurados para que o patch seja bem-sucedido.
Estou trabalhando para aplicar o patch SUPEE-6788 em um site CE 1.7.0.2 usando o script de shell fornecido por magentocommerce.com/downloads . O site teve todos os patches de segurança anteriores aplicados.
O nome do script é PATCH_SUPEE-6788_CE_1.7.0.2_v1-2015-10-27-12-00-16.sh
e possui um md5sum cfc0cf533fe36a5f573414f0feeb1590
(este patch era incomum porque foi lançado sem compactação - embora o arquivo não pareça corrompido ou truncado).
Ao executar esse script, a saída do console parece indicar que pelo menos um dos patches incluídos falhou ou foi ignorado, mas que muitas partes do patch foram bem-sucedidas, no entanto, não git
estão mostrando alterações. O script foi testado em dois ambientes diferentes com a mesma base de código - um em uma estação de trabalho Ubuntu GNOME 14.04 LTS, o outro em um servidor compartilhado nexcess.com (executando o CentOS).
O interessante é que a saída nos dois ambientes é um pouco diferente. Observe as linhas que começam com "check" vs "patching".
Uma amostra da saída do ambiente 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
...
Uma amostra do ambiente do 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
...
Eu estarei pesquisando o erro na parte superior da saída e possível aplicando manualmente os patches - mas esperava que alguém pudesse ter uma ideia da causa ou uma correção relativamente simples.
.htaccess
o arquivo -File possui exatamente 1 nova linha vazia no final do arquivo depois #FileETag none
. E o .htaccess.sample
arquivo deve ter 2 novas linhas vazias no final do arquivo.