07 avril 2010

Initialiser en 30'' un projet Pxxo / Pkgi

Démarrer un nouveau projet depuis rien est une tâche peu courante, et souvent on tente de se rappeler comment on avait procédé la dernière fois. Voici quelques lignes à copier coller pour démarrer en 30 secondes un projet de Pxxo associé à Pkgi sous Linux Debian/Ubuntu.

Création de l'arborescence

Pour pkgi

mkdir coolproj
cd coolproj
svn export https://subversion.cru.fr/pkgi/tags/2.23 pkgi
./pkgi/build

Pour pxxo

cd var
mv www www.old
svn export https://subversion.cru.fr/pxxo/trunk/apps/skel/ www
cd ..
rm var/www/pear.xml
./bin/pkgi-install-pear
./usr/bin/pear install pxxo/Pxxo_Widget_Core
./etc/init.d/appli start
Voilà il ne reste plus qu'à voir le résultat dans votre navigateur préféré.

Mettre le tout sous Subversion

On considére que le répertoire coolproj se trouve dans un répertoire géré par svn.
svn add -N usr/
svn add -N usr/share/
svn add -N usr/share/php/
svn add usr/share/php/pear/
svn revert --depth infinity usr/share/php/pear/tests/ \
                            usr/share/php/pear/docs/ \
                            usr/share/php/pear/data/ \
                            usr/share/php/pear/.depdb \
                            usr/share/php/pear/.depdblock \
                            usr/share/php/pear/.filemap \
                            usr/share/php/pear/.lock
echo "pkgi.env" > .svn/svnignore
echo ".pkgi" >> .svn/svnignore
echo "bin" >> .svn/svnignore
echo "etc" >> .svn/svnignore
echo "tmp" >> .svn/svnignore
svn propset svn:ignore -F .svn/svnignore .
svn add pkgi
svn add -N var
cd var
echo "lib" > .svn/svnignore
echo "cache" >> .svn/svnignore
echo "lock" >> .svn/svnignore
echo "log" >> .svn/svnignore
echo "run" >> .svn/svnignore
echo "*.old" >> .svn/svnignore
svn propset svn:ignore -F .svn/svnignore .
svn add -N www
cd www
svn add classes/ templates/ index.php .htaccess
svn add -N tmp
cd tmp
svn add .htaccess index.php
cd ..
svn add -N rsc
cd rsc
svn add .htaccess index.php
echo "*.png" > .svn/svnignore
echo "*.gif" >> .svn/svnignore
echo "*.jpg" >> .svn/svnignore
echo "*.pdf" >> .svn/svnignore
echo "*.js" >> .svn/svnignore
echo "*.css" >> .svn/svnignore
echo "*.ico" >> .svn/svnignore
echo "*.txt" >> .svn/svnignore
svn propset svn:ignore -F .svn/svnignore .
cd ../../../usr
echo "bin" > .svn/svnignore
echo "etc" >> .svn/svnignore
echo "lib" >> .svn/svnignore
echo "sbin" >> .svn/svnignore
svn propset svn:ignore -F .svn/svnignore .
cd share
svn add -N locale doc
cd php/pear
echo "docs" > .svn/svnignore
echo ".filemap" >> .svn/svnignore
echo ".depdb" >> .svn/svnignore
echo "tests" >> .svn/svnignore
echo ".depdblock" >> .svn/svnignore
echo ".lock" >> .svn/svnignore
echo "data" >> .svn/svnignore
svn propset svn:ignore -F .svn/svnignore .
cd ../../../..
svn up
svn commit -m "init pxxo/pkgi"


That's all folks!