Ses paquets avec archivelist.maison.txt
Notre ami Toggg et James avaient prévu dans leur script « Paquets » de permettre la création de paquets (zip) personnalisés depuis son serveur (ou son ordinateur). Cela permet de générer ses propres zip, à partir des infos contenus dans les plugin.xml, theme.xml (pour peu que le répertoire qui les contient soit issu d’un svn checkout local ou distant), et archivelist.txt ou archivelist.maison.txt.
L’aventure m’a pris plus de temps que prévu, alors je partage cette expérience.
L’histoire se déroule sous linux (Ubuntu feisty fawn), dans le répertoire /home/marcimat/public_html/ lequel contient les répertoires tmp/ et spip/, ce dernier contenant lui même les répertoires plugins/, paquets/ et zip/. La procédure ci-dessous va créer les répertoires en question.
Pour les utilisateurs de Windows, vous pouvez utiliser un logiciel nommé Cygwin pour émuler un système linux.
Il faut :
- subversion sudo aptitude install subversion
- utiliser bash (et pas dash ou sh - redirigé vers dash sous ubuntu - pour lancer les commandes) sinon ${var:0:1} plante...
- posséder la fonction dos2unix sudo aptitude install tofrodos
Récupérer spip (optionnel) :
cd /home/marcimat/public_html/
La version en développement
svn checkout svn://trac.rezo.net/spip/spip spip
Ou la version stable
svn checkout svn://trac.rezo.net/spip/branches/spip-1.9.2 spip
Récupérer les plugins de la zone :
svn checkout svn://zone.spip.org/spip-zone/_plugins_ spip/plugins
Récupérer de quoi faire les paquets :
svn checkout svn://zone.spip.org/spip-zone/_dev_/paquets spip/paquets
Avoir un répertoire tmp/ :
mkdir tmp
Attention à ne pas utiliser un répertoire tmp de SPIP (par exemple en lançant le script depuis le répertoire spip (et pas le répertoire parent), sinon, tout le contenu de /tmp sera effacé à la fin de la procédure... Rien de dramatique, mais je préviens !
Créer un répertoire où stocker les zips : spip/zip
mkdir spip/zip
Créer un lanceur : run_paquets.sh
#!/bin/bash
# attention, lancer avec bash !!!!!
bash /home/marcimat/public_html/spip/paquets/bin/paquets-zone.sh /home/marcimat/public_html/spip /home/marcimat/public_html/spip/zipCréer le fichier spip/archivelist.maison.txt
Regarder sur la zone le fonctionnement et prendre exemple ;) http://zone.spip.org/trac/spip-zone...
Exemple :
# chemins relatifs à archivelist.txt
#
# plugins 'stable'
#
plugins/_stable_/crayons;crayons;plugins/crayons
plugins/_stable_/calendrier_mini/spip-1.9;_calendrier_mini;plugins/minical
plugins/_stable_/acces_restreint;acces_restreint_1_9;plugins/acces_restreint_1_9
#plugins/_stable_/acronymes;acronymes_1_9;plugins/acronymes_1_9Executer le lanceur :
sh run_paquets.sh
Remarque :
Le script recherche tous les plugin.xml et theme.xml contenus dans le même dossier que archivelist.maison.txt (et ses sous répertoires). Par conséquent, il recherchera aussi des plugins et thèmes dans un éventuel répertoire spip/squelettes ou spip/sites ou ce que l’on veux. Une information sera renvoyée si le répertoire contenant plugin.xml n’est pas issu d’un svn checkout, sans conséquence sur la génération des paquets. Par contre, les fichiers ref.xml et plugins.xml (générés par le script aussi) contiendront ces plugins dans leur code.



Vos commentaires
# Le 12 octobre 2009 à 15:08, par Pat
En réponse à : Faire ses paquets à la maison...
Attention, les dossiers _stable_, _dev_ et Cie sont obsolètes.
Répondre à ce message
# Le 19 octobre 2007 à 15:12, par ?
En réponse à : Faire ses paquets à la maison...
Sympathique document.
Juste une petite précision : l’adresse pour récupérer la version en dev :
svn checkout svn ://trac.rezo.net/spip/spip
Dans ce document, il y a un ’spip’ en trop en fin de ligne.
Fonctionne quand même, mais petite (fausse) erreur en fin d’appel. Tant qu’à faire...
# Le 19 octobre 2007 à 15:43, par ?
En réponse à : Faire ses paquets à la maison...
J’ai dit une bétise, mille excuses : l’argument est bon, mais inutile. La distrib s’installe quand même dans le dossier spip.
Par contre, intéressant, pour extraire directement dans le répertoire courant :
svn checkout svn ://trac.rezo.net/spip/spip .
(on met un point en fin de ligne).
C’est même plus logique, juste à prendre quelques précautions pour ne pas effacer ce qui se trouve dans ce répertoire local.
# Le 21 octobre 2007 à 13:13, par ?
En réponse à : Faire ses paquets à la maison...
Dans la série, l’appel pour la version stable :
svn checkout svn ://trac.rezo.net/trac/spip/branches/spip-1.9.2 spip
renvoie une erreur :
svn : No repository found in ’svn ://trac.rezo.net/trac/spip/branches/spip-1.9.2’
Par contre, l’appel avec :
svn checkout svn ://trac.rezo.net/spip/branches/spip-1.9.2 .
permet de récupérer (au 21/10/2007) la version 1.9.2c
# Le 21 octobre 2007 à 21:48, par ?
En réponse à : Faire ses paquets à la maison...
oui, merci, y a un trac en trop !
Répondre à ce message
# Le 7 juillet 2007 à 18:27, par Marcopol
En réponse à : Faire ses paquets à la maison...
on peut se passer de dos2unix avec tr -d ’\r’
Répondre à ce message