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.
























