O que é um patch?
Um patch é um grupo de mudanças (+/-) desenhadas para atualizar, corrigir, melhorar ou remover linhas no código fonte do GLPI.
Aqui está um exemplo do myPatch.patch
1 diff --git a/install/mysql/glpi-empty.sql b/install/mysql/glpi-empty.sql
2 index fc48b7c..1019375 100644
3 --- a/install/mysql/glpi-empty.sql
4 +++ b/install/mysql/glpi-empty.sql
5 @@ -3288,6 +3288,7 @@ CREATE TABLE `glpi_infocoms` (
6 `comment` text COLLATE utf8_unicode_ci,
7 `bill` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
8 `budgets_id` int(11) NOT NULL DEFAULT '0',
9 + `invoice_locations_id` int(11) NOT NULL DEFAULT '0',
10 - `alert` int(11) NOT NULL DEFAULT '0',
11 `order_date` date DEFAULT NULL,
12 `delivery_date` date DEFAULT NULL,
O + informa que foi adicionado código
O – informa que houve remoção de código
Você tem um arquivo de patch
O suporte entrega um arquivo, a extensão pode ser patch ou diff
Exemplo: myPatch.patch
Vá para a seção de Aplicar patch
Você tem um número de commit
O suporte entrega um número de commit. exemplo: 09c18704f0bd74788d4dbb41f8b40ae21e682108
Primeiro, você precisa juntar as mudanças do commit:
Vá até https://github.com/glpi-project/glpi/commit/ + Número do Commit
https://github.com/glpi-project/glpi/commit/09c18704f0bd74788d4dbb41f8b40ae21e682108
Pull completo e discussão – fix pending reasons by orthagh · Pull Request #10151 · glpi-project/glpi (github.com)
Então, transforme o commit em patch adicionando .patch ao final da url
Assim:
https://github.com/glpi-project/glpi/commit/09c18704f0bd74788d4dbb41f8b40ae21e682108.patch
Copie e Cole em um arquivo de texto e nomeie ele para nome.patch
(por exemplo)
Finalmente, vá até a seção Aplicar patch
Você tem um número de Pull (Pull Request)
O suporte entrega um número de commit. exemplo: 9497
Primeiro, você precisa juntar as mudanças do pull:
Vá até https://github.com/glpi-project/glpi/pull + Número do pull
https://github.com/glpi-project/glpi/pull/10151
Então, transforme o pull em patch adicionando .patch ao final da url
Fazendo assim
https://github.com/glpi-project/glpi/pull/10151.patch
Copie e Cole em um arquivo de texto e nomeie ele para nome.patch
(por exemplo)
Finalmente, vá até a seção Aplicar patch
Aplicar patch
Aplicando patch ao GLPI
Aplicando patch ao GLPI
Mova o arquivo criado anteriormente (.patch) para a pasta raíz do GLPI
Vá até a pasta raiz do GLPI
cd /var/www/html/glpi – #adapte ao caminho necessário
Aplicando patch a um plugin
Mova o arquivo criado anteriormente (.patch) para a pasta raiz do plugin.
Vá até a pasta raiz do GLPI
cd /var/www/html/glpi/plugins/xxxx/ - #adapte ao caminho necessário
Verificar se o recurso patch está instalado
Para saber se o aplicativo de patch está instalado, busque pela versão do patch instalado
patch -v
GNU patch 2.7.5
Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
Copyright (C) 1988 Larry Wall
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Larry Wall and Paul Eggert
Se não estiver instalado você verá isso
command not found: patch
Instale com esse comando
apt-get install patch #Ubuntu / Debian
yum install patch #Cent OS / RHEL
Teste o patch antes de aplicá-lo
Antes de aplicar o patch, você deve testar com este comando e o parâmetro –dry-run
patch = comando
p1 = parâmetro que define a aplicação em qualquer arquivo referenciado no patch
–dry-run = não executará. Apenas testará (Ensaio)
myPatch.patch = nome do arquivo de patch que deseja executar
patch -p1 –dry-run < myPatch.patch
Teste foi um sucesso ✅
Em caso de sucesso você deve ver algo semelhante a isso
patching file inc/config.class.php
ou isso
patching file inc/config.class.php
Hunk #1 succeeded at 891 with fuzz 1 (offset 23 lines).
Hunk #2 succeeded at 1301 with fuzz 2 (offset 41 lines).
Agora você pode aplicar o patch:
patch -p1 < myPatch.patch
Parabéns, o patch foi aplicado e agora você consegue criar usuários na versão Beta do GLPI 10.
Deixe um comentário