From ooo-commits-return-2188-apmail-incubator-ooo-commits-archive=incubator.apache.org@incubator.apache.org Mon Oct 31 00:40:32 2011 Return-Path: X-Original-To: apmail-incubator-ooo-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-ooo-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 790497A5D for ; Mon, 31 Oct 2011 00:40:31 +0000 (UTC) Received: (qmail 35759 invoked by uid 500); 31 Oct 2011 00:40:31 -0000 Delivered-To: apmail-incubator-ooo-commits-archive@incubator.apache.org Received: (qmail 35706 invoked by uid 500); 31 Oct 2011 00:40:31 -0000 Mailing-List: contact ooo-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ooo-dev@incubator.apache.org Delivered-To: mailing list ooo-commits@incubator.apache.org Received: (qmail 35695 invoked by uid 99); 31 Oct 2011 00:40:31 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 Oct 2011 00:40:31 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 31 Oct 2011 00:40:05 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 6AA482388C4E for ; Mon, 31 Oct 2011 00:38:50 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r797751 [20/47] - in /websites/staging/ooo-site/trunk/content/fr: ./ Contribuer/ DicOOo/ DicOOo/hyph_fr/ DicOOo/thes_fr/ Documentation/ Documentation/Exemples/ Documentation/Exercices/ Documentation/Gallery/ Documentation/Gallery/CartOOo/ D... Date: Mon, 31 Oct 2011 00:36:29 -0000 To: ooo-commits@incubator.apache.org From: buildbot@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111031003850.6AA482388C4E@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/co_source.html ============================================================================== --- websites/staging/ooo-site/trunk/content/fr/Laboratory/co_source.html (added) +++ websites/staging/ooo-site/trunk/content/fr/Laboratory/co_source.html Mon Oct 31 00:35:55 2011 @@ -0,0 +1,277 @@ + + + + + + + FAQ_item + + + + + + + +
+ +
+ + + + + + + + + + + + +
+

Télécharger le +Code Source depuis CVS

+Dans cette page, les sections suivantes décrivent ce que vous avez +besoin de télécharger
+ +

Nécessités +pour le téléchargement

+Le système que vous téléchargez doit posséder :
+
    +
  • une connexion internet avec un vitesse minimu de 56 ko/sec
  • +
  • 400 Mo d'espace disque pour le code source seul
  • +
  • Un des systèmes suivants :
  • +
      +
    • FTP
    • +
    • CVS 1.10 ou supérieur
    • +
    +
+

Télécharger les sources

+Vous devez télécharger le code source avant de pouvoir commencer à +compiler. Pour télécharger les sources, voir la section Télécharger +les sources de la section téléchargement central
+
+Vous pouvez soit télécharger les sources complètes, soit télécharger +seulement le solver (output tree). Le solver (output tree) vous permet +de compiler des modules CVS individuels, plutôt que la suite complète. +Pour plus d'information, voir Aperçu du process de +compilation.
+
+

Télécharger +les sources complètes
+

+Nous estimons que cela va prendre environ 8 heures pour télécharger +l'intégralité des sources pour une connexion avec un modem de 56 ko.
+Vous pouvez télécharger un tarball de l'intégralité du code source à +partir de la section Télécharger +les sources de la section téléchargement central .
+Alternativement, vous pouvez utiliser CVS pour télécharger la dernière +version du code source. Pour faire un check out des sources en +utilisant CVS, vous devez installer la version CVS 1.10 ou supérieure.
+Les sections suivantes décrivent comment faire un check out du code +source pour chaque sytème d'exploitation :
+
    +
  • Linux
  • +
  • Solaris
  • +
  • Win 32
  • +
  • Mac OS X
  • +
+ Check out du +Code Source pour +Linux
+Pour faire un check out du dernier code source pour Linux, suivez la +procédure suivante
+
    +
  1. Paramètrez la variable d'environement $CVSROOT de la +façon suivante :
    +
    +
    % setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
    +
  2. +
  3. Loguez-vous sur CVS et entrez anoncvs comme mot de +passe
  4. +
  5. Pour faire un checkout du code, entrez une commande telle +que celle-ci
    +% cvs co -r milestone-build OpenOffice
    +remplacez miles-stone build par le numéro de la version que vous +souhaitez télécharger. L'exemple suivant vous montre les commandes pour +télécharger la versions 609
    +% setenv CVSROOT +:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
    +
    +% cvs login
    +
    +(Logging in to anoncvs@anoncvs.services.openoffice.org)
    +
    +CVS password: anoncvs
    +
    +% cvs co -r OpenOffice609 OpenOffice
    +
    + Note : Vous pouvez +faire un check out de la dernière version en ommettant le tag, c'est à +dire en exécutant la commande suivante :

    +%
    cvs co OpenOffice
  6. +
+ Check out +du Code Source pour Solaris
+Pour faire un check out du dernier code source pour Solaris, suivez la +procédure suivante :
+
    +
  1. Paramètrez la variable d'environnement $CVSROOT  +de la façon suivante :
    +
    % setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
    +
  2. +
  3. Loguez vous dans CVS en utilisant le mot de passe anoncvs
  4. +
  5. Pour faire un check out du code, entrez une commande +similaire à celle-ci
    +
    % cvs co -r milestone-build OpenOffice
    +Remplacez milestone-build par le numéro de la version que vous +souhaitez télécharger. L'exemple suivant vous montre les commandes pour +télécharger la version 609
    +
    % setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs

    % cvs login

    (Logging in to anoncvs@anoncvs.services.openoffice.org)

    CVS password: anoncvs

    % cvs co -r OpenOffice609 OpenOffice
    + Note : vous pouvez +faire un check out de la dernière version en ommettant le flag, en +exécutant les commandes suivantes :
    +

    % cvs co OpenOffice

    +
  6. +
+ Check out du +Code Source pour +Win 32
+Pour faire un check out de la dernière version du code source pour un +système Win 32, suivez les étapes suivantes :
+
    +
  1. Paramètrez la variable d'environnement pour le CVSROOT + de la façon suivante :
    +
    C:\> set CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
    +
  2. +
  3. Loguez vous à CVS en entrant anoncvs  +comme mot de passe
    +
  4. +
  5. Paramètrez la variable d'environnement HOME +vers un répertoire approprié. Cette variable est paramètrée par défaut +sous Linux et Solaris, mais vous devez la définir manuellement sour les +systèmes d'exploitation Win 32,. Si vous ne le faites pas, cela peut +poser des problèmes avec CVS.
  6. +
  7. Pour faire un check out du code, entrez une commande +similaire à celle-ci :
    +
    C:\> cvs co -r milestone-build OpenOffice
    Remplacez milestone-build par le numéro de la version que vous voulez télécharger. Par exemple, pour télécharger la version 609, entrez les commandes suivantes :
    C:\> set CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs

    C:\> cvs login

    (Logging in to anoncvs@anoncvs.services.openoffice.org)

    CVS password: anoncvs

    C:\> set HOME=C:\temp

    C:\> cvs co -r OpenOffice609 OpenOffice

    Note : vous pouvez faire un check out de la version en ommettant le tag et en entrant la commande suivante
    +

    C:\> cvs co OpenOffice

    +
  8. +
+ Check out du +Code Source pour +Mac OS X
+Pour faire un check out de la dernière version du code source pour Mac +OS X, suivez les étapes suivantes :
+
    +
  1. Positionnez la variable d'environnement $CVSROOT
    +
    +
    % setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
    +
  2. +
  3. Loguez vous dans CVS et entrez anoncvs comme +mot de passe
  4. +
  5. Pour faire un check out du code, entrez une commande +similaire à celle-ci
    +
    % cvs co -r milestone-build OpenOffice
    remplacez milestone-build par le numéro de la version que vous souhaitez télécharger. L'exemple suivant vous montre les commandes pour télécharger la version 609
    % setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs

    % cvs login

    (Logging in to anoncvs@anoncvs.services.openoffice.org

    CVS password: anoncvs

    % cvs co -r OpenOffice609 OpenOffice
    Note : vous pouvez faire un check out de la dernière version en ommettant le tag et en exécutant la commande suivante :
    +

    % cvs co OpenOffice

    +
  6. +
+ Télécharger +le Output Tree +(solver)
+Pour télécharger la dernière version du code source, suivez ces étapes
+
    +
  1. Téléchargez le tarball de la version solver à partir du +site OpenOffice.org. Ce tarball est nommé solverxxx_oscpu.tar.gz +, où xxx signifie le numéro de la version,  os signifie le système +d'exploitation et cpu signifie l'architecture hardware. Par exemple, la +version du tarball pour la version 69 pour Linux ou Intel est appellée :
    + solver609_linuxintel.tar.gz.
  2. +
  3. Faites un check out du projet sur lequel vous souhaitez +travailler. Vous devez faire un check out de la version du projet qui +correspond à la même version. Par exemple, si vous faites un checkout +de la version solver609_linuxintel.tar.gz  , alors +vous devez faire un check out du projet portant le numéro de version +609.
    +Pour faire un check out du module, entrez une commande similaire à la +commande suivante :
    +
    % cvs co -r milestone-build project-name
    +remplacez le nom project-name par le nom du projet  que vous +souhaitez télécharger. Par exemple pour faire un check out du module +CVS Visual Class Libraries, entrez les commandes suivantes :
  4. +
    % cvs co -r OpenOffice609 vcl
    +
+ + Retour à l'index Labo
+
+

 

+ +

OpenOffice.org native tongue concept and francophone +project are built for you with pride by Guy Capra (Alomphega).
+This fr project is also led and maintained by Sophie Gautier.

+
+
+
+
+
+
+
+ + +
+ +
+
+


Powered by the Apache CMS.

+
+
+

+ Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. + Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and + decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is + not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has + yet to be fully endorsed by the ASF.

+

+ Contact Us | + Terms of Use +
Apache and the Apache feather logos are trademarks of The Apache Software Foundation. +
OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. +
Other names appearing on the site may be trademarks of their respective owners. +

+
+
+ + + Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/command_line_syntax_fr.htm ============================================================================== --- websites/staging/ooo-site/trunk/content/fr/Laboratory/command_line_syntax_fr.htm (added) +++ websites/staging/ooo-site/trunk/content/fr/Laboratory/command_line_syntax_fr.htm Mon Oct 31 00:35:55 2011 @@ -0,0 +1,195 @@ + + + + Labo + + + + + + + + + + + + +
+


+

+ +

Syntaxe de Commande de Autodoc

+
Last updated: 30. 1. 2002
+
+
+

Contact: Nikolai Pretzell
+

+
+
+

Utilisation:

+
+
autodoc.exe
[ -v <NiveaudeVerbosité> ]
-html <RépertoiredeSortie>
{
[ -parse ]
[ -name <RepositoryName> ]
-lg <LangagedeProgrammation>
{
[ -p <NomduProjet> <RacineduProjet> ]
{
-t <RépertoireSource>*
-d <RépertoireSource>*
-f <FichierSource>*
}+
}+
}
+
+
+

Légende:

+
+ + + + + + + + + + + + + + + + + + + + + + + +
<Texte>
+
paramètre de ligne de commande
+
[ ]
+
options
+
{ }
+
Bloc d'options connectées.
+La séquence d'options non connectées importe peu. Ainsi, les options +html ou -v peuvent être utilisées avant ou après toutes les options de +traitement.
+
+
+
une ou plusieurs fois
+
*
+
aucune ou plusieurs fois
+
+
+
+
+

Explication des Options

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-v +<NiveaudeVerbosité> Uniquement pour le débogage. les Bits +1, 2 et 4 dans n'importe quelle combinaison donnent une sortie +différente.
-html <RépertoiredeSortie>
+
Indique le répertoire où une version +HTML du document sera créée.
+
-parseFait démarrer le bloc dans lequel se +trouvent toutes les options de traitement. Ceci peut être omis, parce +que +les options de traitement sont identifiables sans, mais cela pourrait +en rendre la lecture plus claire.
-name <RépertoireSource> Ce nom apparaît en tant que titre de +la documentation (à présent uniquement dans la version C++).
-lg <LangagedeProgrammation>
+
+
+
Les valeurs possibles sont:
+

+
+
+
c++
+
Celle-ci traite tous les fichiers se terminant +en .hxx et .h .
+
idl
+
Celle-ci traite tous les fichiers se terminant +en .idl .
+
+
+
-p avec -t/-d/-f: S'il existe plus d'un projet, l'option +-p est obligatoire pour chacun.
+
+Le répertoire donné avec l'option -p est le répertoire racine du projet.
+Si aucune option -p n'a été donnée, le répertoire de travail est traité +comme le répertoire racine.
+
+Tous les chemins donnés avec les options -t/-d/-f sont relatifs à la +racine. Il est possible d'utiliser "." en tant qu'argument pour -t ou +-d.
+
+Chacune de -t/-d/-f peut prendre plusieurs arguments:
+On pourrait écrire "-f fichier1.hxx fichier2.hxx fichier_xyz.hxx"
+
Après chaque option -p +(ou après -lg, si aucune option -p n'a été donnée), il doit y avoir au +moins une des trois options suivantes :
-t Tree, ce qui veut dire: +inclure les sous-répertoires
-d Directory, ce qui veut dire: +aucun sous-répertoire
-f File", ce qui veut dire: un +fichier seul se terminant avec l'extension indiquée.
+Cette option permet également de traiter des fichiers se terminant +différemment de ceux impliqués par l'option -lg.
+
+
+
+
+
+ Traduction +Alex Thurgood
+

Retour à +l'index Labo
+

+
+
+

 

+ +

OpenOffice.org native tongue concept and francophone +project are built for you with pride by Guy Capra (Alomphega).
+This fr project is also led and maintained by Sophie Gautier.

+
+
+
+
+
+
+
+ + Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-browse.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-browse.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-create.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-create.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-cws.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-cws.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-login.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-login.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-menu.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-menu.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-milestones.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-milestones.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-mycwss.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-mycwss.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-releases.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-releases.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-search.png ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/eis_image/EIS-search.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/guide_hackers.html ============================================================================== --- websites/staging/ooo-site/trunk/content/fr/Laboratory/guide_hackers.html (added) +++ websites/staging/ooo-site/trunk/content/fr/Laboratory/guide_hackers.html Mon Oct 31 00:35:55 2011 @@ -0,0 +1,973 @@ + + + + + + + Labo + + + + + + + +
+ +
+ + + + + + + + + + + + +
+


+Guide du Hacker OpenOffice.org Non Officiel

+Compiler et hacker OpenOffice.org (OOo) vous fera gravir une pente +assez longue. Heureusement, ce document rendra la courbe +d'apprentissage un peu plus raide et abrupte et vous fournira un bâton +de marche pour vous aider.
+Ce document assume que vous utilisez un système Linux habituel pour une +économie de temps. Les vrais hackers utilisent des logiciels Libres et n'ont pas le temps +de s'intéresser à du matériel non Libre.
+Nous avons pour but de répondre au moins aux questions suivantes :
+
    +
  • Comment je compile OOo ?
  • +
  • Comment je viens à bout d'itération de développement
  • +
  • Comment je le débuggue
  • +
  • Comment j'envois un patch
  • +
+Si vous avez besoin d'aide pour la compilation de OOo et que vous avez +l'intention de le hacker, merci rejoindre la liste ici et d'y poser vos +questions.
+

O. Contenu

+ +Ce processus est discuté en bien plus amples détails dans le guide détaillé +de compilation. Nous avons cependant travaillé dur pour rendre ce +process réalisable pour les simples programmeurs mortels, et une simple +description de ce qui suit.
+

1. Obtenir OOo

+ Il +y a un tas de versions compétitives d'OOo et plusieurs choix de +branches, ainsi que de multiples sets de patches. Je vous recommande de +compiler à partir de snapshots CVS, qui sont connues pour compiler et +dont les sets de patchs sont connus pour s'appliquer. Ainsi pour avoir +les sources faites :
+
export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'
cvs login
cvs -z3 checkout -P ooo-build
+Cela vous fournira un copie de la branche ooo-build. Si CVS vous fait +peur, vous devriez obtenir une version récente packagée à partir d'ici.
+ Note : Vous allez devoir +télécharger environ 200 Mo de sources compressées et avoir ~5Go +d'espace pour la dépackager et la compiler.
+

2. Compiler OOo

+ 2.1 configure
+Le processus de compilation est plutôt compliqué, vous avez maintenant +le choix des commandes suivantes et même en les exécutant toutes les +deux, cela ne +posera pas de problèmes.
+
./autogen.sh # the CVS version
./configure # the packaged version
+
+Ceci va déterminer quelle branche de snapshot vous voulez compiler ; si +vous avez une autre idée, utilisez l'option --with-tag, par exemple :
+
--with-tag=OOO_1_1_0
+pour une branche en cours.
+
+ 2.2 téléchargement
+Avec un certain temps, vous avez mis à jour votre système à un point où +il a +tous les packages dont vous avez besoin pour commencer la compilation +de OOo (mozilla, libart récent etc. etc.) vous en être rendu au point +où vous pouvez télécharger les sources. Pour faire cela, après un +configure réussit, tapez simplement :
+
./download
+et attendez.
+ make
+C'est le bit taxant - tapez
+
make
+et n'oubliez pas de presser entré. Il est fort possible que vous +souhaitiez une sortie des logs, alors pourquoi pas
+
make 2>&1 | tee /tmp/log
+

3. Installer OOo

+Le résultat d'une compilation parfaite est un set d'installation zippé +situé dans
+
build/$TAG/instsetoo/unxlngi4.pro/01/normal/
+ou similiaire. Puis exécutez le programme setup à partir de là pour +l'installation, exemple :
+
/opt/OOInstall
+pour installer. Il est possible que pour faire cela, vous deviez +d'abord effacer votre  fichier
+
~/.sversionrc
+L'ayant installée, vous avez envie de la hacker en liant votre tronc +compilée directement à l'image installée, ainsi en recompilant un sous +répertoire source, vous pouvez simplement réexécuter OOo. Cela peut +rendre votre version/cycle de test  indisponible pendant plusieurs +dizaine de minutes. Pour faire cela faites :
+
bin/linkoo /opt/OOInstall /opt/ooo-build/build/OOO_1_1_2
+NB : voir aussi les limitations linkoo
+

4. Exécuter OOo

+Maintenant positionnez-vous dans :
+
/opt/OOInstall/program
+et faites
+
source ./env
+cela paramétrera votre shell (bash) pour exécuter OOo directement. Puis +simplement
+
soffice.bin
+C'est mieux que d'exécuter soffice, ou un script wrapper dans la mesure +où il est très facile d'attacher le débuggueur.
+
gdb soffice.bin
+ Note : n'utilisez pas
+
./soffice.bin
+pour d'obscures raisons cela ne marche pas du tout
+ Note : vous devez +exécuter le ooo-wrapper basé sur OOo avant cela, pour +que ~/.sversionrc soit paramètré correctement d'abord, autrement +exécuter  soffice.bin vous enverra dans l'outil de setup du GUI. +Faites juste un
+
oowriter
+avant de commencer
+

5. Hacker OOo

+ 5.0. Mon premier hack
+Bon - nous avons compilé et exécuté OOo et nous voulons nous prouver +qu'il est en fait possible de le hacker. Donc, dans un nouveau +terminal, faites ceci :
+
cd build/$TAG
. ./LinuxIntelEnv.Set.sh
cd vcl
+Maintenant pour faire un hack à vcl/source/window/toolbox2.cxx, je +suggère d'ajouter (par exemple) un
+
nPos = 0
+n'importe où avant le m_aItems.insert dans ToolBox::InsertItem( const +ResId &ResId...) puis sauvegardez
+Vous êtes toujours dans vcl/ oui ? alors tapez 'build debu=true'; +attendez que le texte défilant s'arrête; (5 secondes ?) maintenant +re-exécutez
+
soffice -writer
+vous devriez voir ce qui arrive
+ Note : ceci assume que +vous avez soigneusement suivi les étapes précédentes, notamment le linkoo dans la section +3
+ Note : pour un hacking +quotidien vous préférerez exécuter 'build' à +l'intérieur du tronc source. N'exécutez pas 'make' au niveau +supérieur
+
ooo-build/
+du répertoire ou vous allez (très certainement) effacer toutes les +modifications que vous avez faites et déprimer. Cela vaut le coup de +faire une copie 'out of line' de
+
build/OOO_1_1_2
+quelque part voir ici pour +une aide de relocalisation de la version
+
+ 5.1 Lire le manuel sympa
+Avec le pouvoir de C++ , vous allez pouvoir vous prendre la tête très +facilement (et implicitement) cf Holub, Rules for C and C++ +programming, McGraw-Hill, 95
+Le meilleur moyen de vous préparer à la bataille est de lire le guide +du codage OpenOffice.org ici et +pour ceux qui se perdent facilement c'tor/d'tor est le raccourci de +constructor / destructor.
+
+ 5.2 Soumettre un patch
+Il est rarement clair de savoir dans quel module réside un patch dans +bugzilla. Un moyen rapide de s'y retrouver est de faire :
+
cvs status <somefile> | head
+Cela devrait donner une ligne  'Repository Revision:' avec un +chemin, le second fragment est le nom du projet.
+
+ 5.3 Hacker l'installeur
+Dans la mesure où l'image de l'installeur détruit l'image (exécutable) +temporaire de setup dans /tmp/sv001.tmp, vous devez +l'empêcher de le faire. Exécutez setup / install avec l'option +-dontdeletetemp.
+
+ 5.4 Hacker d'autres parties
+Ayant une installation qui fonctionne, la meilleure façon de lui +ajouter +vos hacks est de mettre un lien symbolique de program/libfoo641li.so +à la build que vous venez juste de construire le plus sûrement vers foo/unxlngi4.pro/lib/ +, puis de redémarrer la suite et vos changements devraient être +incorporés
+
+Par exemple, disons que vous voulez : 'sal' le System Abstraction Layer +et vous avez installé OOO_STABLE_1 dans /opt/OOInstall, vous +devez  faire :
+
cd /opt/OOInstall/program
mkdir backup
mv libsal.so.3.0.1 backup
ln -s /opt/OpenOffice/OOO_STABLE_1/sal/unxlngi4.pro/lib/libsal.so.3.0.1 .
+
+ 5.5 Comprendre D'make (man)
+Alors que le système de compilation est similaire à beaucoup d'autres +systèmes, il est en même temps légèrement différent. La vue d'ensemble +est que chaque module est compilé, +et qu'ensuite le résultat est délivré +dans le solver. +Chaque module est compilé en fonction de l'entête dans le solver. +Ainsi, il y a quelques intrications :
+
    +
  • build : ce script perl solenv/bin/build.pl est +utilisé en conjonction avec prj/build.lst +pour s'assurer que chaque +module qui est nécessaire est compilé en premier. La compilation +détourne les dépendances interne des modules et compile chaque module +avec une paire chdir, dmake.
  • +
  • deliver : ce script perl solenv/bin/deliver.pl +installe les entêtes, et les librairies (etc.) dans le solver comme +l'en informe prj/d.lst. De façon crucial, cela +permet de s'assurer que +la date de chacun des fichiers qui sont installés dans le solver est la +même +que celle dans le répertoire du module. Cela permet de s'assurer qu'il +n'y a pas, (particulièrement pour les entêtes) de dépendances en +cascade déclenchant des recompilations dans les autres modules.
  • +
+ 5.5.1 Répertoires standards
+Il y a plusieurs répertoires standards et fichiers dans la plupart des +modules qui constituent OO.o, en voici quelques-uns des plus utiles.
+
    +
  • prj
    +
  • +
      +
    • build.lst : cela liste les répertoires qui +doivent être faites,  les commentaires '^#'sont permis, l'ordre de +cette liste est sans importance voir les détails, +il est dicté par les +opérations de 'builds'
      +
    • +
    • d.lst : ce fichier décrit le processus deliver, voir les détails
    • +
    +
  • util : +typiquement, le répertoire util est chargé en agrégeant ensemble les +sous-répertoires pour chaque sous-module dans une seule grande +librairie, ajoutant des dépendances de librairies system, compilant les +fichiers ressours pour le GUI, etc. Tout le travail est décrit dans makefile.mk, c'est en général le +dernier répertoire construit dans un projet.
  • +
  • inc :  les +entêtes +publiques sont typiquement séparées dans un répertoire 'inc', cela les +installera dans le solver par la phase 'deliver' (en utilisant prj/d.lst)
  • +
+Il y a également plusieurs types de fichiers qui sont (ou ne sont pas) +intéressants :
+
    +
  • makefile.rc : ils +sont tous plus ou moins redondants et peuvent ignorés sans problème
  • +
  • makefile.mk : +ceux-la au contraire sont le fichiers 'dmake' qui sont utilisés pour +compiler chaque répertoire source.
  • +
+ 5.5.2 +build.lst
+Au premier coup d'oeil, build.lst à l'air inquiétant
+
vc      vcl : nas freetype psprint rsc sot ucbhelper unotools sysui NULL
vc vcl usr1 - all vc_mkout NULL
vc vcl\source\unotypes nmake - all vc_unot NULL
vc vcl\source\glyphs nmake - all vc_glyphs vc_unot NULL
+
+aussi nous devons essayer de décortiquer ce qui se passe ici, qui n'est +en fait pas si bizarre qu'il n'y paraît au premier coup d'oeil. En +premier, les listes sont terminées par le string 'NULL'. Chaque ligne +est préfixée par un raccourci qui est significatif.
+
    +
  • La première ligne active contient un ':', cela décrit le +fait que ce projet (vcl) dépend des autres modules 'nas', 'freetype', +'psprint' etc. qui doivent être construits en premier. C'est pour les +dépendances inter-projet.
  • +
  • Nous avons ensuite une ligne redondante 'usr1' [pour le fun +?], en fait seulement les lignes contenant le string magique 'nmake' +sont valides après cela.
  • +
  • Les lignes suivantes décrivent des dépendances internes des +répertoires du projet et ressemblent à :
    +
    [shortcut] [path to dir to build] nmake - [flags] [unique-name] [deps...] NULL
    vc vcl\source\glyphs nmake - all vc_glyphs vc_unot NULL
    +
    + shortcut n'est pas +utilisé ; flags détermine +sur quelle plateforme porte la compilation, en général un simple code +de +caractère de plateforme : 'dnpum' 'u' étant Unix. Le plus haut on est +dans le système, le plus on trouvera de matériel avec le drapeau +'all'.
    + unique-name c'est un nom magique, utilisé par les +autres lignes pour décrire une dépendance interne. deps... +n'importe quel nombre de noms des autres répertoires dans ce fichier +qui doit être compilé avant celui-là.
  • +
+Ainsi pour le cas de vcl, nous voyons que vcl\source\unotypes  +(vc_unot) doit être compilé avant vcl\source\glyphs  +(vc_glyphs) C'est important de +comprendre que l'ordre de la liste est ~ +sans importance, et qu'à la place d'une simple liste ordonnée, nous +avons un système de dépendances internes plus complexe : cela contraste +avec la plupart des autres sytèmes make.
+
+Il y a également de la documentation ici à ce sujet.
+
+ 5.5.3 d.lst
+La syntaxe de d.lst est plus facile à comprendre que celle de +build.lst, il ommet des actions par défaut comme copier build.lst dans inc/<module>/build.lst.
+Une ligne de la forme :
+
[action]: [arguments]
mkdir: %_DEST%\inc%_EXT%\external
+où si '[action]' est ommis, l'action 'copy' sera prise par défaut. Les +actions typiques sont copy, mkdir, touch, hedabu, + dos and linklib
+L'action 'hedabu' est particulièrement intéressante, dans la mesure où +il reformate cosmétiquement les entêtes pour les faire rétrécir pendant +l'installation (sinon, elle ressemble beaucoup à l'action copy)
+Pendant l'action, des variables de macros diverses sont étendues, +quelques-unes sont :
+
    +
  • %__SRC% — nom du répertoire de la distribution ex. unxlngi4.pro
  • +
  • %_DEST% — chemin absolue du solver ex. /opt/OpenOffice/OOO_STABLE_1/solver/641/unxlngi4.pro +
  • +
  • %_EXT% — chemin (inusuel) pour avoir un update mineur +ex. +641.1, typically used to version every base sub-directory.
  • +
+Typiquement cependant,  si vraiment vous avez besoin d'ajouter une +règle (cf copies implicites de répertoire), elle sera de la forme
+
..\%__SRC%\inc\sal\*.h %_DEST%\inc%_EXT%\sal\*.h
+NB : les chemins relatifs sont relatifs au répertoire 'prj/'
+
+ 5.6 Itérations rapides
+Il existe plusieurs manières de venir à bout des itérations de +développement, le meilleur moyen est d'utiliser linkoo pour lier +symboliquement la librairie de l'install set directement dans votre +tronc compilé. Ainsi vous pouvez simplement recompiler un sous +répertoire, ex .
+
vcl
+en exécutant
+
build
+et en réexécutant soffice.bin
+
+ 5.7 Puis-je avoir un char *, +s'il vous plaît ?
+OOo contient à peine 6 strings de wrappers, aussi les implémentations C +présentent peu d'intérêt
+
    +
  • rtl_String : sal/inc/rtl/string.h
    +string 'Normal' plus une référence de comptage rtlstring->buffer  +est utile, comme l'est rtlstring->length  . Ce +string a déjà été converti dans un set de caractère particulier, voir +sal/inc/rtl/textenc.h : les seuls cas intéressants sont RTL_TEXTENCODING_UTF8  +et peut-être RTL_TEXTENCODING_ASCII_US pour de vrai ( ?). +N'hésitez pas à traiter  rtlstring->buffer comme +votre char * préféré.
  • +
  • OString : sal/inc/rtl/string.hxx
    +Un simple rtl_String sal/inc/rtl/string.hxx enveloppé +dans une classe, vous pouvez utiliser ostring.pData pour +avoir un rtl_String  (c'est public) . OString a des +méthodes raisonnablement utiles si vous en avez besoin.
  • +
  • rtl_uString : sal/inc/rtl/ustring.h
    +string 'Normal' Unicode similaire à rtl_String  et référence de +comptage aussi bien. Cependant celui-ci vient toujours avec un encodage +UCS-2, sans doute pour être compatible avec des choix Java douteux.
  • +
  • OUString : sal/inc/rtl/ustring.hxx
    +un rtl_uString enveloppé dans une classe. C'est ce qu'utilise la +plupart du code OOo pour passer les strings
  • +
  • String  : tools/inc/string.hxx
    +C'est une classe de string obsolète, aliasée à 'UniString'. Elle a un +certain nombre de limitations comme An rtl_uString  enveloppé à +l'intérieur d'une classe. C'est ce qu'utilise la plupart du code OOo +pour passer les strings
  • +
+Dans la mesure où un homme réel utilise des strings char * encodés +en UTF-8, pour utiliser n'importe quel système d'API comme 'printf' +vous devez extraire un char * de OUString, +utilisez ceci :
+
static char *
gimme_utf8_please (const rtl::OUString &oustring)
{
rtl::OString ostring;

ostring = ::rtl::OUStringToOString (oustring, RTL_TEXTENCODING_UTF8);
return strdup (ostring.pData->buffer);
}
+et l'inverse :
+
static rtl::OUString
complicate_things_into_ucs2_please (const char *utf8_string)
{
rtl::OString ostring;

ostring = rtl::OString (utf8_string);
return rtl::OStringToOUString (ostring, RTL_TEXTENCODING_UTF8);
}
+
+Si vous souhaitez juste imprimer un string pour des besoins de +debuggage, vous voudrez sans doute lire ceci .
+
+ 5.7.2 +Examiner les strings de GDB
+Nous avons déjà vu que OOo n'utilise pas les strings char * +modestes. Si vous pensez que c'est assez compliqué quand vous écrivez +du +code, attendez d'avoir à le débugguer. Voilà comment avoir vos strings +de gdb/dbx qui n'utilisent pas nativement unicode.
+
    +
  • à partir de la branche cvs cws_srx645_ooo112fix1 vous +pouvez utiliser
    +
    (gdb) print dbg_dump(sWhatEver)
    +pour imprimer le contenu de +UniString/ByteStrin/rtl::OUString/rtl::Ostring quel que soit le type +lorsque vous débugguez du code C++ vois l'issue +17295 pour les détails.
  • +
+Alternativement, si ce support n'est pas encore dans votre version OOo +alors...
+
    +
  • rtl_String : met le doigt dessus
  • +
  • String : note : la décl' de cela utilise la macro +'UniString' pour embrouiller les lecteurs. Heureusement, par +programmation, nous pouvons passer un String à un OUString de façon +transparente.
  • +
  • OString : p str->pData
  • +OUString, rtl_uString (un super truc de Kevin Hendricks) la +façon la plus rapide et la plus simple de débarasser d'un string est de +faire :
    +
    p *theString; # grab the length (2nd field)
    x/<length>s theString->buffer
    +ex pour un string de 20 caractères, nous voulons
    +
    x/20s theString->buffer
    +
+
    +cela devrait imprimer le string comme une collection +restreinte avec la valeur ASCII des caractères gentiment disposée dans +une colonne. Pour imprimer, de façon programmée un OUString (ou String) +vous avez besoin
    +
+
::rtl::OString tmpStr = OUStringToOString (MyOUString, RTL_TEXTENCODING_UTF8);
fprintf (stderr, "String is '%s'\n", tmpStr.getStr());

+ 5.8 +Limitations linkoo
+Bien que trés puissant, linkoo a un certain nombre de limitations dues +à la façon dont OOo est assemblé. Il y a deux sortes de problèmes :
+
    +
  • Un comportement bizarre des liens - ie si vous liez +symboliquement une librairie, il suit le lien à l'exécution et finit +dans +la confusion
  • +
      +
    • soffice.bin - cela doit être copié depuis +desktop/unxlngi4.pro/bin/soffice à chaque fois que vous entrez dans un +cycle de développement, autrement le débuggage est confus,
    • +
    • libcgmgr2.so - cela doit être copié depuis +configmgr/unxlgni4.pro/lib à chaque fois, sinon la configuration ne +peut être chargée,
    • +
    +
  • contruction bizarre d'une librairie interne
  • +
      +
    • les fichiers de filtre ont une détection de code, ex +sc/source/ui/app/sclib.cxx(ScDLL::DetectFilter) qui est compilé dans +une librairie statique, installée puis lié dans libwrp dans +desktop/source/offwrp. Pour recompiler dans 'sc' exécutez :
      +
      build && deliver
      +puis dans desktop/source/offwrp exécutez
      +
      touch wrapper.cxx && dmake
      +
      +
    • +
    +
+

6. Débugguer OOo

+Cette section assume que vous utilisez gdb à partir d'une console
+
+ 6.1 Compiler avec des symboles +de débuggage
+OOo inclus la possibilité d'ajouter du code de débuggage par module, +vial la commande build debug=true dans chaque module. +Malheureusement, ce n'est pas recommandé de l'exécuter pour l'ensemble +du projet, en plus d'inclure des symboles de débuggage vitaux, il +inclut également des tas d'assertions, des warnings et d'autres +vérifications variées.
+Ainsi si vous voulez des symboles de débuggage pour tout, vous devez +hacker plusieurs makefiles pour ajouter les symboles de débuggage [NB +cela rendra les binaires de OOo ~1Mo plus petits et la branche +complète de build envrion 8 Go aussi faites y attention] appliquez ce +patch :
+
--- solenv/inc/unxlngi4.mk
+++ solenv/inc/unxlngi4.mk
@@ -92,18 +92,18 @@ cc=gcc
# do not use standard header search paths
# if installed elsewhere
.IF "$(BUILD_SOSL)"!=""
-CFLAGS=
+CFLAGS=-g
.ENDIF
CFLAGS+=-fmessage-length=0 -c $(INCLUDE)
# flags for the C++ Compiler
-CFLAGSCC= -pipe -mcpu=pentiumpro
+CFLAGSCC= -g -pipe -mcpu=pentiumpro
# Flags for enabling exception handling
CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
# Flags for disabling exception handling
CFLAGS_NO_EXCEPTIONS=-fno-exceptions

# -fpermissive should be removed as soon as possible
-CFLAGSCXX= -pipe -mcpu=pentiumpro -fno-for-scope -fpermissive -fno-rtti
+CFLAGSCXX= -g -pipe -mcpu=pentiumpro -fno-for-scope -fpermissive -fno-rtti

# HACK: enable Hamburg developers to build on glibc-2.2 machines but compile vs. glibc-2.1 headers
.IF "$(BUILD_SOSL)"==""
+
+Bien sûr, sans les symboles de débuggage gdb devient encore plus +inutile. Pour appliquer le patch copiez et collez la partie ci-dessus +dans /tmp/foo et dans le répertoire de base.
+
patch -p0 < /tmp/foo
+ 6.2 Positionner des points de +rupture
+Dû à un niveau assez élevé de plantages dans gdb, il est à peu près sûr +que positionner des points de ruptures avant l'exécution ne +fonctionnera pas, aussi le meilleur schéma est de
+
gdb ./soffice
break main
run # don't forget the arguments here
# ... traps in main ...
break osl_readFile
continue
+
+Bien sûr cela ne marchera jamais si le code est implémenté dans un +librairie qui est dlopened plus tard, ce qui arrive pour une vaste +majorité du code de OOo. Aussi vous devez  attraper le chargement +du code et alors mettre les points de rupture dedans. Pour faire cela +appliquez un point de rupture dans osl_psz_loadModule et souffrez.
+Alternativement si vous pouvez instrumenter le code, c'est plutôt +facile d'ajouter #include <signal.h> et mettez un (SIGSTOP); +quelque part dans le code qui sera attrapé dans le débuggueur.
+
+ 6.3 Commencer au début
+Nous commençons dans 'main' avec un wrapper sal, cela appelle +vcl/source/app/svmain.cxx(SVMain). Cela invoque Main dans +pSVData->mpApp; mais pSVData est un en-ligne local. Pour débugguer +cela utilisez la variable globale pImplSVData, ex :
+
p pImplSVData->maAppData
+Cette méthode 'Main' est typiquement : desktop/source/app/app.cxx (Main)
+
+ 6.4 Examiner strings
+Le char * modeste (que gdb peut afficher nativement) est évité dans le +monde des objets en le wrappant avec différentes classes innombrables +que gdb ne comprend pas. Le pire, dans pas mal de cas +il est extrèmement difficile même d'imprimer le string, une des +conséquences qui a fait que nous avons pris la décision d'utiliser un +encodade ucs-2. Il y a aussi des classes string à la fois variables et +invariables.
+Merci de lire la section 5.7.2 pour savoir +comment les strings marchent +dans OOo et pour avoir des indications de débuggage.
+
+ 6.5 Permettre une compilation +dans le bon ordre
+Les dépendances de compilation des modules sont vraiment cruciales pour +obtenir une version propre. Lorsque vous tapez 'build' dans un module, +la compilation examine d'abord prj/build.list, ex neon/prj/build.lst :
+
xh      neon  :  soltools external expat NULL
+cela signifie que 'soltools, 'external' et 'expat' doivent être +compilés et délivrés correctement avant que neon ne puisse être +compilé. Occasionnellement ces règles peuvent être brisées et personne +ne s'en aperçoit avant un moment.
+
+ 6.6 Cela plante, mais seulement +dans gdb
+Vraiment sympa, vous avez lié symboliquement +desktop/unxlngi4.pro/bin/soffice à soffice.bin dans votre tronc +d'install, n'est-ce pas ? Cela marche correctement si vous ne faites +que l'exécuter, mais il semble que gdb défait les liens symbolique +et  passe un lien complètement qualifié come argv[0], qui ne +permet pas d'atteindre le binaire dans le chemin, il assigne alors le +chemin du programme de base comme +/opt/OpenOffice/OOO_STABLE_1/desktop/unxlngi4.pro/bin et commence à +rechercher (ex applicat.rdb) dedans. Bien sûr quand il n'arrive pas à +trouver les informations de setup, il plante silencieusement à quelques +kilomètres du problème d'origine.
+
+ 6.7 Cela plante, mais ne plante +pas
+Pour des raisons diverses, les détecteurs de signal sont attrapés et la +vie peut devenir plutôt confuse, ainsi le mieux pour les compileurs est +d'appliquer quelque chose comme ça :
+
--- sal/osl/unx/signal.c
+++ sal/osl/unx/signal.c
@@ -188,6 +188,8 @@ static sal_Bool InitSignal()
bSetILLHandler = sal_True;
}

+ bSetSEGVHandler = bSetWINCHHandler = bSetILLHandler = bDoHardKill = sal_False;
+
SignalListMutex = osl_createMutex();

act.sa_handler = SignalHandlerFunction;
+NB. trailing space
+
+ 6.8.1 Je ne peux trouver le code +à partir de la trace
+Quelques méthodes, décrites pour avoir un liage spécial, comme cette +clé, peuvent être utilisées dans les callbacks ; typiquement elle a un +préfixe 'LinkStub', et cherche ainsi la dernière partie de +l'identifiant dans une recherche de texte libre ex
+
IMPL_LINK( Window, ImplHandlePaintHdl, void*, EMPTYARG )
+compile la méthode 'LinkStubImplHandlePaintHdll'.
+
+ 6.9 Comment puis-je recompiler +seulement les fichiers que je vois dans +la trace
+Souvent lorsque vous exécutez gdb dans une compilation non débugguée, +vous ne pouvez vous permettre d'attendre et recompiler (par exemple) +tout oowriter. Aussi nous avons créé une petite aide perl avec laquelle +vous pouvez couper et coller les noms de methode/classe qui vous +intéressent à partir du stack, et cela touchera juste les fichiers +contenant ces strings pour faciliter une recompilation. Voici un flux +de travail typique de débuggage.
+
gdb ./soffice.bin
...
bt
#0 0x40b4e0a1 in kill () from /lib/libc.so.6
#1 0x409acfe6 in raise () from /lib/libpthread.so.0
#2 0x447bcdbd in SfxMedium::DownLoad(Link const&) () from ./libsfx641li.so
#3 0x447be151 in SfxMedium::SfxMedium(String const&, unsigned short, unsigned char, SfxFilter const*, SfxItemSet*) ()
from ./libsfx641li.so
#4 0x448339d3 in getCppuType(com::sun::star::uno::Reference const*) () from ./libsfx641li.so
...
quit
cd base/OOO_STABLE_1/sfx2
ootouch SfxMedium
build debug=true

+Ainsi tous les fichiers référençant/implémentant quelque chose avec +SfxMedium seront touchés et recompilés avec des symboles de débuggage.
+
+ 6.10 Comment puis recompiler +tous les fichiers dans un répertoire source
+Si vous souhaitez recompiler le code seulement dans vore répertoire +courrant, vous pouvez utiliser la cible killobj dmake pour enlever les +fichiers objets :
+
  dmake killobj
dmake
+
+ 6.11 Cela plante toujours dans +sal_XErrorHdll
+Vous êtes victime d'un rapport d'erreur X asynchrone
+
export SAL_SYNCHRONIZE=1
+rendra le traffic de X syncrhone et rapportera l'erreur par la méthode +qui l'a causé, cela rendra également OOo beaucoup plus lent et le +timing différent.
+
+ 6.12 Il échoue silencieusement à +charger mez fichiers word
+Coalan a suggéré : mettez un point de rupture sur le dessus de +ww8par.cxx  et la queue de SwWW8ImplReader::LoadDoc et confirmez +que le document va aussi loin que le fichier d'import.
+Un endroit facile et humain pour mettre un point de rupture est  +dans SwWW8ImplReader::ReadPlainChars vous pouvez voir des tas de text +au moment ou ils sont lus. Alternativement +SwWW8ImplReader::ReadPlainChars à chaque paragraphe qui est inserré.
+
+ 6.13 Comment est-ce que +j'utilise une console de débuggage ?
+Ainsi OOo contient une importante infrastructure de débuggage, vous +pouvez la voir +ici Malheureusement l'activer n'est pas trivial. Premièrement, rien +n'est compilé dans une compilation de produit, aussi nous devons +recompiler des parties centrales du code OOo comme des compilations +non-produit et nous devons  réexécuter linkoo pour lier ces +nouvelles compilations dans notre set.
+Tous d'abord, créer un fichier de débuggage d'Environnement, je +l'appelle LinuxIntelEnv.Set.debug
+
TMPFILE=~/.Env.Set.debug

# Purge .pro bits
sed 's/\.pro//g' LinuxIntelEnv.Set.sh > $TMPFILE
. $TMPFILE
rm $TMPFILE

# Clobber product parts
unset PRODUCT PROSWITCH PROFULLSWITCH
+Maintenant faites
+
source ./LinuxIntelEnv.Set.debug
+cela met en place votre environnement pour une build non productive.
+cd vcl; build dbgutil=true --all linkoo
+Maintenant - exécutez simplement OOo et quand c'est en plein travail, +pressez <Alt><Maj><Ctrl> 'D' dans cet ordre, cela +devrait provoquer l'affichage d'une fenêtre de débuggage. Les options +de débuggage sont sauvés par la suite dans le fichier .dgbsv.init pour +la prochaine exécution, vous pouvez en contrôler l'emplacement avec :
+
export DBGSV_INIT=$(HOME)/.dbgsv.init
+ex : c'est (malheureusement) un fichier binaire
+
+ 6.14 Debuggage Excel +Interroperabilité
+C'est assez facile, editez sc/source/filter/inc/biffdump.hxx, +definissez EXC_INCL_DUMPER à 1 et recompilez 'sc'. Faites aussi une +copie de sc/source/filter/escel/biffrecdumper.ini vers ~. Puis exécutez
+
+et vous devriez avoir un foo.txt avec les données de débuggage à +l'intérieur. Si vous n'obtenez rien, vous devez trouver/appliquer +sc-biffdump.diff à partire d'ici +
+

7. Contribuer des +patches

+ 7.1 Style diff
+Utilisez toujours des diffs unifiés 'cvx -z3 diff -u' dans la mesure où +ils sont plus lisibles types de diff  (et sensible) qui se lisent +et d'appliquent.
+
+7.2 Quelques interactions

+Cela semble une bonne idée de travailler sur la manière la meilleure +pour implémenter votre fix, et/ou d'en discuter avec un ou deux +développeurs avant tout. Une des meilleures façon est de poster sur +dev@openoffice.org (labo@fr.openoffice.org pour le français) ou de +regarder sur IRC irc.freenode.net sur le cannal #OpenOffice.org. IRC +est un moyen de communication vraiment pauvre, mais mieux que pas de +communication du tout. Voir ici pour savoir qui +est qui.
+
+7.3 Création de patch ooo-buidl

+Voir ici +pour plus d'informations sur notre infrastructure de patchage
+
+ 7.4 soumettre un bug
+Voir ici pour une +interface saine/hackers pour IssueZilla +d'OpenOffice.org
+Dans la mesure où l'on peut toujours connaître le propriétaire d'un +module en vérifiant le tag ADMIN_FILE_ OWNER il y a un petit outil dans +ooo-build : bin/owner<file-name> qui vous aide à +interagir/e-mailer au sujet d'un module donné, c'est mieux d'assigner +ces bugs spécifiques à cette personne.
+

8 Conseils divers

+ 8.1 Obtenir un accompte OOo CVS
+Voici le process pour obtenir un accompte CVS pour le serveur CVS, les +compte ooo-build sont maintenus différemments +Pour connaître comment le processus de soumission d'issue marche, voir +l'issue #7270. Une fois votre compte créé, vous devez ouvrir un tunnel +pour sécuriser le server CVS, quelque chose comme :
+
ssh -f -2 -P -L 2401:localhost:2401 tunnel@openoffice.org sleep 1400 < /dev/null > /dev/null
+Vous devez ensuite changer CVSROOT pour pointer sur votre machine +locale, dans la mesure où c'est le point final du tunnel :
+
:pserver:mmeeks@localhost:/cvs
+Votre nom de compte et mot de passe seront les mêmes que ceux que vous +utilisez pour rentrer des bugs dans le système Source Cast. Logguez +vous et... vous vous apercevrez rapidement que vous devez migrer vos +paramètre CVS sur le serveur, pour faire cela sans perdre de place avec +des checkouts répétés :
+
bin/re-root /path/to/checkout ":pserver:<account-name-here>@localhost:/cvs"
+Bien sûr, pour faire un commit, vous devez avoir des privilèges liés au +projet et vous battre avec la bureaucracie.
+
+ 8.2 Utiliser patch/diff
+Patch/diff sont des outils merveilleux, cependant les gens fournissent +souvent des données qui provoquent la confusion et qu'il est très +difficile de corriger. Voici quelques astuces pour remettre les choses +dans l'ordre
+
    +
  • Si vous n'êtes pas sûr du tout, exécutez les patchs avec +--dry-run d'abord, cela donnera l'apparence de faire l'action de +patcher, mais en fait ne le fera pas [ cela peut donner de faux +résultats avec des inter-dépendances compliquées de patches, mais c'est +très utile]
  • +
  • Utilisez plus particulièrement le patch -p0, 0 signifie le +nombre d'éléments de patchs à dépouiller depuis de début de chemin de +fichier que le diff pointe.
  • +
  • Quand cela plante et que vous n'avez que la moitié du patch +qui s'applique et que vous souhaitez revenir à un truc propre, à la +fois supprimez les fichiers et faites un cvs update, ou repatchez avec +l'option '-R' pour annuler l'effet.
  • +
  • Parfois, utiliser diff entre les modules avec beaucoup de +modification des espaces rend le patch plus difficile à lire, le flag +'-w' de (cvs) diff rend les choses plus faciles.
  • +
+ 8.3 Make clean
+Utilisez dmake clean dans le répertoire supérieur. Dans les versions +pre HEAD il n'y avait pas de cible 'clean' donc à la place vous devez +faire quelque chose comme (ce que fait dmake clean maintenant)
+
find -name 'unxlngi4.pro' -exec rm -Rf {} \;
+ 8.4 setup CVS
+Pour une utilisation efficace de la largeur de bande passante, générez +des diffs +sensibles par défaut et suivez le cours, vous devez avoir ceci dans +votre ~/.cvsrc.
+
cvs -z3 -q
diff -upN
update -dP
checkout -P
status -v
+ 8.5 Ajouter des fichiers +d'entêtes à une compilation.
+Pour ajouter des entêtes de fichier dans +external/ assurez-vous que vous les listez dans external/prj/d.lst pour +qu'ils soient copiés dans le répertoire +solver/641/unxlngi4.pro/inc/external pendant la compilation.
+
+ 8.6 Trouver où hacker
+Il y a souvent des éléments GUI utilisés près des trucs que vous +essayez de localiser/fixer. Trouvez alors des string suffisemment +inutilisés et recherchez les dans la recherche de texte LXR, cela +devrait revéler un identifiant relatif à ce string ex : SID_AUTOFORMAT +ou FN_NUM_BULLET_ON. Une fois cela obtenu, faites une nouvelle +recherche de texte pour ce string et vous trouverez l'usage [ ou une +définition chainée à quelque chose d'autre]. Par exemple, pour les +menus/barre d'outils la fonctionnalité est habituellement dans une +définition case ex : case SID_AUTOFORMAT:...
+

9. Liens utiles

+9.1 www.openoffice.org
+Alors que la structure initiale d'openoffice.org ne semble pas orientée +hackers, il y a beaucoup de documentation +utile si vous la cherchez un peu.
+Pour les nouvelles sur OOo et une perspective distincte sur OOo voir ooodocs.org
+
+9.2 Archives de patch
+En produisant différentes versions d'OpenOffice.org, différents +projects ont produits des patchs (plutôt nombreux) pour OOo. +Heureusement, ils commencent à être triés à un meilleur rythme, aussi +aucun patch ne doit être nécessaire dans HEAD pour le compiler, de la +même manière beaucoup sont allés dans OOO_STABLE_1. Il peut être utile +de les utiliser tous ou certains néanmoins.
+
    +
  • Ximian OOo patches et +outils de compilation /snpashots sont tous disponibles sous forme de packages ou de patches.
  • +
  • Les pages + d'aide Debian, avec +des patches. Et aussi le CVS + Debian.
  • +
  • archive +patch de Mandrake OOo
  • +
  • patches de portage OOo FreeBSD
  • +
  • les fichiers specs Red Hat (basés sur ceux de Mandrake) +sont aussi intéressants à lire à partir de leur SRPM.
  • +
  • les personnes qui veulent localiser OOo devraient étudier +les patches + de Pavel Janik
  • +
+

10 FAQ (non fréquentes)

+Comme personne ne m'a jamais demandé cela, I just made them up to +astro-turf a bit (safer, wipe-clean, more durable questions).
+
+ 10.1 Pourquoi les branches comme +'mws_srx644' ont des nombres bizarre à l'intérieur
+En consultant des oracles variés, des entrailles, etc, il transpire +qu'en théorie ces nombres sont incrémentés chaque semaine, ils sont +freezés chaque semaine  ainsi que le solver et l'environnement de +développement. Cependant, dans un temps plus récent, le processus de +solidification d'une simple build pour une version plus large a pris +plus lontemps qu'une semaine créant un dilemne et un tag mixé +alphanumériquement. Le mws signifie 'Master Workspace'.
+
+ 10.2 Pourquoi la build nécessite +Java ?
+Essentiellement, il semble qu'il y a beaucoup de fichiers XML impliqués +dans l'enregistrement des composants et d'autres services divers. Il +apparaît qu'utiliser Java est juste une façon aisée de faire simplement +ces manipulations. Aussi Java peut-être utilisé gentiment pendant +l'exécution s'il est sur la machine.
+Mais à partir du tag SRC680_m44 il y a un script +python alternatif inclut pour remédier au probleme de process de +ces fichiers XML utilisés pour l'enregistrement, aussi, il est possible +de compiler des versions après cette date sans java, donc votre choix +variera suivant que la compilation par défaut se fait avec java.
+
+ 10.3 Pourquoi [t]csh est cassé ?
+C'est plutôt énigmatique, des cassages particulièrement curieux +semblent venir de la façon de piper les commandes dans stdin de façon +crucialement différente de la façon de les mettre dans tty aussi :
+
echo 'echo #define DLL_NAME "libsch641li.so" >./foo.hxx' | /bin/tcsh -s
+échoue à faire quoi que ce soit alors que taper la même chose dans le +shell fonctionne correctement. Encore plus bizarrement
+
tcsh -fc 'echo #define DLL_NAME "libsch641li.so" >./foo.hxx'
+fait les choses correctement. Voir aussi csh.
+
+ 10.4.1 Je viens juste d'essayer +de faire un re-locate de la compilation +pourquoi cela ne marche-t-il pas ?
+La réponse simple est : vous devez exécuter :
+
bin/relocate /path/to/new/build
+Un réponse plus complexe est :
+Bon, en assumant que vous avez re-configuré les choses +(LinuxIntelEnv.Set aura besoin de chemins modifiant aussi et +ré-important dans votre shell) ensuite cela dépend grandement des +chemins non relatifs ambigus, codés dans de nombreux fichiers +générés/compilés, particulièrement les fichiers (dépendant) '.dpc*' . +Essayez :
+
find -name '*.dpc*' -exec rm {} \;
+Le stlport fait vraiment des trucs cassés, vous aurez donc besoin +d'éditer le 'stl_gcc.h' à l'intérieur du solve/ et de replacer les deux +instances de chemins ici (voir inc/stl/config/stl_gcc.h)
+
+ 10.5 CVS dit 'Fatal error +aborting. [acc] no suche user', pourquoi ?
+Bien sûr il est possible que votre nom d'utilisateur ne soit pas +enregistré, souvent, cela signifie simplement que ~/.cvspass a été +perdu et/ou que vous ne vous êtes pas loggués dans cvs, logguez-vous et +répétez la commande.
+
+ 10.6 Que signifie '.pro' dans +'unxlngi4.pro'
+ Product, n'est-ce pas +évident ?
+
+ 10.7 A quoi ressemble vraiment +OpenOffice.org ?
+Aujourd'hui, j'ai trouvé une photographie de lui sur mon système, je +l'ai mise ici :
+
+
+ layers
+
+ 10.8 Comment puis-je prendre une +copie d'écran de OOo ?
+OOo fait des choses vraiment étranges avec les ressources X, ainsi des +applications habituels de copie d'écran n'arrive pas à prendre de +photos. ImageMagick 'import' fait cependant un bon travail.
+
import foo.png
+à partir de la console ou
+à la place. NB à moins que vous ne vouliez que vous souhaitiez votre +monde tout petit, vous devez afficher des grandes icônes de barre +d'outils d'abord.
+
+ 10.9 J'essaye de compiler avec +gcc sur un préfixe avec BUILD dedans, +pourquoi cela plante ?
+C'est dû à de très sérieux crack fumeux en cours dans stlport. +Essentiellement, il y  a des entêtes principales désagréables et +elles veullent être capable de retomber sur les entêtes précédents +(avec le même nom) - ainsi elles ont a coder le chemin en dur. Pour +éviter d'avoir à faire cela dans de multiples endroits, elles utilisent +un #define, le #define a une marcor expansion faite sur lui. Ainsi si +votre préfixe gcc contient un élément qui est une macro, vous êtes fait +:
+config de l'entête stlport :
+
#define _STLP_NATIVE_INCLUDE_PATH \
/home/michael/ximian-desktop/ooo/BUILD/ooo/include/c++/3.2.2
+stlport helpful macros: +
# define _STLP_MAKE_HEADER(path, header) <path/header>
# define _STLP_NATIVE_CPP_C_HEADER(header) \
_STLP_MAKE_HEADER(_STLP_NATIVE_INCLUDE_PATH,header)
+and finally stlport cunning native include: +
#include _STLP_NATIVE_CPP_C_HEADER(foo)
+

Net result:

+
      g++ ... -DBUILD=7663 ...
...
from /home/michael/ximian-desktop/ooo/BUILD/ooo/OOO_1_0_2/xml2cmp/source/xcd/main.cxx:62:
/home/michael/ximian-desktop/ooo/BUILD/ooo/OOO_1_0_2/solver/641/unxlngi4.pro/inc/stl/cstddef:35:46:
/home/michael/ximian-desktop/ooo/7663/ooo/include/c++/3.2.2/cstddef: No such file or directory
+ 10.10 A quoi sret la description +des composants UNO XML ?
+Pas grand chose, souvent installé, mais plutôt non utilisés
+
+ 10.11 Pourquoi le code est si +moche
+Les auteurs doivent utiliser un éditeur vraiment étrange. Il pense que +les tabs stops sont toutes les 4 colonnes. Evidemment le fichier +s'affiche mal dans les éditeurs Unix qui savent que le tab sont large +de 4 characteres.
+S'il vous arrive d'utiliser a Real Editor, nous +avons des lunettes roses à vous vendre. Collez le contenu de http://ooo.ximian.com/emacs.el +dans votre .emacs ou chargez le avec une ligne comme celle-ci : (load +"/path/to/that/file.el") . N'oubliez pas d'adapter +my-openoffice-path-regexp à vos besoins.
+

11. Travailler avec nous

+Voir le document About +ooo-build
+
+Traduction Sophie Gautier
+
+ Retour à l'index Labo
+
+
+

 

+ +

OpenOffice.org native tongue concept and francophone +project are built for you with pride by Guy Capra (Alomphega).
+This fr project is also led and maintained by Sophie Gautier.

+
+
+
+
+
+
+
+ + +
+ +
+
+


Powered by the Apache CMS.

+
+
+

+ Apache "OpenOffice.org" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. + Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and + decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is + not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has + yet to be fully endorsed by the ASF.

+

+ Contact Us | + Terms of Use +
Apache and the Apache feather logos are trademarks of The Apache Software Foundation. +
OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. +
Other names appearing on the site may be trademarks of their respective owners. +

+
+
+ + + Added: websites/staging/ooo-site/trunk/content/fr/Laboratory/howto_write_doc_format_ooo1.0.sxw ============================================================================== Binary file - no diff available. Propchange: websites/staging/ooo-site/trunk/content/fr/Laboratory/howto_write_doc_format_ooo1.0.sxw ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream