Warning: session_write_close() [function.session-write-close]: write failed: No space left on device (28) in /home/webs/cvs.rycks.com/htdocs/doku.php on line 60

Warning: session_write_close() [function.session-write-close]: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in /home/webs/cvs.rycks.com/htdocs/doku.php on line 60

Warning: Cannot modify header information - headers already sent by (output started at /home/webs/cvs.rycks.com/htdocs/doku.php:60) in /home/webs/cvs.rycks.com/htdocs/inc/actions.php on line 76
plm:page_de_doc_sur_darcs [CVS.RYCKS.COM]
 

Utilisation de darcs

Pour les contributions aux sources d’abuledu PLM, deux possibilités, pour l’instant seule la connexion “non authentifiée” est activée, je m’occuperai de l’autre très rapidement pour que vous puissiez faire votre sauce tout seul !

Récupérer les sources d'un module

Tous les exemples ci-dessous concernent le module abuledu-ugadmin, remplacez ce nom par ce que vous voulez !

  • non authentifié:
darcs get http://cvs.rycks.com/repos/plm-1.0/abuledu-ugadmin
  • authentifié via ssh:
darcs get cvs.rycks.com:/home/darcs/plm-1.0/abuledu-ugadmin

Récupérer TOUTES les sources

Denis a écrit un petit script pour récupérer facilement toutes les sources :

Il faut pour cela créer deux fichiers :

  • modules.txt à placer dans un dossier “darcs” dans votre home par exemple. Il contient la liste des modules :
abuledu-ugadmin
abuledu-openwebmail
abuledu-aadmin
abuledu-ltsp
abuledu-base
abuledu-stopandgo
abuledu-configuration
abuledu-profils
abuledu-api
abuledu-abuledusd
abuledu-addons
abuledu-gnome
abuledu-contact
abuledu-cups-fr
abuledu-kde
abuledu-iconnect
abuledu-intranet
abuledu-mysql
abuledu-kernel-client
abuledu-ltsconf
abuledu-ltsp-sound
abuledu-pgsql
abuledu-sudo
abuledu-pretask-install
abuledu-webadmin
abuledu-wguard
abuledu-winrawwrite
abuledu-workarounds
abuledu-kernel-server
  • Puis le script appelé create_darcs.sh à mettre aussi dans le dossier darcs avec les droits d’execution qui vont bien (chmod 755 create_darcs.sh) :
#!/bin/sh
# création de la liste des répertoires
# GNU-gpl et cie
# Denis Chassac 26-10-2005

echo "Création des répertoires/Mise à jour des modules pour DARCS";
for module in `cat modules.txt`
do
    echo -n $module;
    if [ -d $module ];then
	echo " OK";
    else
	echo " --- à créer";
    fi
    if [ -d $module/_darcs ];then
	cd $module
	echo "mise à jour"
	darcs pull
	cd ..
    else
	echo "premier chargement"
	darcs get http://cvs.rycks.com/repos/plm-1.0/$module
    fi
done
echo "Les modules sont mis à jour dans leurs répertoires respectifs";

Il suffit enfin de lancer le script et ça marche, on récupère tout.

./create_darcs.sh

Merci Denis !

Enregistrer vos modifications en un patch

Toutes vos modifications qui concernent une action particulière ou une correction d’un bug particulier doivent être “enregistrées”, si vous voulez ajouter deux fonctionnalités ou corriger deux bugs, je vous remercie de faire DEUX patches.

darcs record (et suivre les indications)

Ce qu'il ne faut pas oublier dans un patch

  • d’ajouter votre nom en tete du fichier pour ajouter votre droit d’auteur et ainsi fortifier la GPL du fichier, exemple
 * Copyright (C) 2005 Eric Seigne <eric.seigne@ryxeo.com>

Envoyer les modifications

C’est à faire après le darcs record:

  • si vous êtes un contributeur occasionnel
darcs send

Pour l’adresse email à qui envoyer vos contributions c’est dev@abuledu.org, un responsable officiel se fera un plaisir de valider votre patch et de l’intégrer dans le code de base.

  • si vous être un membre de la poilu-plp-dreamteam
darcs push

Appliquer un patch reçu sur la liste

Si vous recevez un patch par email (pièce jointe à un mail) vous pouvez l’appliquer sur votre projet avec la commande suivante:

darcs apply --verbose --mark-conflicts /tmp/darcs608739

Vous pouvez ensuite l’envoyer sur le serveur central.

Mettre à jour votre dépot local

darcs pull

Création

Création du repository DARCS pour AbulÉduPLP:

  • extraction du CVS de ryxeo
  • migration CVS-to-DARCS
  • dépôt sur un serveur officiel
  • accès (rw) par les poilus
    • en lecture pour pouvoir installer et faire apt-get update/upgrade
    • en écriture pour modifier/améliorer le contenu des paquets

Généralités

Darcs, c’est un remplaçant pour CVS, ça permet de travailler à plusieurs sur du code source commun ... mais darcs apporte beaucoup de choses en plus que CVS ne savait pas faire ou qui était très compliqué de faire en CVS.

Règles à suivre

Il est indispensable de faire ce qui suit si vous voulez que votre patch soit accepté:

  • vous ajouter en tête du fichier modifié dans la liste des auteurs
  • faire des patchs regroupés par fonctions, si vous ajoutez une fonctionnalité et corrigez un bug merci de faire deux patches
  • faire une description précise de ce que fait le patch

FAQ

Astuces pour les noms des paquets

  • dpkg -l nom_de_paquet fournit des informations sur ce paquet, notamment “ii” pour

dire qu’il est installé. dpkg -l abuledu*

  • dpkg -L nom_du_paquet liste les fichiers contenus dans le paquet.
  • dpkg -S /le/chemin/qui/va/au/fichier.txt retrouve quel paquet a installé ce fichier.

Envoyer des patches par mail

Pour pouvoir envoyer des patches sur la liste dev@abuledu.org depuis un serveur AbulEdu, la configuration de l’utilitaire postfix doit être modifiée.

Sur AbulEdu PLM, en tant que root :

  • Editez le fichier /etc/postfix/main.cf et ajoutez la ligne relayhost = smtp_de_votre_fournisseur_d_acces (par exemple smtp.wanadoo.fr, smtp.free.fr )
  • Rechargez le service postfix avec la nouvelle configuration avec la commande “/etc/init.d/postfix reload” .

Dans tous les cas vous pouvez faire un test avec la fonction “mail adresse_email_valide” (Remplissez le sujet, Entrée = corps du texte, Ctrl + D pour quitter, rien en Cc = Entrée). Vérifiez qu’il n’y pas d’erreur dans /var/log/mail.log .

 
plm/page_de_doc_sur_darcs.txt · Dernière modification: 2006/08/04 00:50 par 83.199.243.162
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki