C'est la configuration recommandée si vous voulez indexer plusieurs projets. Contenu de cette page applicable avant la version 1.0. ATTENTION!
Si vous ajoutez des projets après la configuration initiale, il est prudent de lancer la commande suivante pour éviter d'effacer par inadvertance les bases de données existantes: $ rm ./custom.d/initdb.sh # avoid trouble
  1. Vous devez créer une base de données pour chaque arbre (ou projet)

    Une base de données LXR se définit soit comme une réelle base indépendante, soit comme un nouveau jeu de tables dans une base existante.

    1. Base indépendante C'est le cas par défaut si vous avez choisi l'option base de données "par arbre".

      La nouvelle base est définie par les paramètres 'dbname', 'dbuser' et 'dbpass'. 'dbprefix' peut garder sa valeur par défaut.

      Ce cas ne s'applique pas au moteur Oracle.

      Pour décrire un nouvel arbre avec sa propre base de données, lancez le script configure-lxr.pl avec l'option --add et répondez aux questions:

      $ configure-lxr.pl --add Your DB engine was: MySQL Advanced users can configure different DB engines for different trees. This is not recommended for average users. Use previous DB engine? [YES/no] > --- Virtual root? (e.g. /lxr/something) > /lxr/newtree --- Caption in page header? (e.g. Project XYZZY displayed by LXR) > Nouveau projet Do you want a speed switch button for this tree ? [YES/no] > n Do you need a specific encoding for this tree ? [yes/NO] > How is your tree stored? [FILES/>cvs/git/bitkeeper] > --- Source directory? (e.g. /home/myself/project-tree) > /home/myself/new_project Name to display for the path root? (e.g. Project or $v for version) [$v] > Label for version selection menu? [Version] > Version enumeration method? [LIST/file/function] > --- Version name? (hit return to stop) > 1.0 --- Version name? (hit return to stop) > --- Default displayed version is first in 'range'? [YES/no] > --- Directory to ignore, e.g. CVSROOT or .git? (hit return to stop) > --- Include directory, e.g. /include? (hit return to stop) > --- Database name? > new_project_DB Do you want to override the global 'lxr' user name? [yes/NO] > Do you want to override the global 'lxr_' table prefix? [yes/NO] > *** Configure another tree? [YES/no] > n

      La configuration consiste essentiellement à donner un nouveau nom de base de données.

    2. Nouveau jeu de tables C'est le cas par défaut si vous avez choisi l'option base de données "globale". Il peut aussi être utilisé avec l'option "par arbre" en spécifiant une base de données existante et un nouveau préfixe de tables.

      Les nouvelles tables reçoivent le préfixe défini par le paramètre 'dbprefix'. Les paramètres 'dbname', 'dbuser' et 'dbpass' conservent les mêmes valeurs que pour les autres arbres.

      Il est alors judicieux de les "factoriser" dans le groupe de paramètres global lors de la configuration initiale ou d'une optimisation manuelle de lxr.conf.

      Pour décrire un nouvel arbre avec des tables différentes, lancez le script configure-lxr.pl avec l'option --add et répondez aux questions:

      $ configure-lxr.pl --add Your DB engine was: MySQL Advanced users can configure different DB engines for different trees. This is not recommended for average users. Use previous DB engine? [YES/no] > --- Virtual root? (e.g. /lxr/something) > /lxr/newtree --- Caption in page header? (e.g. Project XYZZY displayed by LXR) > Nouveau projet Do you want a speed switch button for this tree ? [YES/no] > n Do you need a specific encoding for this tree ? [yes/NO] > How is your tree stored? [FILES/>cvs/git/bitkeeper] > --- Source directory? (e.g. /home/myself/project-tree) > /home/myself/new_project Name to display for the path root? (e.g. Project or $v for version) [$v] > Label for version selection menu? [Version] > Version enumeration method? [LIST/file/function] > --- Version name? (hit return to stop) > 1.0 --- Version name? (hit return to stop) > --- Default displayed version is first in 'range'? [YES/no] > --- Directory to ignore, e.g. CVSROOT or .git? (hit return to stop) > --- Include directory, e.g. /include? (hit return to stop) > --- Database name? > existing_project_DB Do you want to override the global 'lxr' user name? [yes/NO] > Do you want to override the global 'lxr_' table prefix? [yes/NO] > yes --- DB table prefix? [lxr_] > other_prefix_ *** Configure another tree? [YES/no] > n

      La configuration consiste essentiellement à donner un nom existant de base de données et un nouveau préfixe de table.

  2. Mettez à jour la configuration

    Copiez le fichier de configuration enrichi lxr.conf et créez physiquement la base de données:

    $ cp ./custom.d/lxr.conf . $ ./custom.d/initdb.sh
  3. Indexez vos arbres

    Lancez le script genxref pour chaque arbre (page v1.0).

    $ ./genxref --url=...