PDA

View Full Version : Probleme avec le Patch 23


cmoi
19th April 2007, 18:02
Bonjour,

J'ai installé oreon 1.4 ainsi que les patchs jusqu'au 22 inclus sans aucune erreur.
Le patch 23 me pose problème et le wiki n'est pas très clair pour moi (désolé).
En effet, en appliquant le patch j'ai ca :

/usr/local/oreon# patch -p1 --dry-run < /usr/src/oreon1.4_patchs/23-oreon-2007_04_10_-_16_27.patch
patching file cron/parsing_log.pl
Hunk #1 FAILED at 30.
1 out of 2 hunks FAILED -- saving rejects to file cron/parsing_log.pl.rej
patching file ODS/lib/getServiceData.pm
patching file ODS/lib/identifyMetric.pm
patching file www/include/views/graphs/graphODS/graphODS.php
/usr/local/oreon#

Je ne comprend pas très bien la manipulation a faire.
Car d'après ce que j'ai compris, l'option --dry-run fait une simulation mais en utlisant cette option, "patch" ne crée pas le cron/parsing_log.pl.rej

Donc j'ai quand meme enlever le --dry-run pour créer le .rej et savoir ce qu'il faut supprimer.

Il me donne ca :

/usr/local/oreon# cat cron/parsing_log.pl.rej
***************
*** 30,36 ****
use vars qw($mysql_user $mysql_passwd $mysql_host $mysql_database_oreon $mysql_database_ods $opt_h $opt_a $data);

my $installedPath = "@OREON_PATH@";
- #my $installedPath = "/usr/local/oreon";
require $installedPath."/ODS/etc/conf.pm";

## Init Date
--- 30,35 ----
use vars qw($mysql_user $mysql_passwd $mysql_host $mysql_database_oreon $mysql_database_ods $opt_h $opt_a $data);

my $installedPath = "@OREON_PATH@";
require $installedPath."/ODS/etc/conf.pm";

## Init Date
root@/usr/local/oreon#

Donc si je comprend bien je dois éditer maintenant mon fichier cron/parsing_log.pl
Voici ce fichier sans aucune modification de ma part :

use vars qw($mysql_user $mysql_passwd $mysql_host $mysql_database_oreon $mysql_database_ods $opt_h $opt_a $data);

my $installedPath = "/usr/local/oreon";
#my $installedPath = "/usr/local/oreon";
require $installedPath."/ODS/etc/conf.pm";


Je dois supprimer une ligne commenté? Et identique à celle du dessus?
En la supprimant et en exécutant à nouveau la commande avec l'option --dry-run j'ai toujours la même erreur.

Quelqu'un pour m'éclairer s'il vous plait, et peut être éclairer d'autres personne?

Merci.

clementthersiquel
19th April 2007, 18:16
Oui oui c'est bien ca, il faut supprimer la ligne commentee. Enfin c'est ce que j'ai fait et ce que j'ai compris.
Pour le patch il te met une erreur surement parce qu'une fois applique, il peut pas se reappliquer par dessus..Enfin attendons l'avis des experts...

cmoi
19th April 2007, 18:17
Oui je préfère l'avis d'un expert mais merci quand même.

Mais ou sont donc passés les experts???!!!! :)

clementthersiquel
19th April 2007, 18:23
Non c'est bon c'est ca. va voir sur le serveur svn, c'est comme ca qu'est le fichier apres l'application du patch
http://svn.oreon-project.org/oreon-dev/cron/parsing_log.pl

cmoi
19th April 2007, 18:26
Login mot de pass?
Et toi tout marche bien maintenant après l'application des patchs?

clementthersiquel
19th April 2007, 18:27
anonymous et anonymous, et non ca corrige un bug mais ca veux pas dire que tout marchera grace a ca...

cmoi
19th April 2007, 18:31
Donc je dois remplacer ca

use vars qw($mysql_user $mysql_passwd $mysql_host $mysql_database_oreon $mysql_database_ods $opt_h $opt_a $data);

my $installedPath = "/usr/local/oreon";
#my $installedPath = "/usr/local/oreon";
require $installedPath."/ODS/etc/conf.pm";


par ca :

use vars qw($mysql_user $mysql_passwd $mysql_host $mysql_database_oreon $mysql_database_ods $opt_h $opt_a $data);

my $installedPath = "@OREON_PATH@";
require $installedPath."/ODS/etc/conf.pm";


????
C'est vraiment pas clair la :( Merci de ton aide.

clementthersiquel
19th April 2007, 18:38
Non, il faut remplacer le @OREON_PATH@ par le chemin d'acces a ton repertoire d'oreon donc a priori /usr/local/oreon. Donc la modification revient juste a supprimer la ligne #my $installedPath = "/usr/local/oreon";

WAtt
19th April 2007, 20:30
on m'a appelé :)

donc en gros, là où nous avons un problème c'est que la commande patch regarde X lignes et supprimes cette qui commence par un "-" et rajoute celle commencant par un "+". Comme tu peux le voir @OREON_PATH@ est une variable qui est modifié qd tu installes Oreon, si tu patch les sources, tu n'as de problème puisque cette chaine de caractères existe.

Pour ton install, cette chaine est différentes (remplacer par le répertoire d'install). Voila pouquoi ca merde sur les versions installé d'oreon et pas sur les sources. Ceci sera reglé dans peu de temps avec une nouvelle fonctionnalité dans Oreon.

Bon maintenant ce que tu dois faire. Juste supprimer la ligne qui commence par un "-" dans ton fichier (celle en commentaire). Je suis d'accord que cette partie du patch je change rien, mais si tu regarde le patch en complet, il n'y a pas que ca de changer dans le fichier :)

Mon anglais est si nul ? :)

D'autre questions ?

cmoi
20th April 2007, 09:21
Ok merci :) J'avai un peu peur car apres avoir supprimé la ligne il me mettait plein d'erreurs avec pleins de .rej

Merci en tout cas :)

WAtt
20th April 2007, 12:07
N'oublie pas que la manipulation que tu viens de faire, c'est le patch en gros...
Le .rej c'est ce qu'il ne réussi a faire, donc si tu le fait a sa place, pas besoin de le "Repasser"

cmoi
20th April 2007, 12:27
N'oublie pas que la manipulation que tu viens de faire, c'est le patch en gros...
Le .rej c'est ce qu'il ne réussi a faire, donc si tu le fait a sa place, pas besoin de le "Repasser"

Ah ok. Et si on l'a repassé? :)

WAtt
20th April 2007, 12:33
il a du te dire que le patch était déjà passé et si tu voulais le repasser... vérifie qd meme ton fichier, mais normalement tout est correct :)