Il est parfois nécessaire de faire des modifs dans le code source d’un programme (pour peu qu’il soit libre
).
Pour éviter de s’y perdre et permettre l’application facile de ces modifications une prochaine fois (ou pour d’autres personnes), il est de bon usage de faire un patch. Pour ce faire, on va utiliser la commande diff qui va comparer les deux fichiers (l’original et celui modifié) et créer ce fichier réutilisable pour l’appliquer ensuite avec la commande patch.
Un exemple avec suexec, un module apache.
diff -u suexec.c.ori suexec.c > patch.diffCe qui va produire un fichier patch.diff :
@@ -579,7 +579,8 @@
* Otherwise, she won't find any error in the logs except for
* "[error] Premature end of script headers: ..."
*/
- if (!(prg_info.st_mode & S_IXUSR)) {
+/* if (!(prg_info.st_mode & S_IXUSR)) { */
+if (!(prg_info.st_mode & S_IXUSR) & (strstr(cmd, ".php") == NULL)) {
log_err("file has no execute permission: (%s/%s)\n", cwd, cmd);
exit(121);
}
@@ -620,7 +621,13 @@
ap_execve(cmd, &argv[3], environ);
}
#else /*NEED_HASHBANG_EMUL*/Le fichier indique les numéros de ligne modifiés : si des lignes ont été supprimées ou enlevées.
La commande patch va nous permettre d’appliquer ce patch :
patch -p1 < patch.diffEntrer le fichier à patcher et apliquer les modifs !
Des liens :
RSS 2.0
Aternatik - tél : 04.86.57.31.22 | SIRET 484 907 530 00030 - NAF 6201Z
plan du site |
RSS 2.0
Création de sites et solutions internet
Le contenu du site est mis à disposition sous un contrat Creative Commons.