Faire ses paquets à la maison...

Générer ses propres zip, comme ceux de la zone, de chez soi, c’est possible avec les scripts de paquets, et la personnalisation archivelist.maison.txt

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/zip

Cré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_9

Executer 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.

Discussion

3 discussions

  • Attention, les dossiers _stable_, _dev_ et Cie sont obsolètes.

    Répondre à ce message

  • 3

    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...

    • 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.

    • 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

    • oui, merci, y a un trac en trop !

    Répondre à ce message

  • on peut se passer de dos2unix avec tr -d ’\r’

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom

Dernière modification de cette page le 21 octobre 2007