Apply patch
Have you opened a support ticket and received a patch or a link to a patch? Here’s the simple procedure to apply it!
Simplified procedure (Majority of cases)
The support service:
attached a patch file (with a .patch or .diff extension) to their response
or provided you with a link to the same type of file
example:
https://xxx/bug-fix.diffor:
https://xxx/bug-fix.patch
Place the patch in the correct location
Depending on where the encountered bug is, the patch may be intended for the core or a plugin. It is therefore necessary to place the patch in the correct location before applying it.
The patch concerns the GLPI core
A file was provided to you: Move the previously created file to the GLPI root folder.
A link was provided to you: Go to the GLPI root folder and run the following command to download the patch:
Then check that the file is present:

The patch concerns a Plugin
A file was provided to you: Move the previously created file to the plugin root folder.
A link was provided to you: Go to the plugin root folder and run the following command to download the patch:
Then check that the file is present:

Test the patch
Before appling patch, you have to test it with this command and parameter --dry-run
grep -v "phpunit/" buf-fix.diff | patch -p1 --dry-runTest is failed ❌
In case of an error you should have this
patching file inc/config.class.php
Hunk #1 FAILED at 400.
1 out of 1 hunk FAILED -- saving rejects to file inc/config.class.php.rejMany things can lead to failure :
Your version of GLPI is different from the version used to make the patch
The file that must be modified by the patch has already been previously
Stop here and contact support, explaining your issue (feel free to include screenshots, GLPI version, command used, etc.)
Test is successfull ✅
In case of a success you should have this
patching file inc/config.class.phpor this
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).Apply the patch
Test successful ✅? You can now actually apply the patch with this command
grep -v "phpunit/" buf-fix.diff | patch -p1Congratulation the patch is applied !
Special cases (rare)
The support service:
asks you to revert / undo the patch
provided you with a commit number
provided you with a link to a PR
Cancel a patch
To cancel a patch, enter the command :
patch -p1 < bug-fix.diff -RYou have a commit number
Service support give you this commit number ex: adc9876
First, you need to retrieve changes from commit
Go to
https://github.com/glpi-project/glpi/commit/ + COMMIT_NUMBER
Example
https://github.com/glpi-project/glpi/commit/adc9876

Then, transform the commit into a patch by adding
.diffat the end of url.
Like this https://github.com/glpi-project/glpi/commit/adc9876.diff

Copy the patch URL and run a wget on your GLPI server
wget https://github.com/glpi-project/glpi/commit/adc9876.diff
You have PR number (Pull Request)
Service support give you a PR number 4770
First, you need to retrieve the PR
Go to
https://github.com/glpi-project/glpi/pull/ + PR_NUMBER
Example
https://github.com/glpi-project/glpi/pull/4770

First , transform the PR into a patch by adding
.diffat the end of url.
Like this https://github.com/glpi-project/glpi/pull/4770.diff

Copy the patch URL and run a
wgeton your GLPI serverwget https://github.com/glpi-project/glpi/pull/4770.diff
Finally, go to apply patch section
Check that the patch binary is installed
To known if it installed, just find the version of the binary patch installed
patch -vIf it installed you should have this
GNU patch 2.7.6
Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
Copyright (C) 1988 Larry Wall
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
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 EggertIf not you should have this
command not found: patchInstall it with this command
Ubuntu/Debian
apt-get install patchCentOS/RHEL
yum install patchLast updated