Difference between revisions of "Package Modification/fr"

From SME Server
Jump to navigationJump to search
 
(7 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
===Introduction===
 
===Introduction===
Le code source de SME Serveur se trouve dans le  CVS de http://www.sourceforge.net dans deux dépôts:
+
Le code source de SME Serveur se trouve dans le  CVS de http://www.sourceforge.net dans deux dépôts :
* [http://fisheye1.cenqua.com/browse/smeserver/ CVS SME Server] qui contient les paquet du noyau de SME Serveur
+
* [http://fisheye1.cenqua.com/browse/smeserver/ CVS SME Server] qui contient les paquets du noyau de SME Serveur ;
* [http://fisheye1.cenqua.com/browse/smecontribs/ CVS SME Contribs] qui contient les paquets pour des contributions
+
* [http://fisheye1.cenqua.com/browse/smecontribs/ CVS SME Contribs] qui contient les paquets pour des contributions.
  
Cette page a pour but de vous aider afin de modifier les contributions stockés chez sourceforge.  
+
Cette page a pour but de vous aider afin de modifier les contributions stockées chez sourceforge.  
{{Note box|Pour l'instant les changement sur la base sont encore fait en utilisant mezzanine.}}
+
{{Note box|type=Note :|Pour l'instant les changements sur la base sont encore faits en utilisant mezzanine.}}
  
 
===Installation===
 
===Installation===
 
====Environnement local====
 
====Environnement local====
* Nous utilisons CVS sans avoir besoin de mezzanine, vérifiez que celui ci est installé (à faire en tant que root)
+
* Nous utilisons CVS sans avoir besoin de mezzanine, vérifiez que celui ci est installé (à faire en tant que root).
 
  yum install cvs
 
  yum install cvs
  
* Configurez CVS pour utilsier ssh en créant le fichier /etc/profile.d/smebuild.sh  avec le contenu suivant (à faire avec votre utilisateur non root qui sera dédié à l'élaboration de vos contributions)
+
* Configurez CVS pour utilsier ssh en créant le fichier /etc/profile.d/smebuild.sh  avec le contenu suivant (à faire avec votre utilisateur non root qui sera dédié à l'élaboration de vos contributions).
 
   
 
   
 
  # Developer environment
 
  # Developer environment
Line 32: Line 32:
 
Vous pouvez verifier l'état et l'avancé des compilations sur le serveur  à cette adresse : [http://buildsys.contribs.org]
 
Vous pouvez verifier l'état et l'avancé des compilations sur le serveur  à cette adresse : [http://buildsys.contribs.org]
  
{{Warning box|msg=Pour les contributeurs utilisant plague-client-0.5.0 vous devez reprendre une version plus ancienne afin de pouvoir accéder à l'interface, pour cela faite en tant que root:
+
{{Warning box|type=Attention :|msg=pour les contributeurs utilisant plague-client-0.5.0 vous devez reprendre une version plus ancienne afin de pouvoir accéder à l'interface, pour cela faites en tant que root :
  
 
  rpm -e plague-client plague-common
 
  rpm -e plague-client plague-common
Line 38: Line 38:
  
  
Demandez à Shad ( admin@contribs.org ) qu'il crée un certificat pour vous , en lui donnant '''l'adresse email à utiliser''' pour les notifications.
+
Demandez à Jean-Philippe ou Daniel ( admin@koozali.org ) la création d'un certificat pour vous, en lui donnant '''l'adresse email à utiliser''' pour les notifications.
'''Si vous n'avez pas d'accès à shell.contribs.org avec login et mot de passe demandez le par la même occasion.'''
+
'''Si vous n'avez pas d'accès à shell.koozali.org avec login et mot de passe demandez le par la même occasion.'''
  
 
  yum --enablerepo=smecontribs install plague-client
 
  yum --enablerepo=smecontribs install plague-client
Line 62: Line 62:
 
   build32-1.contribs.org      i386 i486 i586 i686 athlon noarch  available
 
   build32-1.contribs.org      i386 i486 i586 i686 athlon noarch  available
  
====Accès à Sourceforge====
+
====Accès au CVS sur shell.koozali.org====
* Le code  de SME Serveur est stocké en CVS à http://SourceForge.net. Pour pouvoir travailler sur votre code, vous devez posseder un compte chez SourceForge. Avec ce compte  l'équipe de développement peut vous permettre d'accéder au dépôt CVS.  Pour plus d'informations vous pouvez lire:
+
* Le code  de SME Serveur est stocké en CVS sur le serveur shell.koozali.org. Pour pouvoir travailler sur votre code, vous devez posseder un compte sur l'infrastructure. Avec ce compte  l'équipe de développement peut vous permettre d'accéder au dépôt CVS.   
[http://sourceforge.net/docman/display_doc.php?docid=11123&group_id=1 B04: Créer un nouveau compte]
+
* Après que vous ayez créé votre compte Koozali, un accès en tant que développeur de contributions au dépôt smecontribs vous sera aussi créé.  
[http://sourceforge.net/docman/display_doc.php?docid=29894&group_id=1 E04: CVS (Version Control for Source Code)]
 
[http://sourceforge.net/docs/F02/en/#top F02: Génération de clefs SSH et utilisation]
 
 
 
* Après que vous ayez créé votre compte SourceForge demandez à l'équipe de vous ajouter un accès en tant que développeur de contributions au dépôt smecontribs. Ouvrez un bogue pour faire cette demande.
 
  
 
* Copiez votre clef locale public  SSH sur SourceForge https://sourceforge.net/account/editsshkeys.php   
 
* Copiez votre clef locale public  SSH sur SourceForge https://sourceforge.net/account/editsshkeys.php   
  
 
* Si  votre nom d'utilisateur local est différent de celui de sf.net modifiez ~/.ssh/config:
 
* Si  votre nom d'utilisateur local est différent de celui de sf.net modifiez ~/.ssh/config:
+
 
  Host  smeserver.cvs.sourceforge.net
+
  Host  shell.koozali.org
  User  sfusername ''(without @shell.sf.net)''
+
  User  koozaliusername ''(without @shell.koozali.org)''
  Host  smecontribs.cvs.sourceforge.net
+
  port 222
User  sfusername ''(without @shell.sf.net)''
 
  
 
* N'oubliez pas de mettre les bons droits sur le fichier
 
* N'oubliez pas de mettre les bons droits sur le fichier
Line 94: Line 89:
 
  mkdir ~/smeserver
 
  mkdir ~/smeserver
 
  cd ~/smeserver
 
  cd ~/smeserver
  cvs -z3 -d:ext:smeserver.cvs.sourceforge.net:/cvsroot/smeserver co -P rpms  
+
  cvs -z3 -d:ext:shell.koozzali.org:/cvs/smeserver co -P rpms  
 
   
 
   
 
  (pour le moment les changements sur smeserver sont fait avec mezzanine, puis mis à jour manuellement par les développeurs)
 
  (pour le moment les changements sur smeserver sont fait avec mezzanine, puis mis à jour manuellement par les développeurs)
Line 102: Line 97:
 
  mkdir ~/smecontribs
 
  mkdir ~/smecontribs
 
  cd ~/smecontribs  
 
  cd ~/smecontribs  
  cvs -z3 -d:ext:smecontribs.cvs.sourceforge.net:/cvsroot/smecontribs co -P rpms  
+
  cvs -z3 -d:ext:shell.koozzali.org:/cvs/smecontribs co -P rpms  
 
   
 
   
 
Pour rafraichir faites la commande suivante  depuis le dossier rpm, ou tout autre dossier plus loin dans l'arborescence CVS
 
Pour rafraichir faites la commande suivante  depuis le dossier rpm, ou tout autre dossier plus loin dans l'arborescence CVS
Line 211: Line 206:
  
 
====Publier un paquet====
 
====Publier un paquet====
Après que le serveur ai réussi à compiler votre paquet celui-ci sera placer dans le dépôt smetest. Vosu devriez être mis au courant du succès par email.
+
Après que le serveur ai réussi à compiler votre paquet celui-ci sera placer dans le dépôt smetest. Vous devriez être mis au courant du succès par courriel.
  
 
Quand un paquet est compilé avec succès vous devez vérifier vos changements, dans l'idéal vous devriez avoir un bogue à vérifier pour chaque modification. Après vérification de toutes les modifications et bogues, vous pouvez publier le paquet comme suit:
 
Quand un paquet est compilé avec succès vous devez vérifier vos changements, dans l'idéal vous devriez avoir un bogue à vérifier pour chaque modification. Après vérification de toutes les modifications et bogues, vous pouvez publier le paquet comme suit:
Line 217: Line 212:
  
 
  ssh username@shell.contribs.org
 
  ssh username@shell.contribs.org
</li><li>Naviguer vers le dossier teams :
+
</li><li>Naviguer vers le dossier team :
  
 
  cd /teams
 
  cd /teams
</li><li>LE dossier team contient quelques dossiers dont deux sont intéressant, le premier es appelé "updates" et contient les paquets SME, l'autre est appelé " contribs" et contient les contributions compilées.
+
</li><li>Le dossier team contient quelques dossiers dont deux sont intéressant, le premier est appelé "updates" et contient les paquets SME, l'autre est appelé " contribs" et contient les contributions compilées.
 
Supposons que nous voulions  publier notre contribution nous procèderions comme suit:
 
Supposons que nous voulions  publier notre contribution nous procèderions comme suit:
  

Latest revision as of 22:07, 28 October 2020


Introduction

Le code source de SME Serveur se trouve dans le CVS de http://www.sourceforge.net dans deux dépôts :

Cette page a pour but de vous aider afin de modifier les contributions stockées chez sourceforge.

Important.png Note :
Pour l'instant les changements sur la base sont encore faits en utilisant mezzanine.


Installation

Environnement local

  • Nous utilisons CVS sans avoir besoin de mezzanine, vérifiez que celui ci est installé (à faire en tant que root).
yum install cvs
  • Configurez CVS pour utilsier ssh en créant le fichier /etc/profile.d/smebuild.sh avec le contenu suivant (à faire avec votre utilisateur non root qui sera dédié à l'élaboration de vos contributions).
# Developer environment
# This gets symlinked into /etc/profile.d 

export CVS_RSH=ssh # tell CVS to use ssh

# DO NOT set CVSROOT

alias rm='rm -i'
alias cp='cp -i --preserve=timestamps'
alias mv='mv -i'

Vous devez vous déconnecter et vous reconnecter afin que le fichier soit pris en compte.

Accès au système de compilation

Vous pouvez verifier l'état et l'avancé des compilations sur le serveur à cette adresse : [1]


Warning.png Attention :
pour les contributeurs utilisant plague-client-0.5.0 vous devez reprendre une version plus ancienne afin de pouvoir accéder à l'interface, pour cela faites en tant que root :
rpm -e plague-client plague-common
yum --enablerepo=smecontribs install plague-client



Demandez à Jean-Philippe ou Daniel ( admin@koozali.org ) la création d'un certificat pour vous, en lui donnant l'adresse email à utiliser pour les notifications. Si vous n'avez pas d'accès à shell.koozali.org avec login et mot de passe demandez le par la même occasion.

yum --enablerepo=smecontribs install plague-client

A partir d'ici n'utilisez plus du tout le compte "root". Utilisez un compte dédié au développement.

Copiez les certicifats et fichiers de configuration dans le dossier ~/

.plague-client.cfg
.username.pem
.contribs-upload-ca.pem
.contribs-server-ca.pem

n'oubliez pas de mettre les bon privilèges aux fichiers

chmod 600 .username.pem

Vérifiez que cela fonctionne

plague-client list_builders

Builders:
------------------------------------------------------------------------------------------
 build64-1.contribs.org      x86_64 amd64 ia32e noarch i386 i486 i586 i686 athlon available
 build32-1.contribs.org      i386 i486 i586 i686 athlon noarch  available

Accès au CVS sur shell.koozali.org

  • Le code de SME Serveur est stocké en CVS sur le serveur shell.koozali.org. Pour pouvoir travailler sur votre code, vous devez posseder un compte sur l'infrastructure. Avec ce compte l'équipe de développement peut vous permettre d'accéder au dépôt CVS.
  • Après que vous ayez créé votre compte Koozali, un accès en tant que développeur de contributions au dépôt smecontribs vous sera aussi créé.
  • Si votre nom d'utilisateur local est différent de celui de sf.net modifiez ~/.ssh/config:
Host  shell.koozali.org
User  koozaliusername (without @shell.koozali.org)
port 222
  • N'oubliez pas de mettre les bons droits sur le fichier
chmod 600 ~/.ssh/config

Utilisation

Importation du src.rpm

Envoyez un email à Shad, admin@contribs.org, avec l'emplacement ou il peut recuperer celui ci. Il sera importé pour vous dans le système de compilation.

Importation de l'arbre cvs

Il s'agit juste des informations CVS avec l'arborescence, les .SPEC et les patch, aucune source n'est recupérée.

Vous pouvez utiliser ~/home/smeserver ou ce qu'il vous plait.

mkdir ~/smeserver
cd ~/smeserver
cvs -z3 -d:ext:shell.koozzali.org:/cvs/smeserver co -P rpms 

(pour le moment les changements sur smeserver sont fait avec mezzanine, puis mis à jour manuellement par les développeurs)

si vous n'êtes qu'intéressé par le dossier smecontribs il vous suffit de ces lignes :

mkdir ~/smecontribs
cd ~/smecontribs 
cvs -z3 -d:ext:shell.koozzali.org:/cvs/smecontribs co -P rpms 

Pour rafraichir faites la commande suivante depuis le dossier rpm, ou tout autre dossier plus loin dans l'arborescence CVS

cvs update -dPA

Modifier un paquet

Les contributeurs ont les droits pour les commandes patch, tag et build. Si vous avez besoin d'envoyer une nouvelle archive de sources Shad doit le faire pour vous. Envoyez lui par mail à admin@contribs.org. Les fichier binaires sont stockés sur un espace séparé. CVS n'étant pas très efficient avec les fichiers binaires.

Les commandes Mezzanine, (mzsfget, mzclean, mzprep, mzpatch, mzbuild, mzput) ont toutes étaient remplacées par une nouvelle méthode.

Ajoutez un bogue concernant votre contribution à http://bugs.contribs.org against your contrib

Rendez vous dans votre dossier de contribution

cd smecontribs/rpms/smeserver-foo/contribs7

Afin de préparer l'arbre :

cvs update -dPA [optionnel]
make clean [optionnel]
make prep
Faire un patch

Rendez vous dans l'arbre mis en place et réalisez vos modifications.

Dans le dossier du fichier a modifier :

cp 28UserManagerProxyPass 28UserManagerProxyPass.{patchname}

Ensuite modifiez le fichier original 28UserManagerProxyPass. Afin d'ajouter un fichier faites "touch filename.{patchname}" afin d'vaoir un fichier vraiment vide. (vraiment vide = 0kb, certain logiciels ne savent pas faire çà!)

Une fois que vous avez réalisé toutes les modifications voulues, vous pouvez fabriquer le patch (depuis le dossier contribs7) avec:

make patch SUFFIX={patchname}

Cela va créer et ajouter au CVS un patch pour vous. Il devrait être nommé "name-version-{patchname}.patch" (man gendiff. C'est ce qu'utilise makefile pour générer le fichier diff.)

Appliquer un patch personnel

Voici la méthode pour appliquer un patch préparé autre part,du coup vous n'utilisez pas la commande "make patch". Vous devez donc utiliser "cvs add".

copiez le patch dans le dossier contribs7

cvs add smeserver-foo-locale-2008-xx-xx.patch
Appliquer un patch de traduction

Vérifiez si une traduction attends d'être ajoutée:

  • pour le noyau sme : [2]
  • pour les contributions: [3]

Si le patch n'est pas vide vous avez un peu de travail

Rendez vous dans le dossier du paquet a modifier puis faites:

wget http://translate.contribs.org/patches/contribs/name-2.6-locale-2008-04-22.patch

Ensuite faite ce qui est nécessaire pour la prise en compte du patch et qui est expliqué ci-dessous....

Vous pouvez aussi mettre a jour la traduction [4] vous même et attendre la synchronisation des patchs (vers 2 heures du matin GMT-6)

Edition du spec
nano -w smeserver-foo.spec
#incrementez la release
%define release 15

#ajouter le patch
Patch2: smeserver-foo-1.2-widget.patch

#metter a jour le changelog, en incluant le numéro de bogue
* Fri Jan 11 2008 John Smith <smith@foo.net> 1.2-15
- fixed foo to create bar [SME 3470]

#appliquer le patch dans %setup
%patch2 -p1
Soumettre au CVS

Compilez localement le rpm afin de le tester, (à noter, cela écrase l'arborescence de travail!). Vous trouverez le rpm d ans le dossier rpm et le src.rpm dans la racine contribs7.

make local       

Quand vous êtes satisfait et voulez soumettre votre paquet au serveur de compilation soumettez vos changements. (Merci d'utiliser des commentaires afin que les autres développeurs soient au courant de ce que vous avez fait. Ces commentaires apparaitront dans la ligne de sujet de l'email qui sera envoyé aux autres développeurs.)

cvs commit -m 'your descriptive commit message here'

Vous pouvez automatiser l'ajout du commentaire dans le fichier spec avec la commande 'clog'.

Important.png Note:
Vous devez être dans le dossier sme7, sme8, ou contribs7 pour que cela fonctionne


rm -f clog
cvs commit -m "$(make clog)"

Puis réalisez le tag des fichiers afin de leur donner l'appartenance à la version à compiler

make tag

Puis envoyez la requete afin que le serveur de compilation récupère la dernière version taguée et la compile dans un environnement emprisonné (chroot mock).

make build

Il est important de ne pas oublier le "make tag" avant de faire le "make build"

Assurez vous de toujours travailler sur la dernière version, d'autres développeur ont pu apporter des modifications(cvs update -dPA)

Vous recevrez, ainsi que l'équipe de mise à jour, un email en cas de succes de la compilation. En cas d'échec vous serez le seul a recevoir un email.

CVS pense-bête Package_Modification/More cvs commands

Suivi de la compilation

vous pouvez suivre l'évolution de la fabrication du paquet en temps réél avec avec

plague-client list uid  {numéro de tache}

Publier un paquet

Après que le serveur ai réussi à compiler votre paquet celui-ci sera placer dans le dépôt smetest. Vous devriez être mis au courant du succès par courriel.

Quand un paquet est compilé avec succès vous devez vérifier vos changements, dans l'idéal vous devriez avoir un bogue à vérifier pour chaque modification. Après vérification de toutes les modifications et bogues, vous pouvez publier le paquet comme suit:

  1. Se connecter à shell.contribs.org comme ceci: ssh username@shell.contribs.org
  2. Naviguer vers le dossier team : cd /teams
  3. Le dossier team contient quelques dossiers dont deux sont intéressant, le premier est appelé "updates" et contient les paquets SME, l'autre est appelé " contribs" et contient les contributions compilées. Supposons que nous voulions publier notre contribution nous procèderions comme suit: cd contribs/7
  4. Maintenant copions les paquets intéressants de smetest à smecontribs, les version anciennes sont supprimées automatiquement: cp smetest/package-name-version.rpm smecontribs/


Important.png Note:
Dans un delais de deux heures le paquet devrait être déplacé vers le dépôt smecontribs et être disponible aussi tôt que les miroirs sont synchronisés.


Workflow

Après que le paquet ait été compilé avec succès il est placé dans le dépôt correspondant par la prochaine mise à jour (40° minute de l'heure en cours). Le paquet se retrouvera soit dans smedev (nouveau) ou dans smetest (existant). Après vérification le paquet est déplacé manuellement de smedev/smetest vers smecontribs (pour les contributions) ou smeupdates-testing (pour les paquets de base).

Mailing Lists

Inscrivez vous à la liste devinfo mailinglist. C'est l'endroit pour discuter du développement du serveur et de ses contributions. Si vous avez des questions sans rapport avec le développement merci de les adresser sur le forum forums.

D'autres listes existent pour suivre les bogues et le système de compialtion, UpdatesTeam + ...