Mises à jour RBS Change : Migration depuis 3.0.4
-
31/01/2012 18:27
Bonjour,
Je ne parvient pas à faire la migration depuis la version 3.0.4 (vers 3.5). J'ai récupéré sur le git les dernières version des scripts de migrations où il est indiqué de d'appliquer les hotfix ainsi que les paths.
Cette première étape de fonctionne pas, certain liens sont modifiés, mais le projet devient inutilisable (l'autoload n'est pas à jour).
Comment faire pour recalculer l'autoload lorsque celui-ci n'est plus valide ? les commandes change.php ne fonctionne plus.
voici mon change.xml<?xml version="1.0" encoding="UTF-8"?> <change xmlns="http://www.rbs.fr/schema/change-project/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.rbs.fr/schema/change-project/1.0 http://www.rbschange.fr/s tatic/schema/change-project/1.0.xsd"> <name>cmscore</name> <type>change-project</type> <version>3.0.4</version> <description>CMS Core</description> <dependencies> <framework hotfixes="30,42,57,59">3.0.4</framework> <modules> <!-- Core modules --> <module>contactcard-3.0.4</module> <module>dashboard-3.0.4</module> <module>form-3.0.4</module> <module>generic-3.0.4</module> <module>list-3.0.4</module> <module>mailbox-3.0.4</module> <module>markergas-3.0.4</module> <module>mysqlindexer-3.0.4</module> <module>notification-3.0.4</module> <module>preferences-3.0.4</module> <module>referencing-3.0.4</module> <module>skin-3.0.4</module> <module>solrsearch-3.0.4</module> <module>task-3.0.4</module> <module>theme-3.0.4</module> <module hotfixes="31,47">uixul-3.0.4</module> <module>useractionlogger-3.0.4</module> <module>users-3.0.4</module> <module hotfixes="41,43">website-3.0.4</module> <module>workflow-3.0.4</module> <module>news-3.0.4</module> <module>photoalbum-3.0.4</module> <module hotfixes="56">media-3.0.4</module> </modules> <libs/> </dependencies> </change>
Le hotfix framework-3.0.4-59 ne semble pas installé correctement.
Le projet est des plus simple, sans injection ni oap.
Merci -
J'ai finalement réussit à appliquer les patch et hotfix grâce à un script venant de l'archive changescripts.
Voici mon nouveau change.xml<?xml version="1.0" encoding="UTF-8"?> <change xmlns="http://www.rbs.fr/schema/change-project/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.rbs.fr/schema/change-project/1.0 http://www.rbschange.fr/s tatic/schema/change-project/1.0.xsd"> <name>cmscore</name> <type>change-project</type> <version>3.0.4</version> <description>CMS Core</description> <dependencies> <framework hotfixes="30,42,57,59,82,104,128,132,134,146,166,194">3.0.4</framework> <modules> <!-- Core modules --> <module hotfixes="153">contactcard-3.0.4</module> <module hotfixes="62,94,124">dashboard-3.0.4</module> <module hotfixes="74,96,151,158,175,190,195">form-3.0.4</module> <module hotfixes="91,125">generic-3.0.4</module> <module hotfixes="63">list-3.0.4</module> <module>mailbox-3.0.4</module> <module hotfixes="108">markergas-3.0.4</module> <module>mysqlindexer-3.0.4</module> <module hotfixes="118,154">notification-3.0.4</module> <module>preferences-3.0.4</module> <module hotfixes="110">referencing-3.0.4</module> <module hotfixes="76">skin-3.0.4</module> <module hotfixes="87,171,196">solrsearch-3.0.4</module> <module hotfixes="83,112,144">task-3.0.4</module> <module hotfixes="90,98">theme-3.0.4</module> <module hotfixes="31,47,68,81,107,127,147,164,172,185,191,199">uixul-3.0.4</module> <module>useractionlogger-3.0.4</module> <module hotfixes="60,93,99,129,155,160,167,179">users-3.0.4</module> <module hotfixes="41,43,67,75,111,156,178,189">website-3.0.4</module> <module hotfixes="92,95,157">workflow-3.0.4</module> <module hotfixes="71,126">news-3.0.4</module> <module hotfixes="121">photoalbum-3.0.4</module> <module hotfixes="56,86,105,149,163,177">media-3.0.4</module> <module hotfixes="117">rss-3.0.4</module> </modules> <libs/> </dependencies> </change>
J'ai ensuite executer la commande php migration/migrate-3.0.4_to_3.5.3.php, mais j'ai des erreurs :->chmod +x <HOME>/repository/framework/framework-3.5.3/bin/change.php Done ->ln -sfn <HOME>/repository/framework/framework-3.5.3 <HOME>/framework Done ->chmod +x <HOME>/framework/bin/* Done ->rm <HOME>/modules/* Done ->rm <HOME>/.computedChangeComponents.ser Done ->rm -rf <HOME>/.change/ Done ->rm -rf <HOME>/build/ Done ->rm -rf <HOME>/cache/ Done ->rm <HOME>/libs/pearlibs/* Done ->rmdir <HOME>/libs/pearlibs Done ->rm <HOME>/libs/* Done Task: init-project -><HOME>/framework/bin/change.php init-project Could not execute <HOME>/framework/bin/change.php init-project (exit code 255): == Initializing project == == Update project dependencies == linking framework-3.0.4 (194)... linking contactcard-3.0.4 (153)... linking dashboard-3.0.4 (124)... linking form-3.0.4 (195)... linking generic-3.0.4 (125)... linking list-3.0.4 (63)... linking mailbox-3.0.4 ()... linking markergas-3.0.4 (108)... linking mysqlindexer-3.0.4 ()... linking notification-3.0.4 (154)... linking preferences-3.0.4 ()... linking referencing-3.0.4 (110)... linking skin-3.0.4 (76)... linking solrsearch-3.0.4 (196)... linking task-3.0.4 (144)... linking theme-3.0.4 (98)... linking uixul-3.0.4 (199)... linking useractionlogger-3.0.4 ()... linking users-3.0.4 (179)... linking website-3.0.4 (189)... linking workflow-3.0.4 (157)... linking news-3.0.4 (126)... linking photoalbum-3.0.4 (121)... linking media-3.0.4 (177)... linking rss-3.0.4 (117)... linking smarty-2.6 ()... linking agavi-0.9 ()... linking icons-3.4 ()... linking fckeditor-2.6.3 ()... linking PEAR-1.9.0 ()... linking Date-1.4.7 ()... linking Mail-1.2.0 ()... linking Net_SMTP-1.4.2 ()... linking Auth_SASL-1.0.4 ()... linking HTTP_Header-1.2.0 ()... linking Archive_Tar-1.3.6 ()... linking Console_Getopt-1.2.3 ()... linking Structures_Graph-1.0.3 ()... linking Net_Socket-1.0.9 ()... linking HTTP-1.4.1 ()... Update Checked successfully. config/project.xml already exists. config/project.default.xml already exists. == Compile config == Fatal error: Cannot redeclare class ResourceResolver in <HOME>/repository/framework/framework-3.0.4-194/loader/ResourceResolver.class.php on line 5 Done == Initializing project == == Update project dependencies == linking framework-3.0.4 (194)... linking contactcard-3.0.4 (153)... linking dashboard-3.0.4 (124)... linking form-3.0.4 (195)... linking generic-3.0.4 (125)... linking list-3.0.4 (63)... linking mailbox-3.0.4 ()... linking markergas-3.0.4 (108)... linking mysqlindexer-3.0.4 ()... linking notification-3.0.4 (154)... linking preferences-3.0.4 ()... linking referencing-3.0.4 (110)... linking skin-3.0.4 (76)... linking solrsearch-3.0.4 (196)... linking task-3.0.4 (144)... linking theme-3.0.4 (98)... linking uixul-3.0.4 (199)... linking useractionlogger-3.0.4 ()... linking users-3.0.4 (179)... linking website-3.0.4 (189)... linking workflow-3.0.4 (157)... linking news-3.0.4 (126)... linking photoalbum-3.0.4 (121)... linking media-3.0.4 (177)... linking rss-3.0.4 (117)... linking smarty-2.6 ()... linking agavi-0.9 ()... linking icons-3.4 ()... linking fckeditor-2.6.3 ()... linking PEAR-1.9.0 ()... linking Date-1.4.7 ()... linking Mail-1.2.0 ()... linking Net_SMTP-1.4.2 ()... linking Auth_SASL-1.0.4 ()... linking HTTP_Header-1.2.0 ()... linking Archive_Tar-1.3.6 ()... linking Console_Getopt-1.2.3 ()... linking Structures_Graph-1.0.3 ()... linking Net_Socket-1.0.9 ()... linking HTTP-1.4.1 ()... Update Checked successfully.
Édité par guiom 31/01/2012 19:24
-
je ne parviens pas à poster la totalité du fichier
config/project.xml already exists. config/project.default.xml already exists. == Compile config == Fatal error: Cannot redeclare class ResourceResolver in <HOME>/repository/framework/framework-3.0.4-194/loader/ResourceResolver.class.php on line 5 Task: update-autoload -><HOME>/framework/bin/change.php update-autoload --clear sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php update-autoload --clear (exit code 126): Done Task: init-webapp -><HOME>/framework/bin/change.php init-webapp sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php init-webapp (exit code 126): Done Task: compile-config -><HOME>/framework/bin/change.php compile-config sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php compile-config (exit code 126): Done Task: compile-documents -><HOME>/framework/bin/change.php compile-documents sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php compile-documents (exit code 126): Done Task: generate-database -><HOME>/framework/bin/change.php generate-database sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php generate-database (exit code 126): Done Task: compile-db-schema -><HOME>/framework/bin/change.php compile-db-schema sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php compile-db-schema (exit code 126): Done Task: apply-patch -><HOME>/framework/bin/change.php apply-patch framework 0350 sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php apply-patch framework 0350 (exit code 126): Done Task: apply-patch -><HOME>/framework/bin/change.php apply-patch framework 0351 sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php apply-patch framework 0351 (exit code 126): Done Task: apply-patch -><HOME>/framework/bin/change.php apply-patch framework 0352 sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php apply-patch framework 0352 (exit code 126): Done Task: apply-patch -><HOME>/framework/bin/change.php apply-patch framework 0353 sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php apply-patch framework 0353 (exit code 126): Done Task: apply-patch -><HOME>/framework/bin/change.php apply-patch framework 0354 sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php apply-patch framework 0354 (exit code 126): Done
-
je ne parviens pas à poster la totalité du fichier
Patch not found dashboard 0350 Patch not found generic 0350 Patch not found media 0350 Patch not found i18n 0350 Patch not found task 0350 Patch not found task 0354 Patch not found task 0351 Patch not found task 0352 Patch not found task 0353 Patch not found task 0355 Patch not found task 0356 Patch not found notification 0350 Patch not found notification 0351 Patch not found users 0350 Patch not found users 0351 Patch not found users 0352 Patch not found website 0350 Patch not found website 0351 Patch not found website 0352 Patch not found website 0353 Patch not found website 0354 Patch not found website 0355 Patch not found website 0356 Patch not found website 0357 Patch not found website 0358 Patch not found blog 0350 Patch not found forums 0350 Patch not found brand 0350 Patch not found brand 0351 Patch not found catalog 0350 Patch not found catalog 0351 Patch not found catalog 0355 Patch not found catalog 0353 Patch not found catalog 0352 Patch not found catalog 0354 Patch not found catalog 0356 Patch not found catalog 0357 Patch not found catalog 0358 Patch not found catalog 0359 Patch not found catalog 0360 Patch not found comment 0350 Patch not found comment 0351 Patch not found customer 0350 Patch not found customer 0351 Patch not found customer 0352 Patch not found customer 0353 Patch not found customer 0354 Patch not found payment 0350 Patch not found payment 0351 Patch not found shipping 0350 Patch not found shipping 0351 Patch not found markergas 0350 Patch not found marketing 0350 Patch not found marketing 0351 Patch not found order 0350 Patch not found order 0351 Patch not found order 0352 Patch not found order 0353 Patch not found order 0354 Patch not found order 0355 Patch not found order 0356 Patch not found theme 0350 Patch not found videos 0350 Patch not found atosserver 0350 Patch not found atosserver 0351 Patch not found clustersafe 0300 Patch not found clusterscale 0300 Patch not found ecomfilters 0300 Patch not found ecomwebservices 0350 Patch not found highlight 0000 Patch not found inquiry 0350 Patch not found loyalty 0350 Patch not found loyalty 0351 Patch not found markergmaps 0350 Patch not found markergmaps 0351 Patch not found mysqlstock 0350 Patch not found photoalbum 0350 Patch not found privatemessaging 0350 Patch not found privatesales 0350 Patch not found privatesales 0351 Patch not found productreturns 0350 Patch not found productreturns 0351 Patch not found productreturns 0352 Patch not found productreturns 0353 Patch not found seo 0350 Patch not found sharethis 0351 Patch not found sharethis 0350 Patch not found support 0350 Patch not found forums 0351 Patch not found catalog 0361 Patch not found catalog 0362 Patch not found order 0357 Patch not found order 0358 Patch not found productreturns 0354 Patch not found twitterconnect 0350 Task: compile-all -><HOME>/framework/bin/change.php compile-all sh: <HOME>/framework/bin/change.php: Permission denied Could not execute <HOME>/framework/bin/change.php compile-all (exit code 126): Done
Merci pour votre aide -
Bonjour,
Le problème vient du fait que le fichier change.xml ne soit pas migré en 3.5.3.
Pour ce faire, il suffit de décommenter dans la méthode main les lignesif (! $this->checkModuleVersion('compatibilityos')) { die('Add Module compatibilityos' . "\n"); }
En principe ça devrait être suffisant pour permettre la migration.
Par ailleurs j'ai pu voir un certain nombre de problème de droits au niveau du filesystem, vérifiez avant que l'utilisateur avec lequel vous exécutez le script.
Pour une meilleure réponse, pensez à indiquer la version sur laquelle vous rencontrez des difficultés, ainsi que son type (CMS ou eCommerce core).
Pour tout problème d'installation indiquez le nom de l'hébergeur et s'il s'agit d'un serveur mutualisé ou dédié. -
50993.6 en réponse à 50993.5 écrit par Jean-Michel
01/02/2012 15:58
Bonjour,
Merci pour ces indications. J'ai réussit à faire la migration en changeant aussi la fonction migrateChangeXml() afin de forcer l'installation du module compatibilityos.
J'ai maintenant un autre problème avec la mise à jour du module photoalbum== Apply patch photoalbum/0350 == Version: 3.5.0 - add list 'modules_photoalbum/slideshowtransitions' - migrate tree Segmentation fault
Merci -
Bonjour,
Avez vous une trace dans un fichier de log ; apache, syslog, log rbschange?
Car comme ça nous n'avons pas vraiment d'idée sur l'origine du problème et de ce qui fait planter l'interpréteur PHP.
Pouvez vous nous dire quelle est l'OS utilisé et quelle est la version de PHP utilisée?
Pour une meilleure réponse, pensez à indiquer la version sur laquelle vous rencontrez des difficultés, ainsi que son type (CMS ou eCommerce core).
Pour tout problème d'installation indiquez le nom de l'hébergeur et s'il s'agit d'un serveur mutualisé ou dédié. -
50993.8 en réponse à 50993.7 écrit par Jean-Michel
02/02/2012 11:24
Bonjour,
voici les informations :
debian lenny, kernel 2.6.38.2-grsec-xxxx-grs-ipv6-64 (ovh)
php :PHP 5.2.6-1+lenny15 with Suhosin-Patch 0.9.6.2 (cli) (built: Jan 31 2012 10:22:54) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
syslog :Feb 2 10:59:26 mx kernel: php[15208]: segfault at 7fff128cdff8 ip 0000000000663510 sp 00007fff128ce018 error 6 in php5[400000+516000]
core :Core was generated by `php framework/bin/change.php apply-patch photoalbum 0350'. Program terminated with signal 11, Segmentation fault. [New process 15208] #0 0x0000000000663510 in zend_fetch_class () #1 0x000000000068fcd8 in ?? () #2 0x0000000000692d34 in execute () ... #6266 0x0000000000692d34 in execute () #6267 0x00000000006a710e in ?? () #6268 0x0000000000692d34 in execute () #6269 0x00000000006a710e in ?? () #6270 0x0000000000692d34 in execute () #6271 0x00000000006a710e in ?? () #6272 0x0000000000692d34 in execute () #6273 0x0000000000695ce4 in ?? () #6274 0x0000000000692d34 in execute () #6275 0x000000000066eb28 in zend_execute_scripts () #6276 0x0000000000629318 in php_execute_script () #6277 0x00000000006edd27 in main ()
Il semble y avoir une boucle infinie, peut-être lié à mes données ? -
A titre d'information combien d'albums avez-vous dans le module et combien y a-t-il de photos?
A priori nous ne voyons pas directement d'où peut venir le problème. Ce qu'il est possible de faire c'est de commenter tout le code du patch et de dé-commenter bloc de code par bloc de code et exécuter le patch manuellement afin de voir quel est le morceau de code dans lequel on a cette segfault.Édité par Jean-Michel 02/02/2012 11:57
Pour une meilleure réponse, pensez à indiquer la version sur laquelle vous rencontrez des difficultés, ainsi que son type (CMS ou eCommerce core).
Pour tout problème d'installation indiquez le nom de l'hébergeur et s'il s'agit d'un serveur mutualisé ou dédié. -
50993.10 en réponse à 50993.9 écrit par Jean-Michel
02/02/2012 12:35
Bonjour,
La table m_photoalbum_doc_album contient 53 enregistrement et m_photoalbum_doc_photo 280.
Est-ce que je peux sauvegarder les données de la table, vider la table, faire appliquer le patch et remettre les données ?
Merci -
Bonjour,
Il faut faire passer le patch avec les données en base puisqu'il va réorganiser l'arborescence, vider et réimporter le contenu des tables ne sert à rien si ce n'est prendre des risques inutiles...
Les volumétries annoncées ne sont pas suffisamment importantes pour être à l'origine du problème.
Avez vous essayé de passer le patch par blocs, de manière progressive pour détecter le bloc de code dans lequel on a la segfault?
Pour une meilleure réponse, pensez à indiquer la version sur laquelle vous rencontrez des difficultés, ainsi que son type (CMS ou eCommerce core).
Pour tout problème d'installation indiquez le nom de l'hébergeur et s'il s'agit d'un serveur mutualisé ou dédié. -
50993.12 en réponse à 50993.11 écrit par Jean-Michel
03/02/2012 14:02
J'ai ajouté un log dans la fontion migrateTopic de la classe photoalbum_patch_0350 :private function migrateTopic($topic, $parentId, $ts, $fs) { $this->log("topic :".$topic->getLabel()."(".$topic->getId().") parentId:".$parentId);
== Apply patch photoalbum/0350 == Version: 3.5.0 - add list 'modules_photoalbum/slideshowtransitions' - migrate tree =>Activités topic :Activités(517) parentId:16978 topic :Activités(517) parentId:16979 topic :Activités(517) parentId:16980 topic :Activités(517) parentId:16981 topic :Activités(517) parentId:16982..
Je trouve la fin du code de la fonction étrange, mais ne connaissant pas bien la structure de donnée je ne suis pas sur :foreach ($topic->getDocumentService()->getChildrenOf($topic, 'modules_website/topic') as $subTopic) { $this->migrateTopic($topic, $folderId, $ts, $fs); }
Ne seraisse pas plus logique que le premier paramètre de migrateTopic soit $subTopic ?
-
Effectivement cette erreur ne nous est pas apparue tout de suite lors de nos relectures du patch.
En attendant vous pouvez corriger le patch, j'ai ouvert un ticket de bug Segfault patch de migration
Pour une meilleure réponse, pensez à indiquer la version sur laquelle vous rencontrez des difficultés, ainsi que son type (CMS ou eCommerce core).
Pour tout problème d'installation indiquez le nom de l'hébergeur et s'il s'agit d'un serveur mutualisé ou dédié. -
50993.14 en réponse à 50993.13 écrit par Jean-Michel
03/02/2012 15:18
Merci,
Le remplacement de $topic par $subTopic à fonctionné.