Téléchargement du code source avec Subversion

1.  Introduction

Le code source de LyX a été déplacé de Subversion à Git Git. Il reste cependant quelques éléments maintenus via Subversion. Vous pouvez en savoir beaucoup plus sur Subversion ou télécharger le code depuis la page d'accueil. Nous vous recommandons instamment de lire la documentation et la FAQ.

2.  Modules

Il y a deux modules actifs dans le dépôt Subversion courant :

lyx-devel
Ce dépôt contient le code source de LyX. Le développement de la prochaine version majeure se fait dans le tronc (trunk) et les versions de maintenance (mineures) se font dans les branches. La prochaine version stable à venir se trouve dans le plus récent des répertoires branches/BRANCH_X_X_X.
www-user
Ce dépôt contient une partie des pages www (www.lyx.org).

Bien qu'ils ne soient plus utilisés, ceux-ci sont conservés pour leur intérêt historique :

lyx-tests
Ce dépôt contient des fichiers .lyx variés qui peuvent être utiles pour le test.
lyx-1_0_x
Ceci est l'ancienne branche des publications stables. cette branche est définitivement inactive.
lyx
Ceci est l'ancienne branche de développement (instable), elle n'est plus utilisée.
www-devel
Ceci contenait les pages www des développeurs. Leur contenu a été fusionné dans le sous-répertoire devel de www-user
lyxdoc
La documentation pour LyX 1.3.x est conservée ici (dans la branche BRANCH_1_3_X) et rangée dans le répertoire doc avant la publication. Elle n'est plus utilisée pour le tronc principal, puisque la documentation a été déplacée dans le module lyx-devel.

3.  Navigateur des sources Trac

Lorsque vous utilisez SVN, vous pouvez télécharger un module entier à l'aide d'une seule commande. Si vous désirez consulter un seul fichier, vous pouvez utiliser le navigateur de sources Trac. Trac est une application qui permet, parmi d'autre fonctionnalités, de parcourir un dépôt SVN et d'afficher le différences entre versions, de consulter les fichiers journaux et autres.

Le navigateur de sources Trac pour le dépôt SVN de LyX est accessible depuis la page d'accueil de LyX. Cependant, vous souhaitez plutôt télécharger un module. Si c'est la cas, poursuivez la lecture.

4.  Connexion anonyme à SVN

Depuis le répertoire où vous souhaitez placer une copie locale des sources, exécutez 

 svn co svn://svn.lyx.org/lyx/lyx-devel/trunk lyx-devel

Ceci créera un répertoire lyx-devel et y téléchargera de nombreux fichiers: une copie neuve nécessitera environ 150MB;  cependant, en fonction de l'interface que vous compilerez, vous aurez besoin de beaucoup plus d'espace pour la version compilée, jusqu`à 800MB.

Naturellement vous pouvez demander svn co svn://svn.lyx.org/lyx/www-user/trunk www-user, en fonction du module que vous souhaitez télécharger.

5.  Après le premier téléchargement

Si le code à été mis à jour dans le dépôt, allez (cd) dans le répertoire lyx-devel et tapez:

 svn update

Ceci va comme par magie télécharger ou mettre à jour uniquement les fichiers qui ont été ajouts ou modifiés, économisant beaucoup de temps pour vous (et pour le serveur).

Si vous désirez seulement chercher ce qui a changé dans votre copie locale par rapport à celle du dépôt, tapez:

 svn status

Si vous désirez vérifier ce qui a changé sur le serveur, et qui n'a pas été mis à jour dans votre copie locale, tapez:

 svn status -u

6.  Compilation des sources

Suivez les instructions du fichier INSTALL, comme si vous aviez téléchargé un fichier d'archive tar d'une version stable. Dans ce dernier cas, il suffisait juste de taper les commandes ./configure, make, and sudo make install-strip.

Pour compiler et exécuter les modules en développement téléchargés depuis SVN, les choses sont un peu plus compliquées. Vous aurez besoin de automake, autoconf, et gettext, qui peuvent être téléchargés depuis votre site ftp GNU habituel (partez de gnu.org pour trouver un miroir) ou via le gestionnaire de paquets de votre OS. Une fois ces utilitaires installés, il suffit d'exécuter le script autogen.sh écrit par Allan Rae, qui va procéder dans le bon ordre avant de vous dire d'exécuter configure et make.

Pour éviter d'écraser la version stable de LyX en service, vous pouvez marquer l'installation par la référence précise de version en exécutant

 ./autogen.sh && ./configure --with-version-suffix && make 

À ce stade, src/lyx-X.X.Xsvn est utilisable, sans l'internationalisation ; pour cette dernière il faut effectuer l'installation

 sudo make install-strip

7.  Modification des sources

Nous encourageons fortement toute impulsion créatrice de votre part. Correction de bugs, documentation et nouvelles fonctionnalités seront toujours examinées avec soin, et seront acceptées sous réserves d'exceptions. Les nouvelles fonctionnalités seront rarement acceptées pour le version stable en cours.

Si vous désirez proposer de modifications, ce sera plus facile pour tous de modifier les derniers fichiers SVN plutôt que la version stable. Voici un bref aperçu des opérations à effectuer :

  • récupérer la dernière version du code source en exécutant svn update. Un patch applicable à des sources anciennes sera beaucoup plus difficile à appliquer, et donc très probablement ignoré ;
  • modifier les fichiers (soit en place, soit sur une copie à un autre emplacement avec copie ultérieure dans l'arborescence SVN) ;
  • exécuter svn diff > mypatch.diff pour créer un patch ;
  • envoyer le patch à la liste de messagerie des développeurs.

8.  Accès en écriture via ssh

Si vous en venez à créer de nombreuses modifications que l'équipe LyX intègre au code, vous pouvez vous voir accorder un accès SVN. Dans ce cas, votre vie peut être simplifiée. Au lieu de la procédure de login anonyme vue plus haut, vous pouvez télécharger les sources en exécutant :

 svn co svn://svn.lyx.org/lyx/lyx-devel/trunk lyx-devel

Ensuite vous exécutez simplement svn commit pour propager les modifications dans l'arborescence Subversion, au lieu de créer un patch et de l'envoyer par courrier électronique. La première fois, vous devrez fournir un nom d'utilisateur et un mot de passe, pour les sessions ultérieures Subversion les enregistre pour votre confort (ceci peut être inhibé sur demande).

Le contenu de la page d'accueil de LyX qui n'est pas en wiki (e.g. les Nouveautés et les Annonces) est aussi sous Subversion. Ce n'est sans doute pas la peine de les télécharger si vous n'avez pas l'autorisation en écriture, naturellement. Il est localisé dans le module www-user.

9.  Branches SVN

Le développement principal stable de LyX se fait dans les branches SVN. Si cela vous intéresse de contribuer au développement ou de tester les progrès dans ces branches, vous pouvez télécharger une copie par une commande du style

 svn co svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_2_0_X lyx-2.0.x 
Nom de la brancheMainteneurÉtatCommentaire
trunkPSandaunstableMain Branch
BRANCH_2_0_XRGHeckstableStable 2.0 series branch

Il y a également quelques branches anciennes devenues obsolètes:

Nom de la brancheMainteneurÉtatCommentaire
BRANCH_1_6_XJSpitzmstableStable 1.6 series branch
BRANCH_1_5_XJSpitzmstableBranche des versions stables 1.5
BRANCH_1_4_XJMarcstableBranche des versions stables 1.4
BRANCH_1_3_XJMarcstableBranche des versions stables 1.3
BRANCH-1_2_XJMarcstableBranche des versions stables 1.2
BRANCH_1_1_6JMarcstableStabilisation de 1.1.6