Você precisa corrigir o arquivo correto.
A maneira como você o chama, ele tentará corrigir o novo arquivo e, assim, corretamente assume um patch invertido.
Tente copiar uma versão antiga do arquivo para o seu diretório atual e o patch será aplicado.
Em relação ao seu teste -p0
: você tem permissão para modificar / usr / bin / gradle?
Você tem permissão para criar arquivos em / usr / bin?
Observe também que há regras divergentes para fazer com que o nome do arquivo seja corrigido.
As regras usadas por gpatch
são diferentes do patch original e do padrão de patch POSIX.
Observe que a mensagem "não é um arquivo normal" é específica de gpatch
. Por favor, liste o arquivo /usr/bin/gradle
. A mensagem é impressa somente quando o arquivo não é um arquivo normal, então algo parece estranho.
Então a solução é:
patch
apenas corrige arquivos simples, mas o arquivo que você deseja corrigir é um link simbólico.
Se você tiver uma cópia do arquivo simples (versão antiga) em seu diretório atual, o patch fará o que você espera.
BTW: a regra usual para obter o nome do arquivo para patch é procurar o nome mais curto como a convenção de nomenclatura usual é usar:
file.orig
e
file