
Asterisk et vserverInstaller Asterisk dans un vserver (server virtuel) offre beaucoup d’avantage (sécurité, indépendance dans la configuration, etc…) mais (...)
Lire la suite 8 août
Vérifier un numéro de téléphone en PHPCette fonction permet de vérifier un numéro de téléphone que ce soit un numéro de téléphone fixe (0…) ou un numéro gsm (06…) Le (...)
Lire la suite 1er juin
Remplacer des mots dans une arborescenceDes chemins en dur dans des centaines de fichiers identiques ? (ici des .htaccess) Voila un script surement utile… #!/bin/bash # Usage : (...)
Lire la suite 10 mai
Créer un patch avec diff Publié le 16 août 2007 - Tags : Shell Système Debian
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 de ces modifications (et une bonne distribution, on va utiliser la commande diff qui va comparer les deux fichiers (l’original et celui modifié) et créer un fichier réutilisable avec la commande patch.
Un exemple avec suexec, un module apache.
Le fichier source (non modifié) se nomme suexec.c.ori
Le fichier modifié est suexec.c
diff -u suexec.c.ori suexec.c > patch.diff
Ce 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.diff
Entrer le fichier à patcher et apliquer les modifs !
Des liens :
