Blog notes Aternatik

Contact

Accueil du site / Articles et ressources / Créer un patch avec diff

Actualités / Nouveautés

Asterisk et vserver

Installer 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 PHP

Cette 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 arborescence

Des 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

0 | 3 | 6 | 9 | 12 | 15 | 18

Articles et ressources

Créer un patch avec diff

Publié le 16 août 2007 - Tags :

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 :

- Commandes diff et patch
- Utiliser diff et patch



http://www.wikio.fr netvibes Google SPIP Suivre la vie du site RSS 2.0 Création de sites internet : Aternatik phpMyVisites

Creative Commons License
Le contenu du site est mis à disposition sous un contrat Creative Commons.