Migrer MoinMoin 1.5.x vers 1.9.x

Ceci est un post rapide avant que j’oublie. J’aimais bien MoinMoin mais depuis les derniers temps, je le hais de plus en plus. Ce post n’est pas une complainte sur le sujet mais un guide rapide de migration sous Debian.

Copiez le contenu de votre wiki vers le nouveau système (ma migration n’etait pas une mise à jour vers une autre version de Debian mais une nouvelle machine). Effacez tous les fichiers python compilés (*.pyc). Copiez ce fichier dans votre répertoire racine de wiki : cp /usr/share/pyshared/MoinMoin/script/moin.py .

Executez ensuite ceci : python moin.py maint cleancache. Si cette commande vous retourne une erreur, je ne peux pas vous aider (ceci dit, les erreurs python sont généralement pas trop difficiles à debugger). Vous devrez alors migrer les données : python moin.py migration data. S’il vous donne une erreur, il vous manque surement ce fichier : data/meta. Créez le et mettez ceci dedans : data_format_revision: 1050800. Relancez alors la commande précédente. Elle devrait alors créer ce fichier qu’il vous faut éditer : data/rename1.txt, et remplacer les noms de pages sur la droite si besoin est. Renommez alors ce fichier en rename2.txt puis relancez : python moin.py migration data. Vous devriez maintenant avoir un répertoire data.pre160/ contenant vos anciennes données.

Si le contenu vous plait (changez bien les permissions du nouveau répertoire data sur www-data:www-data avant de vérifier les pages), effacez le répertoire data.pre160 vu qu’il ne sera plus utilisé.

Enfin, il se peut que vous ayez des références à self: dans vos pages de liens, utilisez sed pour les effacer.

for i in */*; do if [ -f $i ]; then sed -i -e “s/\[wiki:self:\([^]]*\)\]/\[\[\1\]\]/g” $i; sed -i -e “s/\[\[\([^] ]*\) \([^]]*\)\]\]/\[\[\1|\2\]\]/g” $i; fi; done (note, commande FreeBSD, merci Jef :)
Et voilà :)