lxr-commits Mailing List for LXR Cross Referencer (Page 2)
Brought to you by:
ajlittoz
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(11) |
Sep
(13) |
Oct
(11) |
Nov
(19) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(11) |
Feb
(14) |
Mar
(10) |
Apr
|
May
|
Jun
|
Jul
(8) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2003 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
(2) |
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
(26) |
Jul
(83) |
Aug
(4) |
Sep
(4) |
Oct
(9) |
Nov
|
Dec
(17) |
2005 |
Jan
(1) |
Feb
(71) |
Mar
(1) |
Apr
(3) |
May
(9) |
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
(1) |
Nov
(6) |
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
(35) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
2007 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(30) |
Apr
(55) |
May
(28) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(5) |
2013 |
Jan
(35) |
Feb
|
Mar
(7) |
Apr
(12) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(32) |
Oct
|
Nov
(45) |
Dec
(18) |
2014 |
Jan
(9) |
Feb
|
Mar
(10) |
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(4) |
Dec
|
From: Andre-Littoz <ajl...@us...> - 2014-03-09 16:00:55
|
Update of /cvsroot/lxr/lxr/lib/LXR In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv12878/lib/LXR Modified Files: Lang.pm Log Message: Lang.pm: fix for bug #250 Depending on the Linux distribution, displaying a file from a Git repository may error out when annotations are requested. Caused by a missing library dependency on IO::Handle? *** This error could not be reproduced by the lead maintainer (under Fedora); the contributed fix is blindly applied *** *** If error persists, please report *** Index: Lang.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Lang.pm,v retrieving revision 1.53 retrieving revision 1.54 diff -u -d -r1.53 -r1.54 --- Lang.pm 8 Nov 2013 09:15:38 -0000 1.53 +++ Lang.pm 9 Mar 2014 16:00:52 -0000 1.54 @@ -39,6 +39,7 @@ use strict; use LXR::Common; +use IO::Handle; =head2 C<new ($pathname, $releaseid, @itag)> |
From: Andre-Littoz <ajl...@us...> - 2014-03-09 15:26:28
|
Update of /cvsroot/lxr/lxr/lib/LXR In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10722/lib/LXR Modified Files: Common.pm Template.pm Log Message: Common.pm, Template.pm, Lang/Generic.pm: minor adjustments to inline POD documentation Index: Common.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Common.pm,v retrieving revision 1.110 retrieving revision 1.111 diff -u -d -r1.110 -r1.111 --- Common.pm 4 Dec 2013 14:35:29 -0000 1.110 +++ Common.pm 9 Mar 2014 15:26:25 -0000 1.111 @@ -26,9 +26,7 @@ =over -=item - -I<It initially contained nearly all support routines +=item I<It initially contained nearly all support routines but for the "object" collections (files, index, lang), and was then correctly the "common" module. Its size grew beyond maintanability and readability and forced a @@ -198,7 +196,7 @@ =item I<The message may be emitted after the final closing -E<lt>/C<HTML>E<gt> tag if some regular HTML precedes the call +C<</HTMLE<gt>> tag if some regular HTML precedes the call to this subroutine. This is not HTML-compliant. Some browsers may complain.> Index: Template.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Template.pm,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- Template.pm 2 Dec 2013 17:00:48 -0000 1.29 +++ Template.pm 9 Mar 2014 15:26:25 -0000 1.30 @@ -180,7 +180,7 @@ Note, however, that if you are generating HTML you can use } or }. -B<Note:> +B<Notes:> =over @@ -245,14 +245,14 @@ =item 1 Normal verbose comments -The opening delimiter (C< E<lt>!-- >) MUST be followed by a spacer, +The opening delimiter (C<<!-- >) MUST be followed by a spacer, i.e. a space, tab or newline. -The closing delimiter (C< --E<gt> >) should also be preceded by a spacer. +The closing delimiter (C<--E<gt>>) should also be preceded by a spacer. These comments will be removed. =item 1 Sticky comments -The start delimiter (C< E<lt>!-- >) is immediately followed by a +The start delimiter (C<<!-->) is immediately followed by a significant character. These comments (most notably SSI commands) will be left in the expanded template. |
From: Andre-Littoz <ajl...@us...> - 2014-03-09 15:20:52
|
Update of /cvsroot/lxr/lxr In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10416 Modified Files: showconfig Log Message: showconfig: bad syntax for reference Line 86 in dumphash uses %h-> instead of $h-> where h is itself a reference. Index: showconfig =================================================================== RCS file: /cvsroot/lxr/lxr/showconfig,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- showconfig 8 Nov 2013 14:22:25 -0000 1.4 +++ showconfig 9 Mar 2014 15:20:48 -0000 1.5 @@ -83,7 +83,7 @@ # Compute left spaces in case we need to recurse $d =~ m/([^\n]*)$/s; my $indent = length($1); - my $v = %$h->{$k}; + my $v = $h->{$k}; if (ref($v) eq 'ARRAY') { $d .= '[ ' . join("\n".' 'x$indent.', ', @$v); if (1 < scalar(@$v)) { |
From: Andre-Littoz <ajl...@us...> - 2014-01-18 10:02:50
|
Update of /cvsroot/lxr/html/fr/Tips In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26025/fr/Tips Added Files: tipgrub2.shtml Log Message: */Tips/tipgrub2.shtml: new tip for GRUB2 source-tree configuration as an example of a simple 'maps' parameter --- NEW FILE: tipgrub2.shtml --- <!--#set var="pageLang" value="fr" --> <!--#set var="pageMetaTitle" value="Configuration de LXR pour GRUB2" --> <!--#set var="pageHeaderTitle" value="Configuration de LXR pour le chargeur GRUB2" --> <!--#set var="homePageHeader" value="0" --> <!--#include virtual="/backstore5/header.shtml" --> <!-- $Id: tipgrub2.shtml,v 1.1 2014/01/18 10:02:47 ajlittoz Exp $ --> <section> <p class="comment"> Pour bien comprendre cette astuce, lisez d'abord <a href="/<!--#echo var="langPrefix" -->LxrConf/lxrconfinclude.shtml">comment établir les chemins d'inclusion</a>, <a href="/<!--#echo var="langPrefix" -->LxrConf/lxrconfcondvars.shtml">comment définir des variables conditionnelles</a> et <a href="/<!--#echo var="langPrefix" -->LxrConf/lxrconfmaps.shtml">comment réécrire dynamiquement des chemins de fichier</a>. </p> <section> <h1>Liens d'inclusion habituels</h1> <p class="normal"> Le chargeur de démarrage GRUB2 a été porté sur de nombreuses architectures informatiques pour offrir un moyen uniforme de choisir et démarrer un OS. Toutefois, il n'existe qu'un arbre source englobant toutes les "machines" et "modes" possibles. </p> <p class="normal"> L'arbre source a une organisation plus simple que celui du noyau Linux, car le seul objectif est de démarrer la machine sans s'occuper de fonctions évoluées comme le <em>multi-threading</em>, le lancement de processus ou la synchronisation. </p> <p class="normal"> Mais, l'essentiel de l'initialisation matérielle doit être faite en assembleur et ce code ne peut pas être commun aux diverses architectures. Ceci amène "naturellement" à séparer les fichiers liés au matériel dans des sous-répertoires de presque tous les répertoires principaux. </p> <p class="normal"> Le répertoire <em>include/</em> contient à la fois les fichiers de définition <em>universels</em> et les fichiers spécifiques d'un matériel. Ces derniers sont rangés dans des sous-répertoires portant le nom de l'architecture. </p> <p class="normal"> Un fichier source typique commence par: </p> <pre class="example"> #include <grub/loader.h> #include <grub/command.h> #include <grub/multiboot.h> </pre> <p class="normal"> Comme on le voit, le répertoire <em>include/</em> est implicite. Son emplacement est passé au compilateur par une option. Nous devons donc imiter cela pour permettre la construction d'hyperlien sous les directives <code>#include</code>. C'est possible par le recours à un paramètre <code>'incprefix'</code> dans <em>lxr.conf</em>: </p> <div class="boxed"> <pre class="example"> , 'incprefix' => [ '/include' ] </pre> </div> <p class="comment"> <span class="caution">BUG!</span> Certains fichiers sont incorrectement rédigés et <code>grub/</code> manque dans l'argument de la directive <code>#include</code>. Pour obtenir quand même l'hyperlien, il suffit d'augmenter <code>'incprefix'</code> avec: </p> <pre class="example"> , 'incprefix' => [ '/include', '/include/grub' ] </pre> <p class="normal"> Des fichiers de définition globale résident aussi à la racine de l'arbre, comme <em>config.h</em>. Le paramètre <code>'incprefix'</code> complet devient: </p> <div class="boxed"> <pre class="example"> , 'incprefix' => [ '/include', '/', '/include/grub' ] </pre> </div> </section> <section> <h1>Liens d'architecture</h1> <p class="normal"> Les parties spécifiques d'un matériel sont rangées dans leur propre sous-répertoire (<em>i386/</em>, <em>ia64/</em>, <em>powerpc/</em>, <em>x86_64/</em>, …). But these parts are not directly <code>#include</code>d by the architecture-independent code. IMais, ces parties ne sont pas directement incluses par le code indépendant de l'architecture. Au lieu de cela, la directive est écrite <code>#include <grub/cpu/...></code> comme dans l'exemple suivant: </p> <pre class="example"> #include <grub/cpu/multiboot.h> #include <grub/cpu/relocator.h> </pre> <p class="normal"> Le répertoire abstrait <em>cpu/</em> est associé à un répertoire d'architecture réel par le système de gestion de configuration à travers la spécification d'une option au compilateur. Si nous sommes intéressés par l'architecture <em>mips</em>, nous ne pouvons pas modifier le <code>'incprefix'</code> ci-dessus car il faut substituer dynamiquement <code>mips</code> à <code>cpu</code>. </p> <p class="normal"> Cette réécriture est accomplie par la fonction <code>'maps'</code> avec substitution de variable. </p> <p class="normal"> D'abord, nous créons une variable dont la valeur sera l'architecture cible (ou plutôt, le nom du sous-répertoire pour l'architecture). Appelons-la <code>'a'</code> pour <em>architecture</em>: </p> <div class="boxed"> <pre class="example"> , 'variables' => { 'v' => { … } # Variable de version (obligatoire) , 'a' => { 'name' => 'Architecture' , 'range' => [ qw(i386 ia64 mips powerpc sparc64 x86_64) ] , 'default' => 'x86_64' } } </pre> <p class="comment"> Le contenu de <code>'range'</code> est déterminé d'après les noms des sous-répertoires dans <em>include/grub/</em>. Il y en a un nombre limité, ce n'est donc pas insurmontable. </p> </div> <p class="normal indent"> Quand LXR est lancé, cette variable est affichée dans l'en-tête de la page. Sélectionnez l'architecture cible et cliquez sur le bouton <em>Change</em> pour modifier la variable. </p> <p class="normal"> Ensuite, une règle de réécriture de chemin doit être appliquée juste avant le test d'existence du fichier avec la valeur de la variable en paramètre: </p> <div class="boxed"> <pre class="example"> , 'maps' => [ '^/include/grub/cpu/' => '/include/grub/$a/' ] </pre> </div> </section> <section> <h1>Liens d'environnement</h1> <p class="normal"> <em>GRUB2</em> peut être utiliser non seulement pour démarrer un matériel physique mais aussi une machine virtuelle ou un contexte multi-OS. Ceci introduit des variations subtiles dans le processus de démarrage. Ces variantes sont incluses avec des directives comme: </p> <pre class="example"> #include <grub/machine/memory.h> #include <grub/machine/kernel.h> </pre> <p class="normal"> Les fichiers de définition associés se trouvent dans un sous-répertoire du répertoire matériel spécifique. Il est facile de gérer le nouveau chemin virtuel avec une autre règle <code>'maps'</code>. </p> <p class="normal"> De nouveau, nous créons une variable dont la valeur sera l'environnement sélectionné (ou plutôt, le nom du sous-répertoire pour l'environnement). Appelons-la <code>'m'</code> pour <em>mode</em>: </p> <div class="boxed"> <pre class="example"> , 'variables' => { 'v' => { … } # Variable de version (obligatoire) , 'a' => { … } # Variable d'architecture , 'm' => { 'name' => 'Mode' , 'range' => [ qw(coreboot multiboot qemu pc) ] , 'default' => 'pc' } } </pre> <p class="comment"> Le contenu de <code>'range'</code> est encore renseigné d'après les noms des sous-répertoires dans <em>include/grub/</em>architecture<em>/</em>. </p> </div> <p class="normal"> La nouvelle règle de réécriture est aussi simple que la première: </p> <div class="boxed"> <pre class="example"> , 'maps' => [ … , '^/include/grub/machine/' => '/include/grub/$a/$m/' ] </pre> </div> </section> <section> <h1>Résumé</h1> <p class="normal"> Après configuration standard, le fichier <em>lxr.conf</em> n'a besoin d'être augmenté qu'en trois endroits: </p> <ul> <li class="normal">Définition de variable <div class="boxed"> <pre class="example"> , 'variables' => { 'v' => { … } # Variable de version (obligatoire) , 'a' => { 'name' => 'Architecture' , 'range' => [ qw(i386 ia64 mips powerpc sparc64 x86_64) ] , 'default' => 'x86_64' } , 'm' => { 'name' => 'Mode' , 'range' => [ qw(coreboot multiboot qemu pc) ] , 'default' => 'pc' } } </pre> </div> </li> <li class="normal">Répertoires à inclure <div class="boxed"> <pre class="example"> , 'incprefix' => [ '/include', '/', '/include/grub' ] </pre> </div> </li> <li class="normal">Règles de réécriture <div class="boxed"> <pre class="example"> , 'maps' => [ '^/include/grub/machine/' => '/include/grub/$a/$m/' , '^/include/grub/cpu/' => '/include/grub/$a/' ] </pre> </div> </li> </ul> </section> </section> <!--#include virtual="/backstore5/footer.shtml" --> |
From: Andre-Littoz <ajl...@us...> - 2014-01-18 10:00:07
|
Update of /cvsroot/lxr/html/en In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25664/en Modified Files: advancedconfig.shtml bugsandlimits.shtml newfeatures.shtml troubleshooting.shtml Log Message: en/: various minor fixes and adaptations Index: advancedconfig.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/advancedconfig.shtml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- advancedconfig.shtml 31 Dec 2013 17:49:09 -0000 1.5 +++ advancedconfig.shtml 18 Jan 2014 10:00:03 -0000 1.6 @@ -23,91 +23,91 @@ </p> </div> <h1>Main configuration file <em>lxr.conf</em></h1> - <ul> - <li><a href="LxrConf/lxrconfstruct.shtml"> + <ul> + <li><a href="LxrConf/lxrconfstruct.shtml"> Global architecture</a> of this file - <p class="comment"> + <p class="comment"> Reading highly recommended before other sub-topics - </p> - </li> - <li><a href="LxrConf/lxrconfglobparms.shtml"> + </p> + </li> + <li><a href="LxrConf/lxrconfglobparms.shtml"> Global parameters</a> - </li> - <li><a href="LxrConf/lxrconftreeparms.shtml"> + </li> + <li><a href="LxrConf/lxrconftreeparms.shtml"> Tree-specific parameters</a> - </li> - <li> + </li> + <li> Clarification on <a href="LxrConf/lxrconffilepaths.shtml">file paths</a> - <p class="comment"> + <p class="comment"> To be read carefully if you want to mix LXR within an englobing server - </p> - </li> - <li><a href="LxrConf/lxrconfmtsdb.shtml"> + </p> + </li> + <li><a href="LxrConf/lxrconfmtsdb.shtml"> Multiple projects, single database</a> - <p class="comment"> + <p class="comment"> Possible but not really recommended, can lead to indexing errors - </p> - </li> - <li><a href="LxrConf/lxrconfmtmdb.shtml">Multiple projects, multiple databases</a> - </li> - <li><a href="LxrConf/lxrconfoverride.shtml">Overriding global parameters</a> for a single tree - </li> - <li><a href="LxrConf/lxrconfexclude.shtml">Excluding subdirectories</a> from view - </li> - <li><a href="LxrConf/lxrconfexclude.shtml#excludeFiles">Excluding files</a> from view - <p class="comment"> + </p> + </li> + <li><a href="LxrConf/lxrconfmtmdb.shtml">Multiple projects, multiple databases</a> + </li> + <li><a href="LxrConf/lxrconfoverride.shtml">Overriding global parameters</a> for a single tree + </li> + <li><a href="LxrConf/lxrconfexclude.shtml">Excluding subdirectories</a> from view + </li> + <li><a href="LxrConf/lxrconfexclude.shtml#excludeFiles">Excluding files</a> from view + <p class="comment"> Not recommended unless you know what you're doing - </p> - </li> - <li><a href="LxrConf/lxrconfinclude.shtml">Setting include paths</a> - </li> - <li>Defining <a href="LxrConf/lxrconfmaps.shtml">rewrite rules for include paths</a></li> - <li><a href="LxrConf/lxrconfcondvars.shtml">Conditional variables</a></li> - <li><a href="LxrConf/lxrconfgraphics.shtml">Displaying graphics files</a></li> - <li>Using <a href="LxrConf/lxrconfcusticons.shtml">custom icons</a> in directory listing</li> - </ul> + </p> + </li> + <li><a href="LxrConf/lxrconfinclude.shtml">Setting include paths</a> + </li> + <li>Defining <a href="LxrConf/lxrconfmaps.shtml">rewrite rules for include paths</a></li> + <li><a href="LxrConf/lxrconfcondvars.shtml">Conditional variables</a></li> + <li><a href="LxrConf/lxrconfgraphics.shtml">Displaying graphics files</a></li> + <li>Using <a href="LxrConf/lxrconfcusticons.shtml">custom icons</a> in directory listing</li> + </ul> <h1>HTML styles definition file <em>lxr.css</em></h1> - <p class="comment"> -Refer to the User's Manual for the definition and usage + <p class="comment"> +Refer to the <cite>User's Manual</cite> for the definition and usage of the numerous styles. The file is organized to take advantage of <em>cascading</em>. Study carefully before making changes. - </p> + </p> <h1>Templates for pages composition <em>html-x.html</em></h1> - <ul> - <li><a href="Templ/templref.shtml">Reference from <em>lxr.conf</em></a> - </li> - <li><a href="Templ/templvar.shtml">Variants</a> - </li> - <li>Own templates - <p class="comment"> + <ul> + <li><a href="Templ/templref.shtml">Reference from <em>lxr.conf</em></a> + </li> + <li><a href="Templ/templvar.shtml">Variants</a> + </li> + <li>Own templates + <p class="comment"> Read carefully the <cite>User's Manual</cite> and study the examples shipping with each release - </p> - </li> - </ul> + </p> + </li> + </ul> <h1>Language definitions file <em>generic.conf</em></h1> - <span class="normal caution"> + <span class="normal caution"> Do not interfere with it unless you know what you are doing. - </span> - <ul> - <li><a href="GenConf/genericconfstruct.shtml">Global architecture</a> + </span> + <ul> + <li><a href="GenConf/genericconfstruct.shtml">Global architecture</a> of this file - <p class="comment"> + <p class="comment"> Reading highly recommended before other sub-topics - </p> - </li> - <li>Understanding a <a href="GenConf/genconflang.shtml">language description</a> - </li> - <li>Adding a new language - <p class="comment"> + </p> + </li> + <li>Understanding a <a href="GenConf/genconflang.shtml">language description</a> + </li> + <li>Adding a new language + <p class="comment"> Highly technical, to be provided later. - </p> - </li> - </ul> + </p> + </li> + </ul> </section> <!--#include virtual="/backstore5/footer.shtml" --> Index: bugsandlimits.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/bugsandlimits.shtml,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- bugsandlimits.shtml 31 Dec 2013 17:49:09 -0000 1.16 +++ bugsandlimits.shtml 18 Jan 2014 10:00:03 -0000 1.17 @@ -114,8 +114,8 @@ </li> <li>Git support <p class="normal"> -Not working at all. -The CPAN library module is broken. +<del>Not working at all. +The CPAN library module is broken.</del> </p> <p class="comment"> Fixed in release 1.0 Index: newfeatures.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/newfeatures.shtml,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- newfeatures.shtml 31 Dec 2013 17:49:09 -0000 1.16 +++ newfeatures.shtml 18 Jan 2014 10:00:03 -0000 1.17 @@ -25,6 +25,16 @@ now possible, avoiding the disturbing "blank screen" situation. </p> </li> + <li class="classics">Better error management + <p class="normal"> +<em>Browsing</em>: errors and warnings are now sent both to log file and screen, +thus reducing the need to retrieve them from the web server log files. + </p> + <p class="normal"> +<em>Configuration</em>: most user entries are checked against the expected format, +etecting early trivial errors or mispellings. + </p> + </li> <li class="classics">Experimental support of <strong>Nginx</strong>, <strong>Cherokee</strong> and <strong>thttpd</strong> web servers Index: troubleshooting.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/troubleshooting.shtml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- troubleshooting.shtml 31 Dec 2013 17:49:09 -0000 1.6 +++ troubleshooting.shtml 18 Jan 2014 10:00:03 -0000 1.7 @@ -1,94 +1,95 @@ <!--#set var="pageLang" value="en" --> <!--#set var="pageMetaTitle" value="LXR Troubleshooting" --> - <!--#set var="pageHeaderTitle" value="LXR Troubleshooting" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore5/header.shtml" --> - <p class=normal> +<!--#set var="pageHeaderTitle" value="LXR Troubleshooting" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<p class=normal> [...1188 lines suppressed...] - </p> - </dt> - <dd class="comment"> + </p> + </dt> + <dd class="comment"> The supported free-text search engines (<strong>glimpse</strong> and <strong>swish-e</strong>) know nothing about the format of the VCS repository. They only act on real files. If you are aware of an adequate open-source engine, please suggest its use to the developpers. - </dd> - </dl> - </section> - + </dd> + </dl> +</section> <!--#include virtual="/backstore5/footer.shtml" --> |
From: Andre-Littoz <ajl...@us...> - 2014-01-18 09:57:47
|
Update of /cvsroot/lxr/html/backstore5 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25487/backstore5 Modified Files: header.shtml Log Message: backstore5/header.shtml: prevent ISO-8859-x escape transformation on Unicode #echo-inserted string (use encoding=none) Index: header.shtml =================================================================== RCS file: /cvsroot/lxr/html/backstore5/header.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- header.shtml 31 Dec 2013 17:37:39 -0000 1.1 +++ header.shtml 18 Jan 2014 09:57:44 -0000 1.2 @@ -11,7 +11,7 @@ <html lang="<!--#echo var="pageLang" -->"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title><!--#echo var="pageMetaTitle" --></title> + <title><!--#echo encoding="none" var="pageMetaTitle" --></title> <link rel="stylesheet" type="text/css" href="/backstore5/LXRweb.css"> <link rel="icon" type="image/png" href="/backstore/LXRlogo2.png" sizes="140x90"> <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico" sizes="32x32"> |
From: Andre-Littoz <ajl...@us...> - 2014-01-18 09:54:21
|
Update of /cvsroot/lxr/html/prototype/1-0-InstallSteps In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25121/prototype/1-0-InstallSteps Modified Files: 1-0-install.shtml 1-0-install1tools.shtml 1-0-install2LXR.shtml 1-0-install3config.shtml 1-0-install4genxref.shtml 1-0-install5server.shtml 1-0-installNavbar.shtml Log Message: Switching to HTML5: directory prototype/ for translation in any language Index: 1-0-install.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/1-0-InstallSteps/1-0-install.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- 1-0-install.shtml 27 Aug 2012 07:50:49 -0000 1.2 +++ 1-0-install.shtml 18 Jan 2014 09:54:17 -0000 1.3 @@ -1,125 +1,100 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Installation Overview</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <meta name="keywords" - content="howto install LXR, how to install LXR, lxr install" - > - <meta name="description" - content="step by step guide to install LXR" - > -</head> - -<body> - <!--#set var="pageHeaderTitle" value="LXR 1.0+ Installation Instructions" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageMetaTitle" value="LXR 1.0 Installation Overview" --> +<!--#set var="pageHeaderTitle" value="LXR 1.0+ Installation Instructions" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="0" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="comment"> -This page covers installation instructions for <strong>LXR 1.0+</strong>. - </p> - <p class="comment"> -For 0.11 version, -read these <a href="/<!--#echo var="langPrefix" -->0-11-InstallSteps/0-11-install.shtml">instructions</a>; -for 0.9.x and 0.10.x, -see <a href="/<!--#echo var="langPrefix" -->InstallSteps/install.shtml">here</a>. -For prior versions, -consult the <strong>INSTALL</strong> -document that ships with each release. - </p> + <section class="instr"> + <p class="comment"> +This page covers installation instructions for <strong>LXR 1.0</strong> and higher. + </p> + <p class="comment"> +For earlier releases, +select the appropriate case from the +<a href="/<!--#echo var="langPrefix" -->index.shtml">home page</a>. + </p> - <p class="normal"> + <p class="normal"> To successfully install your copy of LXR, go through the following steps: - </p> - <ol> - <li> - <a href="1-0-install1tools.shtml" title="Install tools" rev="index"> + </p> + <ol> + <li> + <a href="1-0-install1tools.shtml" title="Install tools" rev="index"> Install the running environment - </a> - <p class="normal"> + </a> + <p class="normal"> Check and/or install all the required tools needed to run LXR - </p> - </li> - <li> - <a href="1-0-install2LXR.shtml" title="Install LXR itself"> + </p> + </li> + <li> + <a href="1-0-install2LXR.shtml" title="Install LXR itself"> Install LXR source - </a> - <p class="normal"> + </a> + <p class="normal"> Instructions to unpack and install the tarball downloaded from the site - </p> - </li> - <li> - <a href="1-0-install3config.shtml" title="Pre-configure your copy"> + </p> + </li> + <li> + <a href="1-0-install3config.shtml" title="Pre-configure your copy"> Configure LXR and database - </a> - <p class="normal"> + </a> + <p class="normal"> Create the master configuration file from a template and a database to store the cross-references. - </p> - <div class="boxed"> - <p class="normal"> + </p> + <div class="boxed"> + <p class="normal"> <span class="caution">CAUTION!</span> Directory containing user-customized data changed its name from <em>lxrconf.d/</em> to <em>custom.d/</em> between previous releases and release 1.0. - </p> - </div> - </li> - <li> - <a href="1-0-install4genxref.shtml" title="Populate database"> + </p> + </div> + </li> + <li> + <a href="1-0-install4genxref.shtml" title="Populate database"> Populate the database - </a> - <p class="normal"> + </a> + <p class="normal"> Load it with the data about your tree - </p> - </li> - <li> - <a href="1-0-install5server.shtml" title="Configure web server"> - Configure your web server - </a> - </li> - </ol> + </p> + </li> + <li> + <a href="1-0-install5server.shtml" title="Configure web server"> +Configure your web server + </a> + </li> + </ol> - <p class="normal"> + <p class="normal"> Once you've got LXR working on this simple case, you might consider customising its operation for your personal taste. Read the following: - </p> - <ul> - <li> - <a href="http://sourceforge.net/projects/lxr/files/doc/" title="Download"> -LXR User's Manual</a> - <br> - <p class="comment"> + </p> + <ul> + <li> + <a href="http://sourceforge.net/projects/lxr/files/doc/" title="Download"> +<cite>LXR User's Manual</cite></a> + <br> + <p class="comment"> Covers in depth all topics (usage, configuration, customisation, …). - </p> - </li> - <li> - <a href="/<!--#echo var="langPrefix" -->advancedconfig.shtml" title="Advanced config"> - Advanced configuration - </a> - <br> - <p class="comment"> + </p> + </li> + <li> + <a href="/<!--#echo var="langPrefix" -->advancedconfig.shtml" title="Advanced config"> +Advanced configuration + </a> + <br> + <p class="comment"> Tune LXR (multiple trees, customisation, etc.) - </p> - </li> - </ul> - </td> - </tr> -</table> - -<!--#include virtual="/backstore/footer.shtml" --> + </p> + </li> + </ul> + </section> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install1tools.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/1-0-InstallSteps/1-0-install1tools.shtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- 1-0-install1tools.shtml 23 Sep 2012 16:48:10 -0000 1.4 +++ 1-0-install1tools.shtml 18 Jan 2014 09:54:17 -0000 1.5 @@ -1,104 +1,89 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Tools Installation" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="nextPage" value="1-0-install2LXR.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Tools Installation</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Step 1: LXR Tools Installation" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Step 1: LXR Tools Installation" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="1" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal"> + <section class="instr"> + <p class="normal"> The current version of LXR depends on the software tools enumerated below. Instructions are given for Linux, but similar steps can be inferred for Windows or other OSes. - </p> - <p class="comment"> + </p> + <p class="comment"> In all cases, the preferred method of installation of these tools is a package download of your favourite distribution, so that you do not bother with compiling and configuring the tool, which may require expertise beyond the need of using LXR. - </p> - <p class="comment"> + </p> + <p class="comment"> If you really must compile and configure, refer to the appropriate documentation for installing each tool. There is usually a fairly automated procedure. - </p> - <ol> - <li>A <strong>Perl</strong> interpreter - <p class="normal"> + </p> + <ul> + <li>A <strong>Perl</strong> interpreter + <p class="normal"> Installed by default in nearly every distribution. - </p> - <p class="comment"> + </p> + <p class="comment"> Check it is version 5.10 or higher, because LXR relies on features introduced in this version. Type the following in a terminal: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>perl -v</kbd> <samp>This is perl 5, version 14, subversion 2 (v5.14.2) built for …</samp> </pre> - <p class="comment"> + <p class="comment"> If you can't upgrade to 5.10 (released in December 2007, so this is not really bleeding edge), install LXR 0.11.1 which is the last compatible version, but new features will not be available. - </p> - </li> - <li>A recent version of the <strong>exuberant ctags</strong> program - <p class="normal"> + </p> + </li> + <li>A recent version of the <strong>exuberant ctags</strong> program + <p class="normal"> Usually installed from a package of your distribution. As a last resort, it is available from <a href="http://ctags.sourceforge.net" - title="ctags Web Site">SourceForge</a>. - </p> - <p class="comment"> +title="ctags Web Site">SourceForge</a>. + </p> + <p class="comment"> For "recent", read version 5 or higher. Type this in a terminal: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>ctags --version</kbd> <samp>Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert …</samp> </pre> - <p class="comment"> + <p class="comment"> You can launch automatically these two tests once you have installed LXR and before you start the configuration step. See <a href="1-0-install2LXR.shtml#install2autotest" title="Install LXR"> next page</a>. - </p> - </li> - <li>A relational database - <p class="normal"> + </p> + </li> + <li>A relational database + <p class="normal"> <a href="http://www.mysql.com" title="MySQL Web Site">MySQL</a> 4.x/5.x, <a href="http://www.oracle.com" title="Oracle Web Site">Oracle</a>, <a href="http://www.postgresql.org" title="Postgresql Web Site"> - Postgresql</a> +Postgresql</a> and <a href="http://www.sqlite.org" title="SQLite Web Site">SQLite</a> are supported. You will also need the right <strong>Perl DBI</strong> drivers for your particular database, usually available from CPAN (if not in your distribution). - </p> - </li> - <li>A webserver - <p class="normal"> + </p> + </li> + <li>A webserver + <p class="normal"> <a href="http://httpd.apache.org" title="Apache Web Site"> Apache httpd</a> with @@ -106,61 +91,63 @@ mod_perl</a> is recommended. <a href="http://www.lighttpd.net" title="lighttpd Web Site">lighttpd</a> is an alternate choice. +Starting with <em>LXR 2.0</em>, +<a href="http://cherokee-project.com" title="Cherokee Web Site">Cherokee</a>, +<a href="http://nginx.org" title="Nginx Web Site">Nginx</a> and +<a href="http://www.acme.com/software/thttpd" title="thttpd Web Site">thttpd</a> +may also be used. All may be installed from a package. - </p> - </li> - <li>For free-text searching, either - <a href="http://glimpse.cs.arizona.edu" title="Glimpse Web Site"> - Glimpse</a> - or - <a href="http://swish-e.org" title="Swish-e Web Site"> - Swish-e</a> - version 2.1 or later - <p class="comment"> + </p> + </li> + <li>For free-text searching, either +<a href="http://glimpse.cs.arizona.edu" title="Glimpse Web Site"> + Glimpse</a> +or +<a href="http://swish-e.org" title="Swish-e Web Site"> + Swish-e</a> +version 2.1 or later + <p class="comment"> Swish-e is fully GPL'ed while Glimpse is only free for non-commercial use. Thus you have little chance to find it among your distribution packages, but installing it is quite automated. - </p> - <div class="normal"> + </p> + <div class="normal"> How do you choose between them? - <ul> - <li class="classics"> - <strong>Glimpse</strong> gives you access to the - <strong>line</strong> of the occurrence and can distinguish - multiple occurrences within a file. - </li> - <li class="classics"> - <strong>Swish-e</strong> gives you access to the - <strong>file</strong> containing occurrences, - merging all occurrences into a single reference. - But it can index CVS repositories - (through file copy, which cancels the size advantage of a CVS repository). - </li> - </ul> - </div> - </li> - <li>The Perl database driver interface <strong>DBI</strong> - and the relevant <strong>DBD</strong> driver for the database - you are using - <p class="comment"> + <ul> + <li class="classics"> +<strong>Glimpse</strong> gives you access to the +<strong>line</strong> of the occurrence and can distinguish +multiple occurrences within a file. + </li> + <li class="classics"> +<strong>Swish-e</strong> gives you access to the +<strong>file</strong> containing occurrences, +merging all occurrences into a single reference. +But it can index CVS repositories +(through file copy, which cancels the size advantage of a CVS repository). + </li> + </ul> + </div> + </li> + <li>The Perl database driver interface <strong>DBI</strong> + and the relevant <strong>DBD</strong> driver for the database + you are using + <p class="comment"> If they are not already installed, you can get them from CPAN. More info <a href="http://dbi.perl.org/index.html" title="Perl DBI Info"> here</a>. - </p> - </li> - <li>The Perl <strong>File::MMagic</strong> module - <p class="comment"> + </p> + </li> + <li>The Perl <strong>File::MMagic</strong> module + <p class="comment"> First, try package <em>perl-file-mmagic</em>. If that fails, available from CPAN. - </p> - </li> - </ol> - </td> - </tr> -</table> - + </p> + </li> + </ul> + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install2LXR.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/1-0-InstallSteps/1-0-install2LXR.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- 1-0-install2LXR.shtml 14 Sep 2012 07:41:26 -0000 1.2 +++ 1-0-install2LXR.shtml 18 Jan 2014 09:54:17 -0000 1.3 @@ -1,108 +1,92 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Core Installation" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install1tools.shtml" --> <!--#set var="nextPage" value="1-0-install3config.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Core Installation</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Step 2: LXR Core Installation" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Step 2: LXR Core Installation" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="2" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal"> + <section class="instr"> + <p class="normal"> Download the <a href="http://sourceforge.net/projects/lxr/files/stable/">LXR tarball</a> if you haven't already done that. - </p> - <ol> - <li>Decide where you want LXR installed. - <ul> - <li> - <p class="comment"> + </p> + <ol> + <li>Decide where you want LXR installed. + <ul> + <li> + <p class="comment"> If you just want to see how LXR behaves against your user-private tree, you might as well install LXR in your home directory at <code>~/lxr/</code>. - </p> - </li> - <li> - <p class="comment"> + </p> + </li> + <li> + <p class="comment"> If you want to offer LXR service system-wide, you must install it in a public directory. In this guide, we will use <code>/usr/local/share/lxr/</code>. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> Access to this directory may require <em>root</em> privilege. - </p> - </li> - </ul> - <p class="normal"> + </p> + </li> + </ul> + <p class="normal"> This directory will be called <em class="defn">LXR root directory</em>. - </p> - </li> - <li>Expand the tarball - <p class="comment"> + </p> + </li> + <li>Expand the tarball + <p class="comment"> We will suppose the tarball has been downloaded in your <code>Download</code> directory: - </p> - <ul> - <li>Private installation: + </p> + <ul> + <li>Private installation: <pre class="shell"> <samp>$ </samp><kbd>cd</kbd> <samp>$ </samp><kbd>tar -zxf ~/Download/lxr-x.y.z.tgz</kbd> </pre> - </li> - <li>System-wide installation: + </li> + <li>System-wide installation: <pre class="shell"> <samp>$ </samp><kbd>cd /usr/local/share</kbd> <samp>$ </samp><kbd>tar -zxf ~/Download/lxr-x.y.z.tgz</kbd> </pre> - </li> - </ul> - </li> - <li>Enter the LXR root directory - <p class="comment"> + </li> + </ul> + </li> + <li>Enter the LXR root directory + <p class="comment"> You might want to rename this directory to get rid of the release version in its name. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>mv lxr-x.y.z lxr</kbd> </pre> - <p class="comment"> + <p class="comment"> From the commands above, you are one level above the LXR directory. To enter: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cd lxr</kbd> </pre> - </li> - </ol> - <p class="normal" id="install2autotest"> + </li> + </ol> + <p class="normal" id="install2autotest"> The <a href="1-0-install1tools.shtml">tools installation page</a> mentioned version requirements for the auxiliary tools needed by LXR. Now that LXR has been copied, you can test them for <strong>Perl</strong> and <strong>ctags</strong> with: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --checkonly</kbd> <samp>ERROR: could not open configuration file lxr.conf @@ -120,30 +104,27 @@ swish-e not found, `command -v swish-e` returned a null string genxref stopped without indexing by --checkonly option</samp> </pre> - <ul> - <li class="comment"> + <ul> + <li class="comment"> Since LXR is not yet configured, you get various <em>Parameter </em>xxx<em> not defined</em> warnings. Ignore them. - </li> - <li class="comment"> + </li> + <li class="comment"> This command blindly checks the existence of both <strong>Glimpse</strong> and <strong>Swish-e</strong>. One of the tests should return a <em>not found</em> result. - </li> - <li class="comment"> + </li> + <li class="comment"> Read carefully the lines about the version levels and tool locations. - </li> - </ul> - <p class="normal"> + </li> + </ul> + <p class="normal"> You're done. You must now configure your copy. - </p> - </td> - </tr> -</table> - + </p> + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install3config.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/1-0-InstallSteps/1-0-install3config.shtml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- 1-0-install3config.shtml 14 Mar 2013 18:21:54 -0000 1.8 +++ 1-0-install3config.shtml 18 Jan 2014 09:54:17 -0000 1.9 @@ -1,138 +1,120 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Configuration" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install2LXR.shtml" --> <!--#set var="nextPage" value="1-0-install4genxref.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Configuration</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - - <!--#set var="pageHeaderTitle" value="Step 3: LXR and Database Configuration" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> - -<table> - <tr> - <td class="navbar"> - <!--#set var="installStep" value="3" --> - <!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal boxed"> +<!--#set var="pageHeaderTitle" value="Step 3: LXR and Database Configuration" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> +<!--#set var="installStep" value="3" --><!--#include virtual="1-0-installNavbar.shtml" --> + <section class="instr"> + <p class="normal boxed"> Instructions below are given for a <span class="caution">simple project tree</span>. The <span class="caution">Linux kernel</span> is a complex case if you want to enable all the hyperlink possibilities. Refer to this <a href="../Tips/tipkernel.shtml" title="Configuring for Linux kernel">tip</a> once you have setup LXR at least on an easy case. - </p> - <p class="comment"> + </p> + <p class="comment"> The heart of LXR configuration is a file named <em>lxr.conf</em> which MUST be located in the <em>LXR root directory</em>. - </p> - <p class="comment"> + </p> + <p class="comment"> Script <em>configure-lxr.pl</em> builds a tailored copy from a template located in the <em>templates/</em> subdirectory and stores it in the <em>custom.d/</em> directory. - </p> - <ul> - <li>Create both LXR and database configurations with script - <code>configure-lxr.pl</code> + </p> + <ol> + <li>Create both LXR and database configurations with script + <code>configure-lxr.pl</code> <pre class="shell"> <samp>$ </samp><kbd>./scripts/configure-lxr.pl -vv</kbd> </pre> - <p class="comment"> + <p class="comment"> This launches the configuration script with default options, <em>i.e.</em> output of <em>lxr.conf</em> configuration file and <em>init-db.sh</em> database creation script into <em>custom.d/</em> directory based on template <em>lxr.conf</em>. - </p> + </p> <pre class="shell"> <samp>*** LXR configurator (version: 1.0) *** LXR root directory is /home/myself/lxr Configuration will be stored in custom.d/</samp> </pre> - <p class="normal"> + <p class="normal"> The configuration script builds a custom <em>lxr.conf</em> file from the answers to a few questions. Default answer (the one selected when you just hit "return") is shown in uppercase. You do not need to fully write the selected choice, type enough characters to make the answer unambiguous. - </p> - <ul class="version"> - <li>Release 1.1 and higher - <p class="comment"> + </p> + <ul class="version"> + <li>Release 1.1 and higher + <p class="comment"> Since configuring the web server is a bit tricky, the following questions are intended to ease this task. - </p> + </p> <pre class="shell"> <samp>Configure for single/multiple trees? [S/m] ></samp> </pre> - <p class="normal caution"> + <p class="normal caution"> Important! This is the only choice which cannot be changed later because it configures the web server in a non trivial way. - </p> - <p class="normal"> + </p> + <p class="normal"> Answer <code>S</code> if you'll serve only a single tree for ever (if you change your mind about it, you'll have to start over from scratch, erasing the existing database). This is a perfect choice for a first trial. - </p> - <p class="normal"> + </p> + <p class="normal"> Answer <code>M</code> if you intend to add another tree some time in an undefined future. - </p> + </p> <pre class="shell"> <samp>Do you intend to add other trees later? [yes/NO] ></samp> </pre> - <p class="comment"> + <p class="comment"> This question offers the possibility to correct a mistake. Let's assume the default <code>S</code> choice was correct. - </p> - <p class="normal"> + </p> + <p class="normal"> Correctly managing the target tree in the URL means coding the URL in a specific way. The LXR design is to have LXR service designated after the host name, then the desired tree. - </p> - <p class="normal"> + </p> + <p class="normal"> If the only pages offered on the server come from LXR, service name (usually <code>/lxr</code>) can be omitted. - </p> - <p class="comment"> + </p> + <p class="comment"> This corresponds to the case of a site dedicated to LXR only (cases 1 and 3 below). - </p> - <p class="normal"> + </p> + <p class="normal"> In single tree context, there is no need to designate this unique tree. - </p> - <p class="comment"> + </p> + <p class="comment"> This suppresses later the question about the virtual root. - </p> + </p> <pre class="shell"> <samp>*** LXR web server configuration *** -LXR can be configured as the default server (the only service in your computer), -a section of this default server or an independent server (with its own -host name). +LXR can be configured as the default server +(the only service in your computer), +a section of this default server +or an independent server (with its own host name). Refer to the User's Manual for a description of the differences. Web server type? [1.DEFAULT /2.section in default @@ -140,177 +122,178 @@ /4.section in indepedent ] > </samp><kbd>2</kbd> </pre> - <p class="normal"> + <p class="normal"> Choose <code>1</code> (default answer) for the simplest case or <code>2</code> in order not to overwrite an existing local server. - </p> + </p> <pre class="shell"> <samp>The computer hosting the server is described by an URL. The form is scheme://host_name:port where: - - scheme is either http or https (http: can be omitted), - - host_name can be given as an IP address such as 123.45.67.89 - or a domain name like localhost or lxr.url.example, - - port may be omitted if standard for the scheme. +- scheme is either http or https (http: can be omitted), +- host_name can be given as an IP address such as 123.45.67.89 + or a domain name like localhost or lxr.url.example, +- port may be omitted if standard for the scheme. The following question asks for a primary URL. Later, you'll have the opportunity to give aliases to this primary URL. --- Host name or IP? [//localhost] ></samp> </pre> - <p class="normal"> + <p class="normal"> The default local server is usually <code>//localhost</code>, so just hit return. - </p> + </p> <pre class="shell"> <samp>URL section name for LXR in your server? [/lxr] ></samp> </pre> - <p class="normal"> + <p class="normal"> This is the name under which LXR service will be accessed through the URL. - </p> - <p class="comment"> + </p> + <p class="comment"> <span class="attention">CAUTION!</span><br> If you answer <code>/</code>, you revert to cases 1 or 3 without warning. This may cause serious malfunction in your existing web server. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> -<samp>The choice of the database engine can make a difference in indexing performance, -but resource consumption is also an important factor. - * For a small personal project, try SQLite which do not - need a server and is free from configuration burden. - * For medium to large projects, choice is between MySQL, - PostgreSQL and Oracle. - Oracle is not a free software, its interface has not been - tested for a long time. - * PostgreSQL databases are smaller than MySQL's - and performance is roughly equivalent. - * MySQL is at its best with marge-sized projects (such as kernel - cross-referencing) where it is fastest at the cost of bigger - databases. - * Take also in consideration the number of connected users.</samp> +<samp>The choice of the database engine can make a difference +in indexing performance, but resource consumption is also +an important factor. +* For a small personal project, try SQLite which do not +need a server and is free from configuration burden. +* For medium to large projects, choice is between MySQL, +PostgreSQL and Oracle. +Oracle is not a free software, its interface has not been +tested for a long time. +* PostgreSQL databases are smaller than MySQL's +and performance is roughly equivalent. +* MySQL is at its best with marge-sized projects (such as kernel +cross-referencing) where it is fastest at the cost of bigger +databases. +* Take also in consideration the number of connected users.</samp> <samp>Database engine? [MYSQL/oracle/postgres/sqlite] ></samp> </pre> - <p class="normal"> + <p class="normal"> Select the database engine according to your site policy or to its availability. - </p> - <ul class="version"> - <li>Release 1.0 + </p> + <ul class="version"> + <li>Release 1.0 <pre class="shell"> <samp>Configure for single/multiple trees? [S/m] ></samp> </pre> - <p class="normal caution"> + <p class="normal caution"> Important! This is the only choice which cannot be changed later because it configures the web server in a non trivial way. - </p> - <p class="normal"> + </p> + <p class="normal"> Answer <code>S</code> if you'll serve only a single tree for ever (if you change your mind about it, you'll have to start over from scratch, erasing the presently created database). This is a perfect choice for a first trial. - </p> - <p class="normal"> + </p> + <p class="normal"> Answer <code>M</code> if you intend to add another tree some time in an undefined future. - </p> + </p> <pre class="shell"> <samp>Do you intend to add other trees later? [yes/NO] ></samp> </pre> - <p class="comment"> + <p class="comment"> This question offers the possibility to correct a mistake. Let's assume the default <code>S</code> choice was correct. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>--- Directory for glimpse databases? ></samp><kbd>/home/myself/glimpse_DB</kbd> </pre> - <p class="normal"> + <p class="normal"> The configuration script detected the installed search engine and requests a directory for its auxiliary files. This directory will be created later by LXR if it does not exist. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> CAUTION! If you provide this directory yourself, make sure it is <em>"world-readable"</em>. - </p> + </p> <pre class="shell"> <samp>templates directory templates/ now protected read-only</samp> </pre> - <ul class="version"> - <li>Release 1.1 and higher + <ul class="version"> + <li>Release 1.1 and higher <pre class="shell"> <samp>Is your Apache version 2.4 or higher? [YES/no] ></samp> </pre> - <p class="normal"> + <p class="normal"> Since access controls changed between Apache 2.2 and 2.4, it is necessary to know which version is used on your computer to configure adequately Apache-related control files. - </p> - <p class="comment"> + </p> + <p class="comment"> Any answer is valid if you do not use Apache. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>file .htaccess written into LXR root directory file apache2-require.pl written into configuration directory file apache-lxrserver.conf written into configuration directory file lighttpd-lxrserver.conf written into configuration directory</samp> </pre> - <p class="comment"> + <p class="comment"> This concludes the general purpose configuration part. The script opens the master configuration file. - </p> + </p> <pre class="shell"> <samp>*** LXR master configuration file setup *** - Global section part +Global section part *** Configuring auxiliary tool paths *** Configuring host name or IP (as http://...)</samp> </pre> - <ul class="version"> - <li>Release 1.1 or higher + <ul class="version"> + <li>Release 1.1 or higher <pre class="shell"> <samp>*** Host name previously defined as //localhost</samp> </pre> - <p class="comment"> + <p class="comment"> This line echoes the hostname you defined during web server configuration above. - </p> - </li> - <li>Release 1.0 + </p> + </li> + <li>Release 1.0 <pre class="shell"> <samp>--- Host name? ></samp><kbd>//localhost</kbd> </pre> - <p class="normal"> + <p class="normal"> Give the primary host name. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>--- Alias name ? (hit return to stop) ></samp><kbd>//mycomputer.example.com</kbd> <samp>--- Alias name ? (hit return to stop) ></samp> </pre> - <p class="normal"> + <p class="normal"> Give as many aliases (eventually none) as you need. - </p> + </p> <pre class="shell"> <samp>*** Configuring HTML parameters</samp> </pre> - <ul class="version"> - <li>Release 1.1 or higher + <ul class="version"> + <li>Release 1.1 or higher <pre class="shell"> <samp>'Buttons-and-menus' interface is recommended for the kernel *** to avoid screen cluttering. --- Use 'buttons-and-menus' instead of 'link' interface? [YES/no] ></samp> </pre> - <p class="normal"> + <p class="normal"> <em>buttons-and-menus</em> interface offers a denser layout than the traditional <em>link</em> interface. It is highly recommended in situations where the source tree @@ -318,94 +301,97 @@ as is the case with the Linux kernel, where some kind of configuration control is implemented through many auxiliary LXR variables. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>*** Configuring file subsection *** Configuring "common factors" *** Marking tree section</samp> </pre> - <p class="comment"> + <p class="comment"> The tree-independent part is now configured. - </p> + </p> <pre class="shell"> <samp>*** LXR master configuration file setup *** - Tree section part - SQL script for database initialisation +Tree section part +SQL script for database initialisation *** Configuring LXR server parameters *** The virtual root is the fixed URL part after the hostname.</samp> </pre> - <ul class="version"> - <li>Release 1.1 or higher + <ul class="version"> + <li>Release 1.1 or higher <pre class="shell"> <samp>*** You previously defined the virtual root as /lxr</samp> </pre> - <p class="comment"> + <p class="comment"> This line echoes the virtual root implied or defined during web server configuration above. - </p> - </li> - <li>Release 1.0 + </p> + </li> + <li>Release 1.0 <pre class="shell"> <samp>--- Virtual root? (i.e. URL part after host) [/lxr] ></samp> </pre> - <p class="normal"> + <p class="normal"> The default answer builds an URL <code>http://localhost/lxr</code>. If you store your LXR server at the root of your site, to be accessed as <code>http://localhost</code>, the answer must be <code>/</code>, not an empty one (which would select the <code>/lxr</code> default). - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> -<samp>--- Caption in page header? (e.g. Project XYZZY displayed by LXR) ></samp><kbd>LXR first trial</kbd> +<samp>--- Caption in page header? +(e.g. Project XYZZY displayed by LXR) ></samp><kbd>LXR first trial</kbd> </pre> - <p class="normal"> + <p class="normal"> This defines the title in the header area of every page. - </p> + </p> <pre class="shell"> <samp>Do you need a specific encoding for this tree ? [yes/NO] ></samp> </pre> - <p class="normal"> + <p class="normal"> The default encoding is <code>UTF-8</code>. If your tree uses another encoding, answer <code>Y</code> and enter an IANA-registered encoding, such as <code>iso-8859-1</code>. - </p> + </p> <pre class="shell"> <samp>*** Describing tree location How is your tree stored? [FILES/cvs/git/subversion/bitkeeper] *** A source directory contains one sub-directory for every version.</samp> -<samp>--- Source directory? (e.g. /home/myself/project-tree) ></samp><kbd>/home/myself/my-project</kbd> +<samp>--- Source directory? +(e.g. /home/myself/project-tree) ></samp><kbd>/home/myself/my-project</kbd> </pre> - <p class="normal"> + <p class="normal"> Make your first trial on a tree composed of real files and directories (<em>i.e.</em> not stored in a VCS repository). Note that the path to the project directory is in <strong>OS-absolute</strong> form. - </p> - <p class="comment"> + </p> + <p class="comment"> <span class="caution">REMINDER!</span> LXR is aimed at browsing among different versions of a project. Consequently, it expects to find version directories in the designated source directory, such as <em>/home/myself/my-project/v1</em>, …, even if you have only one version. - </p> + </p> <pre class="shell"> -<samp>Name to display for the path root? (e.g. Project or $v for version) [$v] ></samp> +<samp>Name to display for the path root? +(e.g. Project or $v for version) [$v] ></samp> </pre> - <p class="normal"> + <p class="normal"> This is a replacement for the source directory part of a file path to be displayed in the page header. The default <code>$v</code> answer dynamically inserts the version name. - </p> + </p> <pre class="shell"> <samp>*** Enumerating versions -Label for version selection menu? [Version] +Label for version selection menu? [Version] *** Versions can be explicitly enumerated, be read from a file or computed *** by a function. The latter case is recommended for VCS-stored trees. Version enumeration method? [LIST/file/function] ></samp> @@ -415,31 +401,31 @@ *** a prefered version.</samp> <samp>--- Default displayed version is first in 'range'? [YES/no] ></samp> </pre> - <p class="normal"> + <p class="normal"> Tell LXR how many versions there are in the source directory. To stop version request, answer with an empty name (just hit "return"). - </p> - <p class="comment"> + </p> + <p class="comment"> <strong>Tip:</strong><br> To have the latest version displayed by default, list them in reverse chronological order, latest first, oldest last. - </p> + </p> <pre class="shell"> -<samp>*** Setting directory lists -*** Some directories may contain non-public project data (binaries, +<samp>*** Setting directory lists</samp> +<samp>*** Some directories may contain non-public project data (binaries, *** compilers caches, SCM control data, ...). They can be hidden from LXR. --- Directory to ignore, e.g. CVSROOT or .git? (hit return to stop) *** If your source code uses "include" statements (#include, require, ...) *** LXR needs hints to resolve the destination file. --- Include directory, e.g. /include? (hit return to stop) ></samp> </pre> - <p class="normal"> + <p class="normal"> Leave aside these questions for simple user source tree. They allow to "hide" some subdirectories from LXR and to resolve the <em>include</em> directives in the source. - </p> + </p> <pre class="shell"> <samp>*** Configuring data storage</samp> <samp>--- Database name? ></samp><kbd>lxr_myproject</kbd> @@ -450,48 +436,48 @@ <samp>configuration saved in custom.d/lxr.conf DB initialisation sript is custom.d/initdb.sh</samp> </pre> - <p class="normal"> + <p class="normal"> Give a name to the database according to your site rules. Anyway, it is a good idea to have it unique, unless you define this database as a specific set of tables in an existing one. In this case, give a unique table prefix instead of the default <code>lxr_</code>. - </p> - <p class="comment"> + </p> + <p class="comment"> The tree-specific part is now configured and you're done. - </p> - </li> - <li>Check the database environment - <p class="normal"> + </p> + </li> + <li>Check the database environment + <p class="normal"> The database initialisation script does its job under the master user (by default <code>root</code> for <strong>MySQL</strong> and <code>postgres</code> for <strong>PostgreSQL</strong>). If it has been changed on your computer, edit <em>initdb.sh</em>. - </p> - </li> - <li><a name="createdb">Create the database</a> - <p class="normal"> + </p> + </li> + <li>Create the database + <p class="normal"> Launch the script generated in the previous step. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./custom.d/initdb.sh</kbd> </pre> - <p class="comment"> + <p class="comment"> <strong>Note:</strong> Under <strong>MySQL</strong>, the master passsword is requested several times. - </p> - <p class="comment"> + </p> + <p class="comment"> Ignore the errors about inexistent objects (user, database, tables, …). This script proceeds by tentatively deleting the objects before creating them, so that it can be used anytime to restart in a consistent state. - </p> - <p class="comment caution"> + </p> + <p class="comment caution"> CAVEAT!<br> It is safer to delete this script as soon as it has been run since script <em>configure-lxr.pl</em> always adds at the end @@ -502,35 +488,32 @@ Failing to delete keeps all previous database creations. When the script is run again, new databases are created and older ones are recreated, thus losing their content. - </p> - </li> - <li>Copy <code>lxr.conf</code> to its final location - <p class="normal"> + </p> + </li> + <li>Copy <code>lxr.conf</code> to its final location + <p class="normal"> Eventually, manually tune the configuration parameters before the copy. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp custom.d/lxr.conf .</kbd> </pre> - <p class="comment"> + <p class="comment"> Use of <code>cp</code> instead of <code>mv</code> allows to add other trees later without reconfiguring everything. - </p> - </li> - </ul> - <div class="boxed"> - <p class="normal"> -For an example of parameter values -for the demo trees on SourceForge, -see <a href="/cgi-bin/showconfig">here</a>. </p> - </div> + </li> + </ol> + <div class="boxed"> <p class="normal"> - You're now ready to load the database with your data. +For an example of parameter values +for the demo trees on SourceForge, +see <a href="/demo/showconfig">here</a>. </p> - </td> - </tr> -</table> - + </div> + <p class="normal"> +You're now ready to load the database with your data. + </p> + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install4genxref.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/1-0-InstallSteps/1-0-install4genxref.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- 1-0-install4genxref.shtml 23 Sep 2012 16:48:10 -0000 1.3 +++ 1-0-install4genxref.shtml 18 Jan 2014 09:54:17 -0000 1.4 @@ -1,83 +1,75 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> +<!--#set var="pageMetaTitle" value="LXR 1.0 Populate Database" --> <!--#set var="pageLang" value="en" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install3config.shtml" --> <!--#set var="nextPage" value="1-0-install5server.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Populate Database</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Step 4: Populate LXR Database" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Step 4: Populate LXR Database" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="4" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal"> + <section class="instr"> + <p class="normal"> It is time to generate the index. This is a job for script <strong><code>genxref</code></strong>. -<code>genxref</code> is driven by two arguments: - </p> - <ul> - <li><code>--url=</code><em>URL_of_your_source_tree</em> - <p class="normal"> +<code>genxref</code> is driven by two or three arguments: + </p> + <ul> + <li><code>--url=</code><em>URL_of_your_source_tree</em> + <p class="normal"> The URL is made of a <code>'host_names'</code> followed by <code>'virtroot'</code>. <br> The purpose of this argument is to locate inside <em>lxr.conf</em> which tree to work on. - </p> - </li> - <li><code>--version=</code><em>name_of_version_to_index</em> - <p class="normal"> + </p> + </li> + <li><code>--version=</code><em>name_of_version_to_index</em> + <p class="normal"> This instructs <code>genxref</code> to index ONLY the designated version. It is interesting for trees with numerous versions to limit the time consumed in indexing when only one version was modified since last indexing. - </p> - <p class="comment"> + </p> + <p class="comment"> The version must match one defined in the <code>'range'</code> parameter. - </p> - </li> - </ul> - <p class="normal"> - With the previous configuration, this gives: - </p> + </p> + </li> + <li><code>--treename=</code><em>name_of_tree_to_index</em> + <p class="normal"> +<span class="comment">(Starting with LXR 2.0)</span> +This selects a tree if tree is designated through URL argument. + </li> + </ul> + <p class="normal"> +With the previous configuration, this gives: + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --url=http://localhost/lxr --version=v1</kbd> </pre> - <p class="normal caution"> - Depending on the size of your source, indexing may be very - lengthy. - If you intend to index the kernel tree, think of launching - <code>genxref</code> for at least an overnight job (YMMV). - Test before on a simple case if this is your first - installation. - </p> - <p class="comment"> + <p class="normal caution"> +Depending on the size of your source, indexing may be very +lengthy. +If you intend to index the kernel tree, think of launching +<code>genxref</code> for at least an overnight job (YMMV). +Test before on a simple case if this is your first +installation. + </p> + <p class="comment"> As an example, -indexing the single 3.1 kernel took 2 hours 39 minutes on a high-end computer +indexing the single 3.1 kernel with <em>LXR 1.0</em> took +2 hours 39 minutes on a high-end computer (Intel i5 3.3GHz processor and 4GB memory under Fedora 17, MySQL and Glimpse). - </p> - <p class="normal"> +This time drops slightly below one hour with <em>LXR 2.0</em> +on the same carefully tuned computer. + </p> + <p class="normal"> Before launching this time-consuming job, you have a last opportunity to check your configuration for trivial errors with argument <code>--checkonly</code>: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --url=http://localhost/lxr --version=v4 --checkonly</kbd> <samp>[ OK ] Perl version ... 5.14.2 @@ -89,21 +81,18 @@ genxref stopped without indexing by --checkonly option </samp> </pre> - <p class="comment"> + <p class="comment"> Of course, not all errors are found, but this test eliminates typo errors on critical parameters. - </p> - <p class="normal"> - You can also ask <code>genxref</code> to index every version - in your tree with argument <code>--allversions</code> as in: </p> + <p class="normal"> +You can also ask <code>genxref</code> to index every version +in your tree with argument <code>--allversions</code> as in: + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --url=http://localhost/lxr --allversions</kbd> </pre> - </td> - </tr> -</table> - + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install5server.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/1-0-InstallSteps/1-0-install5server.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- 1-0-install5server.shtml 23 Sep 2012 16:48:10 -0000 1.3 +++ 1-0-install5server.shtml 18 Jan 2014 09:54:17 -0000 1.4 @@ -1,37 +1,23 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> +<!--#set var="pageMetaTitle" value="LXR 1.0 Configure Web Server" --> <!--#set var="pageLang" value="en" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install4genxref.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 0.11 Configure Web Server</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Step 5: Configure the Web Server" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Step 5: Configure the Web Server" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="5" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class=instr> - <p class="normal"> + <section class=instr> + <p class="normal"> The last task is to configure your web server. Instructions below are given for <strong>Apache</strong> and <strong>lighttpd</strong> servers. - </p> - <ul> - <li><strong>Apache</strong> web server - <p class="comment"> +Read the <cite>User's Manual</cite> for other servers. + </p> + <ul> + <li><strong>Apache</strong> web server + <p class="comment"> The <a href="1-0-install3config.shtml">configuration step</a> created a <em>custom.d/apache-lxrserver.conf</em> to be copied into <em>/etc/httpd/conf.d/</em>. @@ -40,49 +26,49 @@ Whenever the server software is updated, all you have to do is store again this file in the <em>/etc/httpd/conf.d/</em> directory. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> Access to the <em>/etc/httpd/conf.d/</em> directory requires <em>root</em> privileges. - </p> - <p class="normal"> + </p> + <p class="normal"> Copy the file to the Apache configuration directory: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp custom.d/apache-lxrserver.conf /etc/httpd/conf.d</kbd> </pre> - <p class="comment"> + <p class="comment"> This file is valid both for <strong>Apache</strong> version <span class="attention">1.x</span> and version <span class="attention">2.x</span>. - </p> - <p class="normal"> + </p> + <p class="normal"> The "per-directory" configuration file <em>.htaccess</em> has been created by the pre-configuration step and is already stored in the LXR root directory. Edit it to enable directory listing or apply other personal preferences. - </p> - <ul> - <li>Apache version 1.x - <p class="normal"> + </p> + <ul> + <li>Apache version 1.x + <p class="normal"> <strong>mod_perl</strong> for Apache 1.x accesses only the system Perl library. Consequently, you must copy LXR private library there: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp -r lib/LXR/* /usr/lib/perl5/site_perl/</kbd> <samp>$ </samp><kbd>cp lib/Local.pm /usr/lib/perl5/site_perl/</kbd> </pre> - </li> - </ul> - <li><strong>lighttpd</strong> web server - <p class="comment"> + </li> + </ul> + <li><strong>lighttpd</strong> web server + <p class="comment"> Pre-configuration step created a <em>custom.d/lighttpd-lxrserver.conf</em> to be used as the configuration file basis for LXR. Review and edit this file. - </p> - <p class="normal"> + </p> + <p class="normal"> lighttpd operation is module-oriented: the needed modules must be loaded by the configuration file. A minimal set of modules is listed in file @@ -92,87 +78,84 @@ directory, edit it and change a directive in the configuration file. Scroll down to section <em>Load the modules</em> to check the <code>include</code> directive. - </p> + </p> <pre class="example"> include "/<em>LXR_root_directory</em>/custom.d/lighttpd-lxr-modules.conf" </pre> - <p class="normal"> - LXR-specific configuration is located at the end of the file in - <em>LXR section</em>. - </p> - <p class="normal"> - Uncomment <code>$HTTP</code> directive. - Duplicate it for as many host names you defined. - Replace string <code>host_name</code> by your host names. - Example: - </p> + <p class="normal"> +LXR-specific configuration is located at the end of the file in +<em>LXR section</em>. + </p> + <p class="normal"> +Uncomment <code>$HTTP</code> directive. +Duplicate it for as many host names you defined. +Replace string <code>host_name</code> by your host names. +Example: + </p> <pre class="example"> $HTTP["host"] == "192.168.1.1" { - server.document-root = "/usr/local/share/lxr/" +server.document-root = "/usr/local/share/lxr/" } </pre> - <p class="normal"> - Check the configuration file: - </p> + <p class="normal"> +Check the configuration file: + </p> <pre class="shell"> <samp>$ </samp><kbd>lighttpd -t -f custom.d/lighttpd-lxrserver.conf</kbd> </pre> - <p class="normal"> - Launch lighttpd web server. - </p> - <ul> - <li>for single user service + <p class="normal"> +Launch lighttpd web server. + </p> + <ul> + <li>for single user service <pre class="shell"> <samp>$ </samp><kbd>lighttpd -D -f custom.d/lighttpd-lxrserver.conf</kbd> </pre> - <p class="normal"> - Type ctl-C to stop lighttpd. - </p> - </li> - <li>for system-wide service - <span class="comment">(on a single line)</span> + <p class="normal"> +Type ctl-C to stop lighttpd. + </p> + </li> + <li>for system-wide service + <span class="comment">(on a single line)</span> <pre class="shell"> <samp>$ </samp><kbd>LIGHTTPD_CONF_PATH="/path/to/lxr/custom.d/lighttpd-lxrserver.conf" \ - ./scripts/lighttpd-init start</kbd> + ./scripts/lighttpd-init start</kbd> </pre> - <p class="normal"> - To stop lighttpd, type: - </p> + <p class="normal"> +To stop lighttpd, type: + </p> <pre class="shell"> <samp>$ </samp><kbd>./scripts/lighttpd-init stop</kbd> </pre> - </li> - </ul> - <p class="comment"> - If you already operate a lighttpd server, - merging LXR with global configuration is left to you as an exercice. - </p> - </li> - <li>In case you later encounter difficulties with SELinux - (security alerts related to the <em>LXR root directory</em>) - <p class="normal"> - Scripts and their directories must be specifically labeled to identify them - as executing code as a "normal" context. - This is routinely done - when they are located in <em>/var/www/cgi-bin/</em>. - To eliminate alerts, the most reliable method is to clone - <em>/var/www/cgi-bin/</em> context with the following command: - </p> + </li> + </ul> + <p class="comment"> +If you already operate a lighttpd server, +merging LXR with global configuration is left to you as an exercice. + </p> + </li> + <li>In case you later encounter difficulties with SELinux +(security alerts related to the <em>LXR root directory</em>) + <p class="normal"> +Scripts and their directories must be specifically labeled to identify them +as executing code as a "normal" context. +This is routinely done +when they are located in <em>/var/www/cgi-bin/</em>. +To eliminate alerts, the most reliable method is to clone + <em>/var/www/cgi-bin/</em> context with the following command: + </p> <pre class="shell"> $ <kbd>chcon --reference /var/www/cgi-bin -R LXR_root_directory/</kbd> </pre> - </li> - </ul> - - <p class="normal"> - Fire up your webbrowser and go to <code>http://localhost/lxr/source</code>. - You should see the content of the directory of the default version - for your tree. - </p> - </td> - </tr> -</table> + </li> + </ul> + <p class="normal"> +Fire up your webbrowser and go to <code>http://localhost/lxr/source</code>. +You should see the content of the directory of the default version +for your tree. + </p> + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-installNavbar.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/1-0-InstallSteps/1-0-installNavbar.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- 1-0-installNavbar.shtml 27 Aug 2012 07:50:49 -0000 1.2 +++ 1-0-installNavbar.shtml 18 Jan 2014 09:54:17 -00... [truncated message content] |
From: Andre-Littoz <ajl...@us...> - 2014-01-18 09:54:20
|
Update of /cvsroot/lxr/html/prototype In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25121/prototype Modified Files: advancedconfig.shtml bugsandlimits.shtml index.shtml installNavBtn.shtml logos.shtml newfeatures.shtml numbering.shtml styles.shtml troubleshooting.shtml Log Message: Switching to HTML5: directory prototype/ for translation in any language Index: advancedconfig.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/advancedconfig.shtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- advancedconfig.shtml 3 Nov 2012 21:07:08 -0000 1.4 +++ advancedconfig.shtml 18 Jan 2014 09:54:16 -0000 1.5 @@ -1,130 +1,113 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Advanced Configuration</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="LXR Advanced Configuration" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR Advanced Configuration" --> +<!--#set var="pageHeaderTitle" value="LXR Advanced Configuration" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> -LXR operation is driven from 4 sources: +LXR operation is driven from 4 sources. +Customisable configuration files are located in the <em>templates/</em> directory. +However, +<em>generic.conf</em> is in the <em>lib/LXR/Lang/</em> directory, +next to the <em>Generic.pm</em> driver. </p> - <ol> - <li>main configuration file <em>lxr.conf</em> - <ul> - <li><a href="LxrConf/lxrconfstruct.shtml"> - Global architecture</a> - of this file - <p class="comment"> - Reading highly recommended before other sub-topics - </p> - </li> - <li><a href="LxrConf/lxrconfglobparms.shtml"> - Global parameters</a> - </li> - <li><a href="LxrConf/lxrconftreeparms.shtml"> - Tree-specific parameters</a> - </li> - <li> - Clarification on - <a href="LxrConf/lxrconffilepaths.shtml">file paths</a> - <p class="comment"> - To be read carefully - if you want to mix LXR within an englobing server - </p> - </li> - <li><a href="LxrConf/lxrconfmtsdb.shtml"> - Multiple projects, single database</a> - <p class="comment"> - Possible but not really recommended, - can lead to indexing errors - </p> - </li> - <li><a href="LxrConf/lxrconfmtmdb.shtml">Multiple projects, multiple databases</a> - </li> - <li><a href="LxrConf/lxrconfoverride.shtml">Overriding global parameters</a> for a single tree - </li> - <li><a href="LxrConf/lxrconfexclude.shtml">Excluding subdirectories</a> from view - </li> - <li><a href="LxrConf/lxrconfexclude.shtml#excludeFiles">Excluding files</a> from view - <p class="comment"> -Not recommended unless you know what you're doing - </p> - </li> - <li><a href="LxrConf/lxrconfinclude.shtml">Setting include paths</a> - </li> - <li>Defining <a href="LxrConf/lxrconfmaps.shtml">rewrite rules for include paths</a></li> - <li><a href="LxrConf/lxrconfcondvars.shtml">Conditional variables</a></li> - <li><a href="LxrConf/lxrconfgraphics.shtml">Displaying graphics files</a></li> - <li>Using <a href="LxrConf/lxrconfcusticons.shtml">custom icons</a> in directory listing</li> - </ul> + <div class="boxed"> + <p class="comment"> + <span class="caution">Remember the golden rule:</span> +always copy ANY template to <em>custom.d/</em> directory +(<em>lxrconf.d/</em> in releases 0.11, +LXR root directory in older releases) +before editing it. +Then update its location in <em>lxr.conf</em>. + </p> + </div> + <h1>Main configuration file <em>lxr.conf</em></h1> + <ul> + <li><a href="LxrConf/lxrconfstruct.shtml"> +Global architecture</a> +of this file + <p class="comment"> +Reading highly recommended before other sub-topics + </p> </li> - <li>HTML styles definition file <em>lxr.css</em> + <li><a href="LxrConf/lxrconfglobparms.shtml"> +Global parameters</a> + </li> + <li><a href="LxrConf/lxrconftreeparms.shtml"> +Tree-specific parameters</a> + </li> + <li> +Clarification on +<a href="LxrConf/lxrconffilepaths.shtml">file paths</a> <p class="comment"> -Refer to the User's Manual for the definition and usage +To be read carefully +if you want to mix LXR within an englobing server + </p> + </li> + <li><a href="LxrConf/lxrconfmtsdb.shtml"> +Multiple projects, single database</a> + <p class="comment"> +Possible but not really recommended, +can lead to indexing errors + </p> + </li> + <li><a href="LxrConf/lxrconfmtmdb.shtml">Multiple projects, multiple databases</a> + </li> + <li><a href="LxrConf/lxrconfoverride.shtml">Overriding global parameters</a> for a single tree + </li> + <li><a href="LxrConf/lxrconfexclude.shtml">Excluding subdirectories</a> from view + </li> + <li><a href="LxrConf/lxrconfexclude.shtml#excludeFiles">Excluding files</a> from view + <p class="comment"> +Not recommended unless you know what you're doing + </p> + </li> + <li><a href="LxrConf/lxrconfinclude.shtml">Setting include paths</a> + </li> + <li>Defining <a href="LxrConf/lxrconfmaps.shtml">rewrite rules for include paths</a></li> + <li><a href="LxrConf/lxrconfcondvars.shtml">Conditional variables</a></li> + <li><a href="LxrConf/lxrconfgraphics.shtml">Displaying graphics files</a></li> + <li>Using <a href="LxrConf/lxrconfcusticons.shtml">custom icons</a> in directory listing</li> + </ul> + <h1>HTML styles definition file <em>lxr.css</em></h1> + <p class="comment"> +Refer to the <cite>User's Manual</cite> for the definition and usage of the numerous styles. The file is organized to take advantage of <em>cascading</em>. Study carefully before making changes. - </p> + </p> + <h1>Templates for pages composition <em>html-x.html</em></h1> + <ul> + <li><a href="Templ/templref.shtml">Reference from <em>lxr.conf</em></a> </li> - <li>templates for pages composition <em>html-x.html</em> - <ul> - <li><a href="Templ/templref.shtml">Reference from <em>lxr.conf</em></a> - </li> - <li><a href="Templ/templvar.shtml">Variants</a> - </li> - <li>Own templates - <p class="comment"> -Read carefully the User's Manual and study the + <li><a href="Templ/templvar.shtml">Variants</a> + </li> + <li>Own templates + <p class="comment"> +Read carefully the <cite>User's Manual</cite> and study the examples shipping with each release - </p> - </li> - </ul> + </p> </li> - <li>language definitions file <em>generic.conf</em> - <span class="normal caution"> - (do not interfere with it unless you know what you are doing) - </span> - <ul> - <li><a href="GenConf/genericconfstruct.shtml">Global architecture</a> - of this file - <p class="comment"> + </ul> + <h1>Language definitions file <em>generic.conf</em></h1> + <span class="normal caution"> +Do not interfere with it unless you know what you are doing. + </span> + <ul> + <li><a href="GenConf/genericconfstruct.shtml">Global architecture</a> +of this file + <p class="comment"> Reading highly recommended before other sub-topics - </p> - </li> - <li>Understanding a <a href="GenConf/genconflang.shtml">language description</a> - </li> - <li>Adding a new language - <p class="comment"> -highly technical, to be provided later - </p> - </li> - </ul> + </p> </li> - </ol> - <p class="normal"> -They are located in the <em>templates/</em> directory. - </p> - <p class="comment"> -Up to release 0.10, <em>generic.conf</em> was in the <em>lib/LXR/Lang</em> directory. - </p> - <div class="boxed"> - <p class="comment"> -<span class="caution">Remember the golden rule:</span> -always copy ANY template to <em>custom.d/</em> directory -(<em>lxrconf.d/</em> in releases 0.11, -LXR root directory in older releases) -before editing it. -Then update its location in <em>lxr.conf</em>. - </p> - </div> - -<!--#include virtual="/backstore/footer.shtml" --> + <li>Understanding a <a href="GenConf/genconflang.shtml">language description</a> + </li> + <li>Adding a new language + <p class="comment"> +Highly technical, to be provided later. + </p> + </li> + </ul> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: bugsandlimits.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/bugsandlimits.shtml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- bugsandlimits.shtml 7 Nov 2013 16:17:53 -0000 1.15 +++ bugsandlimits.shtml 18 Jan 2014 09:54:17 -0000 1.16 @@ -1,181 +1,206 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Known Bugs and Limitations in LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Known Bugs and Limitations in LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> - <p class="comment"> +<!--#set var="pageMetaTitle" value="Known Bugs and Limitations in LXR" --> +<!--#set var="pageHeaderTitle" value="Known Bugs and Limitations in LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<p class="comment"> The following list does not pretend to be exhaustive. It is intended to give some information in current work direction. - </p> - <h2>Known bugs</h2> - <ul> - <li>Ubuntu - <ul> - <li>Apache web server - <p class="normal"> +</p> +<section> + <h1>Known bugs</h1> + <ul> + <li>Ubuntu + <ul> + <li>Apache web server + <p class="normal"> A configuration file is dependent upon <em>mod_version</em> Apache module but Ubuntu Apache (reported at least for Ubuntu 12.04 LTS) does not load the module by default. + <p class="comment"> To enable it run the following command: - </p> + </p> <pre class="shell"> $ <kbd>sudo a2enmod version</kbd> </pre> - <p class="normal"> + <p class="comment"> and restart the server. - </p> - </li> - <li>Templates not found (weird screen) - <p class="normal"> + </p> + </li> + <li>Templates not found (weird screen) + <p class="normal"> When LXR scripts are launched, the current working directory is not set to the <em>LXR root directory</em>. OS-relative file paths in <em>lxr.conf</em> cannot be correctly resolved. - </p> - <p class="normal"> + </p> + <p class="normal"> To fix the problem, edit <em>custom.d/lxr.conf</em>, "HTML subsection", and add the OS-absolute path of the LXR root directory in front of all HTML template designations. When done, copy the modified file to its final destination as usual. - </p> - <p class="comment caution"> + </p> + <p class="comment caution"> DO NOT CHANGE parameters <code>'stylesheet'</code> and <code>'alternate_stylesheet'</code> which are not file paths but HTML references. - </p> - <p class="comment"> + </p> + <p class="comment"> +Fixed in release 2.0.0. This bug may also be Apache specific. - </p> - </li> - </ul> - </li> - <li>Release 1.1.0 - <ul> - <li class="normal"> -Java parser incompletely handles <code>import</code> statement - <p class="normal"> -If your Java code contains <code>import static</code> statements, -the parser fails on <code>static</code> keyword -and enters an endless loop -which freezes the screen on the previous line. - </p> - <p class="comment"> -This bug will be corrected soon in release <del>1.1.1</del> -<ins>1.2.0</ins>. -If it is a serious concern for you, -look at the -<a href="http://sourceforge.net/p/lxr/bugs/">LXR bugs page</a>. -Comment for bug #231 contains a patch for release 1.1.0. - </p> - </li> - <li class="normal">HTML parser may loop endlessly - <p class="comment"> -Bug also present in release 1.0.0 - </p> - <p class="normal"> -When trying to hyperlink <code><A></code> or <code><IMG></code> elements, -the generic-based HTML parser may fail and not recover, -leading to an endless loop. -It is also not protected against "external" URI -(such as <code>http://…</code>) -where the double slash is taken for an empty file path. - </p> - </li> - <li class="normal">Depending on Perl interpreter, -identifier search may error out - <p class="normal"> -Two lines (419 and 485) in <em>ident</em> use relaxed Perl syntax -instead of "bullet-proof" code. -Comment for bug #233 contains a patch. - </p> - </li> - </ul> - </li> - <li>MySQL - <ul> - <li class="normal"> + </p> + </li> + </ul> + </li> + <li>MySQL + <ul> + <li class="normal"> Default storage engine - <p class="normal"> + <p class="normal"> As of MySQL 5.5.5, default storage engine changed from <strong>MyISAM</strong> to <strong>InnoDB</strong>. Despite an improvement in transaction reliability, performance has drastically degraded: indexing by <em>genxref</em> is now twice as long. - </p> - <p class="comment"> + </p> + <p class="comment"> Release 1.0 explicitly requests the <strong>MyISAM</strong> storage engine. - </p> - </li> - </ul> - </li> - <li>PostgreSQL - <ul> - <li class="normal"> + </p> + </li> + </ul> + </li> + <li>PostgreSQL + <ul> + <li class="normal"> Connection method - <p class="normal"> + <p class="normal"> PostgreSQL offers several methods to connect to a database. The default one use Unix-domain sockets. Under some circumstances, the Perl DB library may fail to access the LXR database. The work-around is to request explicitly the TCP access method in the <code>'dbname'</code> configuration parameter by adding: - </p> + </p> <pre class="example"> ;host=localhost </pre> - <p class="comment"> + <p class="comment"> Release 1.0 is changed to use the TCP access method. If Unix domain sockets work for you, remove the <code>host=</code> sub-parameter. - </p> - </li> - </ul> - </li> - <li>Releases 0.11.x - <ul> - <li class="normal"> + </p> + </li> + </ul> + </li> + <li>Supported languages + <p class="normal"> +Many language descriptions are faulty or, at best, incomplete. +Only <strong>C</strong>, <strong>C++</strong> and <strong>Perl</strong> +can be considered reliable. + </p> + <p class="comment"> +The present maintainer does not master all languages. +Do not hesitate to submit bugs. + </p> + </li> + <li>Identifiers not highlighted + <p class="normal"> +This is not really an LXR bug. +<strong>ctags</strong> uses elementary parsers for secondary +languages (read: not C nor C++). +These parsers do not implement complete language grammar. + </p> + </li> + <li>Git support + <p class="normal"> +<del>Not working at all. +The CPAN library module is broken.</del> + </p> + <p class="comment"> +Fixed in release 1.0 + </p> + </li> + <li>Release 1.1.0 + <ul> + <li class="normal"> +Java parser incompletely handles <code>import</code> statement + <p class="normal"> +If your Java code contains <code>import static</code> statements, +the parser fails on <code>static</code> keyword +and enters an endless loop +which freezes the screen on the previous line. + </p> + <p class="comment"> +Fixed in release 1.2.0. + </p> + </li> + <li class="normal">HTML parser may loop endlessly + <p class="comment"> +Bug also present in release 1.0.0 + </p> + <p class="normal"> +When trying to hyperlink <code><A></code> or <code><IMG></code> elements, +the generic-based HTML parser may fail and not recover, +leading to an endless loop. +It is also not protected against "external" URI +(such as <code>http://…</code>) +where the double slash is taken for an empty file path. + </p> + <p class="comment"> +Fixed in release 1.2.0 through implementation of a dedicated parser. + </p> + </li> + <li class="normal">Depending on Perl interpreter, +identifier search may error out + <p class="normal"> +Two lines (419 and 485) in <em>ident</em> use relaxed Perl syntax +instead of "bullet-proof" code. +Comment for bug #233 contains a patch. + </p> + <p class="comment"> +Fixed in release 1.2.0. + </p> + </li> + </ul> + </li> + <li>Releases 0.11.x + <p class="comment caution"> +These releases are deprecated. + </p> + <ul> + <li class="normal"> <em>genxref</em> script for <strong>swish-e</strong> users - <p class="normal"> + <p class="normal"> A clumsy typo was left at line 240, which should read: - </p> + </p> <pre class="example"> $toolloc = `which swish-e 2>/dev/null`; </pre> - <p class="normal"> + <p class="normal"> i.e. remove the extraneous "h". - </p> - <p class="comment"> + </p> + <p class="comment"> This typo prevents detection of the <em>swish-e</em> engine when it has been installed in a "standard" location. - </p> - <p class="normal"> + </p> + <p class="normal"> A space is also missing at line 518, which should read: - </p> + </p> <pre class="example"> - . " -f ".$config->swhishdir."/".$releaseid.".index" + . " -f ".$config->swhishdir."/".$releaseid.".index" </pre> - <p class="comment"> + <p class="comment"> The <code>-f</code> is catenated to the directory name, giving a non-existent directory and leading to incorrect parsing of the rest of the arguments. The command then always fails and the search database is not initialised. - </p> - </li> - <li class="normal"> + </p> + </li> + <li class="normal"> New <em>initial-config.sh</em> script erroneously leaves <em>templates/</em> directory with <code>r--r--r--</code> permissions preventing any access to it. @@ -183,26 +208,26 @@ <pre class="shell"> <samp>$ </samp><kbd>chmod -R a+x templates/</kbd> </pre> - <p class="normal"> + <p class="normal"> After any copy from <em>templates/</em> directory, fix file permissions to allow write/update: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp templates/<em>some_file</em> lxrconf.d/</kbd> <samp>$ </samp><kbd>chmod u=rwx lxrconf.d/<em>some_file</em></kbd> </pre> - <p class="comment"> + <p class="comment"> Note: this is not a <em>bug</em> but a consequence of the "read-only" state of <em>templates/</em> directory. - </p> - </li> - <li class="normal"> + </p> + </li> + <li class="normal"> In <em>lxr.conf</em>, parameter <code>'stylesheet'</code> is defined as <code>'templates<strong>/html</strong>/lxr.css'</code> instead of <code>'<strong>/</strong>templates/lxr.css'</code>. - </li> - <li class="normal"> + </li> + <li class="normal"> Under some Linux distributions, in single tree context (the most frequent case), <strong>Apache</strong> does not access the LXR root directory @@ -211,207 +236,187 @@ directive (line 28) of file <em>templates/Apache/apache-lxrserver.conf</em> to read: <pre class="example"> - Alias /lxr "<em>your_LXR_root_directory</em>" + Alias /lxr "<em>your_LXR_root_directory</em>" </pre> - </li> - </ul> - </li> - <li>Releases 0.10.x - <p class="normal"> + </li> + </ul> + </li> + <li>Releases 0.10.x + <p class="comment caution"> +These releases are deprecated. + </p> + <ul> + <li class="normal"> Due to shameful haste and quality assurance breach, version 0.10 was released with an unforgivable bug. 0.10.1 corrected it but introduced another one. 0.10.2 partially corrected it, leaving a misplaced <code>%</code> character in a critical subroutine. - </p> - <p class="comment"> -Better wait for 0.11 release. - </p> - </li> - <li>Browsing <em>include</em> files - <p class="normal"> + <p class="comment"> +Upgrade to latest release. + </p> + </li> + <li>Browsing <em>include</em> files + <p class="normal"> If you change the value of any <em>variable</em> (<em>i.e.</em> version, architecture, …) after clicking on an <em>include</em> link, you may get a <em>"file does not exist"</em> error message because the rewrite rules are not correctly recomputed. - </p> - <p class="comment"> -Corrected in 0.11 - </p> - </li> - <li>Supported languages - <p class="normal"> -Many language descriptions are faulty or, at best, incomplete. -Only <strong>C</strong>, <strong>C++</strong> and <strong>Perl</strong> - can be considered reliable. - </p> - <p class="comment"> -The present maintainer does not master all languages. -Do not hesitate to submit bugs. - </p> - </li> - <li>Identifiers not highlighted - <p class="normal"> -This is not really an LXR bug. -<strong>ctags</strong> uses elementary parsers for secondary -languages (read: not C nor C++). -These parsers do not implement the complete language grammar. - </p> - </li> - <li>Git support - <p class="normal"> -Not working at all. -The CPAN library module is broken. - </p> - <p class="comment"> -Fixed in 1.0 - </p> - </li> - </ul> - <h2>Limitations</h2> - <ul> - <li><em>templates/</em> directory - <p class="normal"> + </p> + <p class="comment"> +Fixed in release 0.11 + </p> + </li> + </ul> + </li> + </ul> +</section> + +<section> + <h1>Limitations</h1> + <ul> + <li><em>templates/</em> directory + <p class="normal"> Starting with release 0.11, this directory is set to "read-only" mode to discourage people from making changes. It thus becomes a reliable reference for stored files. Any LXR customisation must be done in the <em>custom.d</em> directory (<em>lxrconf.d/</em> prior to release 1.0). - </p> - <p class="comment"> + </p> + <p class="comment"> Consequence: any file extracted from <em>templates/</em> is tagged "read-only" and its permissions must be reset before making changes. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp templates/<em>some_file</em> custom.d/</kbd> <samp>$ </samp><kbd>chmod u=rwx custom.d/<em>some_file</em></kbd> </pre> - </li> - <li>Version control systems (CVS, Git, …) - <p class="normal"> + </li> + <li>Version control systems (CVS, Git, …) + <p class="normal"> Free-text search is unavailable due to the specific format of the VCS database (read: they do not use plain files). - </p> - </li> - <li>Directories in CVS - <p class="normal"> + </p> + </li> + <li>Directories in CVS + <p class="normal"> CVS does not manage version for directories. If you change version for something other than <code>HEAD</code>, you get the infamous <em>"file does not exist"</em> error message. - </p> - </li> - <li>Mercurial support - <ul> - <li class="classics"> + </p> + </li> + <li>Mercurial support + <ul> + <li class="classics"> Files may erroneously appear empty in some revisions - </li> - <li class="classics">Directory listing extremely slow - <p class="normal"> + </li> + <li class="classics">Directory listing extremely slow + <p class="normal"> Approximately 0.5 second per line (on a 3.4 GHz processor!); but do not blame Mercurial, something is wrong in LXR code interfacing with the system. - </p> - <p class="comment"> + </p> + <p class="comment"> Please, help to improve performance. - </p> - </li> - </ul> - </li> - <li>Language parsers - <p class="normal"> -They are not compiler grade (and very far from that). + </p> + </li> + </ul> + </li> + <li>Language parsers + <p class="normal"> +They are not compiler-grade (and very far from that). They are limited to lexically extracting runs of characters looking like identifiers (independently of their semantics). - </p> - <ul> - <li>Generic parser (presently used for all languages) - <p class="normal"> + </p> + <ul> + <li>Generic parser (presently used for all languages) + <p class="normal"> Ignores an eventual <em>sigil</em> when assembling identifiers. This results in confusion of symbols with different roles into a single highlighting. - </p> - <p class="comment"> + </p> + <p class="comment"> <em>Sigils</em> are used in Perl to differentiate functions, scalars, arrays and <em>hashes</em>. Similarly, in PHP, variables are prefixed with <code>$</code> while functions have no prefix. - </p> - <p class="normal"> + </p> + <p class="normal"> Ignores identifier classification since it does not manage semantics. This results too in confusion of symbols with different roles into a single highlighting. - </p> - <p class="comment"> + </p> + <p class="comment"> In HTML, tags and attributes with similar symbol have the same highlighting. - </p> - </li> - <li>HTML - <p class="normal"> + </p> + </li> + <li>HTML + <p class="normal"> URI references are hyperlinked only if they point to another document in the source tree. - </p> - <p class="normal"> + </p> + <p class="normal"> The parser gets easily confused if the content part (outside HTML tags) contains quotes or double quotes. It causes an <em>out-of-sync</em> situation. - </p> - </li> - <li>Perl - <p class="normal"> + </p> + </li> + <li>Perl + <p class="normal"> Due to <strong>ctags</strong> limitation, only <code>sub</code>s and no variables are indexed. Variables are accidentally highlighted if their name, without <em>sigil</em>, is the same as a function. - </p> - <p class="normal"> + </p> + <p class="normal"> Occurrences of characters such as <code>#</code>, <code>'</code> or <code>"</code> in patterns are likely to cause <em>out-of-sync</em> situations. - </p> - </li> - <li>PHP - <p class="normal"> + </p> + </li> + <li>PHP + <p class="normal"> <code>include</code> or <code>require</code> will hyperlink to the target file only if the name is a string relative to source-tree root. Also, the name cannot contain quotes (<code>'</code>) or double quotes (<code>"</code>). - </p> - </li> - <li>Python - <p class="normal"> + </p> + </li> + <li>Python + <p class="normal"> Multiple includes from a single <code>import</code> or <code>from</code> instruction are not handled. - </p> - </li> - </ul> - </li> - <li>Difference markup - <ul> - <li><em>Link</em> interface - <p class="normal"> + </p> + </li> + </ul> + </li> + <li>Difference markup + <ul> + <li><em>Link</em> interface + <p class="normal"> You can compare two files differing in only one variable. - </p> - </li> - <li><em>Buttons-and-menus</em> interface - <p class="normal"> + </p> + </li> + <li><em>Buttons-and-menus</em> interface + <p class="normal"> You can compare two files differing in any number of variables provided you set all required variables before clicking on the "Change" button. - </p> - </li> - <li>Changing variable value while displaying differences - <p class="normal"> + </p> + </li> + <li>Changing variable value while displaying differences + <p class="normal"> The new differences will be computed between the most recently selected version and the newly requested, not between the base version (the one active when you clicked on the "diff markup" link) and the newly requested version. - </p> - </li> - </ul> - </li> - </ul> - -<!--#include virtual="/backstore/footer.shtml" --> + </p> + </li> + </ul> + </li> + </ul> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: index.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/index.shtml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- index.shtml 31 Dec 2013 15:12:33 -0000 1.11 +++ index.shtml 18 Jan 2014 09:54:17 -0000 1.12 @@ -1,37 +1,62 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>The LXR Project</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <meta name="keywords" - content="lxr howto" - > -</head> - -<body> - <!--#set var="pageHeaderTitle" value="The LXR project web-site" --> - <!--#set var="homePageHeader" value="1" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="The LXR Project" --> +<!--#set var="pageHeaderTitle" value="The LXR project web-site" --> +<!--#set var="homePageHeader" value="1" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> <h1>Welcome to the official LXR information site</h1> <p class="comment"> Information on this site comes from the LXR developers and is maintained as close as possible to the current version. </p> - <div class="newsframe"> - <h1>Latest news</h1> - <div class="newstext"> +<aside class="newsframe"> + <style scoped type="text/css"> + aside.newsframe + { float: right + ; clear: both + ; margin-left: 1em + ; margin-top: 18px + ; max-height: 550px + ; border: 4pt solid blue + ; background-color: #CCEEFF + ; vertical-align: top + ; padding: 3pt + ; width: 20em + ; max-width: 30% + } + + section.newstext + { width: 98% + ; min-height: 150px + ; max-height: 500px + ; height: auto + ; overflow-x: hidden + } + + h1 + { padding: 6pt + ; margin: 3pt + ; background-color: yellow + ; text-align: center + ; font-size: 14pt + ; font-weight: bold + } + + p + { margin: 2pt 4pt + ; font-size: 80% + } + </style> + <h1>Latest news</h1> + <section class="newstext"> <!--#include virtual="/news.html" --> - </div> - </div> + </section> +</aside> +<article> <p class="normal"> -<strong class="gothics">LXR</strong> +<b class="gothics">LXR</b> is a general purpose source code indexer and cross-referencer that provides web-based browsing of source code with links to the definition and usage of any identifier. @@ -70,51 +95,55 @@ It is also very useful to study source-code from scratch. In this case, your learning curve is very steep. </p> +</article> - <h2>Available topics:</h2> +<nav> + <h1>Available topics</h1> <ul> - <li> - <a href="1-0-InstallSteps/1-0-install.shtml"> - Installation instructions + <li><a href="1-0-InstallSteps/1-0-install.shtml"> +Installation instructions </a> <p class="normal"> This is a step-by-step <em>How to install LXR</em> guide for the latest release. </p> - <ul>Follow these links for previous releases: + <p class="normal"> +Follow these links for previous releases: + </p> + <ul> <li><a href="0-11-InstallSteps/0-11-install.shtml">0.11</a></li> <li><a href="InstallSteps/install.shtml">0.9.x and 0.10.x</a></li> <li>Older releases, read <em>INSTALL</em> file that ships with the software</li> </ul> </li> - <li> - <a href="advancedconfig.shtml"> - Advanced configuration - </a> + <li><a href="advancedconfig.shtml">Advanced configuration</a> </li> - <li> - <a href="troubleshooting.shtml"> - Troubleshooting - </a> + <li><a href="troubleshooting.shtml">Troubleshooting</a> <p class="normal"> - What to do when something goes wrong? +What to do when something goes wrong? </p> </li> - <li> - <a href="/lxr_inline_doc">Technical information</a> + <li><a href="/lxr_inline_doc">Technical information</a> <p class="normal"> This documentation is automatically extracted from the code. It gives summary information about the LXR browsing components. -Full technical information will soon be available in the -<em>Developer's Manual</em>. +Full technical information is available in the +<a href="http://sourceforge.net/projects/lxr/files/doc/" title="Download page for the manual"> +<cite>Developer's Manual</cite></a>. + </p> + </li> + <li><a href="usermanual.shtml">Online user manual</a> + <p class="normal"> +<span class="caution">Not yet "online"</span>, +this link leads you to a nice Error-404 page instead! </p> </li> <li>PDF version of the <a href="LXRUserManual-beta.pdf">user manual</a> for the next "beta" release -<span class="comment">(link is dead when there is no scheduled -next release. +<span class="comment"> +(link is dead when there is no scheduled next release) It may also happen that the "beta" manual has not been translated; see then the <a href="/en/<!--#echo var="pageDir" --><!--#echo var="pageFile" -->">English version</a> of this page)</span> @@ -132,7 +161,7 @@ <a href="http://sourceforge.net/p/lxr/bugs">bug tracker</a> and you may even ask for <a href="http://sourceforge.net/p/lxr/feature-requests">feature request</a> -if a topic is missing) +if a topic is missing). </p> </li> <li><a href="Tips/tips.shtml">Tips</a> for efficient use @@ -141,36 +170,31 @@ </li> <li><a href="newfeatures.shtml">Next features</a> </li> - <li> - <a href="numbering.shtml"> - Release numbering scheme - </a> + <li><a href="numbering.shtml">Release numbering scheme</a> </li> - <li><a href="styles.shtml"> - Typographical conventions - </a> - of this site + <li><a href="styles.shtml">Typographical conventions</a> +of this site </li> - <li><a href="logos.shtml"> - Candidate logos - </a> + <li><a href="logos.shtml">Candidate logos</a> </li> </ul> +</nav> - <h2>Demo: the LXR tree cross-referenced by LXR itself</h2> +<section> + <h1>Demo: the LXR tree cross-referenced by LXR itself</h1> <p class="comment"> -Releases 0.9.8 to 1.2.0 can be displayed and compared. +Releases 0.9.8 to 2.0.0 can be displayed and compared. </p> <p class="comment"> This demo exhibits two tree-variants: </p> <ul> <li> -<a href="/lxr/source/">"classical" plain files tree</a> +<a href="/demo/source/lxr">"classical" plain files tree</a> containing several released versions </li> <li> -<a href="/cvs/source">CVS repository tree</a> +<a href="/demo/source/cvs">CVS repository tree</a> containing all development history <p class="normal"> Due to SourceForge restrictions, it is only a snapshot. @@ -199,18 +223,24 @@ (<em>e.g.</em> annotations in file display under CVS). </li> </ul> +</section> - <h2>Download and summary information</h2> +<section> + <h1>Download and summary information</h1> <p class=normal> See the <a href="http://sourceforge.net/projects/lxr">project site</a> on SourceForge or have a look at the <a href="http://lxr.linux.no">old project site</a>. </p> +</section> - <h2>Contact the developers</h2> +<section> + <h1>Contact the developers</h1> <p class="normal"> -The developers can be reached through the forum or the trackers. - </p> - -<!--#include virtual="/backstore/footer.shtml" --> +The developers can be reached through the +<a href="http://sourceforge.net/p/lxr/discussion">forum</a> +or the +<a href="http://sourceforge.net/p/lxr/_list/tickets">trackers</a>. +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: installNavBtn.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/installNavBtn.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- installNavBtn.shtml 11 Mar 2012 14:49:16 -0000 1.1 +++ installNavBtn.shtml 18 Jan 2014 09:54:17 -0000 1.2 @@ -1,5 +1,4 @@ <!--#set var="prevBtn" value="Previous" --> -<!-- $Id$ --> <!--#set var="indexBtn" value="Installation<br>index" --> <!--#set var="nextBtn" value="Next" --> -<!--#include virtual="/backstore/NavBtnTable.shtml" --> \ No newline at end of file +<!--#include virtual="/backstore5/NavBtnTable.shtml" --> \ No newline at end of file Index: logos.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/logos.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- logos.shtml 23 Sep 2012 16:48:10 -0000 1.2 +++ logos.shtml 18 Jan 2014 09:54:17 -0000 1.3 @@ -1,69 +1,63 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Logos</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="LXR Logos" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR Logos" --> +<!--#set var="pageHeaderTitle" value="LXR Logos" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> - LXR is quite mature now and deserves a decent logo - (and maybe also a decent name <em>in lieu</em> its acronym). +<em>LXR</em> is quite mature now and deserves a decent logo +(and maybe also a decent name <em>in lieu</em> its acronym). </p> <p class="normal"> - There has not been many attempts to create art for LXR. - This page shows them. +There have not been many attempts to create art for LXR. +This page shows them. </p> - <table> - <tr> - <td> - <table> - <tr> - <td> - <img src="/backstore/logo_mbox.gif" - alt="First tentative logo by mbox" - > - </td> - <td> - <p class="normal"> - This one is due to <strong>mbox</strong>. - He designed it in 2009 when launching discussion about the logo. - </p> - </td> - </tr> - </table> - </td> - <td> - <table> - <tr> - <td> - <img src="/backstore/LXRlogo2.png" - alt="2011 logo by ajlittoz" - > - </td> - <td> - <p class="normal"> - This is a quick and dirty attempt - when <strong>ajlittoz</strong> needed a logo for the 2011 LXR web site. - Only half an hour work! - </p> - </td> - </tr> - </table> - </td> - </tr> - </table> + <section class="gallery"> + <style scoped type="text/css"> + section.gallery, .subgallery +{ display: table table-row +} + .gallery > .subgallery +{ display: table-cell +; padding: 1cm 1.5cm 1cm 0cm +} + .subgallery > div +{ display: table-cell +; vertical-align: bottom +; padding: 6pt +} + </style> + <section class="subgallery"> + <div> + <img src="/backstore/logo_mbox.gif" + alt="First tentative logo by mbox" + > + </div> + <div> + <p class="normal"> +This one is due to <strong>mbox</strong>. +He designed it in 2009 when launching discussion about the logo. + </p> + </div> + </section> + <section class="subgallery"> + <div> + <img src="/backstore/LXRlogo2.png" + alt="2011 logo by ajlittoz" + > + </div> + <div> + <p class="normal"> +This is a quick and dirty attempt +when <strong>ajlittoz</strong> needed a logo for the 2011 LXR web site. +Only half an hour work! + </p> + </div> + </section> + </section> <p class="normal"> -As Malcolm pointed out <em>"I'm no graphic artist"</em>, -neither am I (ajlittoz). +Neither Malcolm nor I (ajlittoz) are graphic artist. Consequently, you are welcome to try and design a neat logo. Subscribe to the <em>lxr-general</em> mailing list @@ -79,14 +73,14 @@ <p class="normal"> No answer since it was launched on April 1, 2009! I know, it was April Fool's day. -But LXR really needs a logo. +But <em>LXR</em> really needs a logo. </p> <p class="normal"> -And why not also a new name? +And also what about a new name? <br> We could elaborate on the three historical letters. Here is a proposal <em class="defn">eLiXiR</em>. Comment on the mailing-list. </p> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: newfeatures.shtml =================================================================== RCS file: /cvsroot/lxr/html/prototype/newfeatures.shtml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- newfeatures.shtml 7 Nov 2013 16:17:53 -0000 1.15 +++ newfeatures.shtml 18 Jan 2014 09:54:17 -0000 1.16 @@ -1,207 +1,185 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Next Features</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Features for next LXR Releases" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<ul> - <li><strong>Release 2.0</strong> - <ul> - <li class="classics"><del><em>genxref</em> goes parallel</del> - <p class="normal"> -Careful optimisation of current code dwindles the interest of multi-thread technology. -Multi-thread code is more complex and needs sophisticated database table locking strategy. -Experiments have shown this added complexity brings little gain on big projects -and slightly longer indexing times on small projects. - </p> - <p class="normal"> -However, this work uncovered very subtle bugs, or rather inaccuracies, -in the parser. - </p> - <p class="comment"> -As a net result, <em>genxref</em> performance is now x1.5 over release 1.2.0. -Indexing times are shortened by 33%. - </p> - </li> - <li class="classics">Multiple-trees context - <p class="normal"> +<!--#set var="pageMetaTitle" value="LXR Next Features" --> +<!--#set var="pageHeaderTitle" value="Features for next LXR Releases" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> + <h1>Release 2.0</h1> + <ul> + <li class="classics">Multiple-trees context + <p class="normal"> Tree designation in URL moved into <code>PATH_INFO</code> instead of <code>SERVER_NAME</code> or <code>SCRIPT_NAME</code>. - </p> - <p class="comment"> + </p> + <p class="comment"> This is a new possibility, you do not need to modify your present trees. This designation variant offers simpler and more robust web server configuration. Adding or removing a tree is consequently only a matter of editing <em>lxr.conf</em> without reconfiguring the web server. - </p> - </li> - <li class="classics">Better HTTP initialisation - <p class="normal"> -Printing a message on screen under catastrophic events during -initialisation now possible, avoiding the disturbing "blank screen" situation. - </p> - </li> - <li class="classics">Better error handling - <p class="normal"> -<em>Browsing</em>: errors and warnings are also printed on screen, -reducing the necessity to read them from the server log files. - </p> - <p class="normal"> -<em>Configuration</em>: most user data is now checked against expected format -thus detecting early some trivial mistakes. - </p> - </li> - <li class="classics">Experimental support of + </p> + </li> + <li class="classics">Better HTTP initialisation + <p class="normal"> +Printing a message on screen under catastrophic events during initialisation +now possible, avoiding the disturbing "blank screen" situation. + </p> + </li> + <li class="classics">Better error management + <p class="normal"> +<em>Browsing</em>: errors and warnings are now sent both to log file and screen, +thus reducing the need to retrieve them from the web server log files. + </p> + <p class="normal"> +<em>Configuration</em>: most user entries are checked against the expected format, +etecting early trivial errors or mispellings. + </p> + </li> + <li class="classics">Experimental support of <strong>Nginx</strong>, <strong>Cherokee</strong> and <strong>thttpd</strong> web servers - </li> - <li class="classics"><em>User's Manual</em> updated - </li> - <li class="classics"><em>Developer's Manual</em> available - </li> - <li class="classics">Bug fixes - </li> - </ul> - </li> - <li><strong>Release 1.2</strong> - <ul> - <li class="classics">Generic parser include feature rearchitectured - <p class="normal"> + </li> + <li>Heavily commented source code</li> + <li class="classics"><cite>User's Manual</cite> updated + </li> + <li class="classics"><cite>Developer's Manual</cite> released + </li> + <li class="classics">Bug fixes + </li> + </ul> +</section> +<section> + <h1>Release 1.2</h1> + <ul> + <li class="classics">Generic parser <em>include</em> feature rearchitectured + <p class="normal"> To facilitate implementation of new language parsers, a common utility function has been inserting in the generic parser to build hyperlinks to every component of the included file path. All parsers now reference this function. - </p> - </li> - <li class="classics">New C parser - <p class="normal"> + </p> + </li> + <li class="classics">New C parser + <p class="normal"> C processing has been separated from the generic parser to improve reliability and readability of the latter. - </p> - </li> - <li class="classics">Change of generic include processing - <p class="normal"> + </p> + </li> + <li class="classics">Change of generic <em>include</em> processing + <p class="normal"> Since C is now an independent parser, default <em>include</em> syntax is <em>keyword</em>, as defined by the language description, followed by the <em>bare filename</em>, without any delimiters such as quotes or double quotes. - </p> - <p class="comment"> + </p> + <p class="comment"> This can be changed through an <code>'include'</code> specification in configuration file <em>generic.conf</em>. - </p> - </li> - <li class="classics">Changes in generic include syntax description - <p class="normal"> + </p> + </li> + <li class="classics">Changes in generic <em>include</em> syntax description + <p class="normal"> Keywords <code>'first'</code> and <code>'last'</code> have been renamed <code>'pre'</code> and <code>'post'</code> to emphasize their roles in <em>pre</em>- and <em>post</em>-processing the filename. - </p> - <p class="normal"> + </p> + <p class="normal"> New keyword <code>'separator'</code> defines path separator in the language dialect. It is replaced by the OS path separator (<code>/</code>) to access the included file. - </p> - <p class="comment"> + </p> + <p class="comment"> This allows faster processing than using a <code>'global'</code> substitution rule. - </p> - </li> - <li class="classics"><em>User's Manual</em> updated - </li> - <li class="classics">Bug fixes - <p class="normal"> -Removal of a bad handling situation in include processing + </p> + </li> + <li class="classics"><em>User's Manual</em> updated + </li> + <li class="classics">Bug fixes + <p class="normal"> +Removal of a bad handling situation in <em>include</em> processing causing an infinite loop (notably in <strong>Java</strong>) - </p> - </li> - </ul> - </li> - <li><strong>Release 1.1</strong> - <ul> - <li class="classics">Visual indication of inaccurate cross-references - <p class="normal"> + </p> + </li> + </ul> +</section> +<section> + <H1>Release 1.1</H1> + <ul> + <li class="classics">Visual indication of inaccurate cross-references + <p class="normal"> Per user request, directory and file view, identifier and free-text search have been modified to show that cross-references in the database refer to an earlier state of the file. This situation arises in development phase when files are modified and <em>genxref</em> has not yet been rerun. - </p> - </li> - <li class="classics">New <code>'ignorefiles'</code> parameter - <p class="normal"> + </p> + </li> + <li class="classics">New <code>'ignorefiles'</code> parameter + <p class="normal"> Upon user request, this parameter allows to selectively ignore files which name matches a pattern (internally used to ignore compiler-binary files, can be extended to ignore document files for instance). - </p> - </li> - <li class="classics">Interactive installation script - <p class="normal"> + </p> + </li> + <li class="classics">Interactive installation script + <p class="normal"> Configuration templates now use a consistent well defined scripting language. This allows to share blocks of configuration among templates, resulting in easier management of similar templates. - </p> - <p class="normal"> + </p> + <p class="normal"> To a certain extent, web server setup is now under control of the interactive configurator. However, only the most common cases are covered. Read the User's Manual for the necessary checks. - </p> - <p class="normal"> + </p> + <p class="normal"> Configurator can disable free-text search if neither <strong>Glimpse</strong> nor <strong>Swish-E</strong> is detected. This allows to have a try with LXR without the pain of installing a text search engine. Of course, the feature becomes unavailable until you install one and update <em>lxr.conf</em>. - </p> - </li> - <li class="classics">Experimental <strong>Mercurial</strong> support added - <p class="normal"> + </p> + </li> + <li class="classics">Experimental <strong>Mercurial</strong> support added + <p class="normal"> As per design choice, access is limited to local repositories. - </p> - <p class="comment"> + </p> + <p class="comment"> This is very experimental: the current developer is not familiar with Mercurial and directory listing runs horribly slow. Suggestions for improvement are welcome. - </li> - <li class="classics">New version of the <em>User's Manual</em> - </li> - <li class="classics">Bug fixes - <p class="normal"> + </li> + <li class="classics">New version of the <em>User's Manual</em> + </li> + <li class="classics">Bug fixes + <p class="normal"> Among these, fix for the case when the web site is totally devoted to LXR, <em>i.e.</em> when LXR is at the root of site. - </p> - </li> - </ul> - </li> - <li><strong>Release 1.0</strong> - <p class="comment"> + </p> + </li> + </ul> +</section> +<section> + <h1>Release 1.0</h1> + <p class="comment"> Considering the number of new features, release number jumps to 1.0, not 0.12. - </p> - <div class="boxed"> - <p class="normal caution">IMPORTANT!</p> - <p class="normal"> + </p> + <div class="boxed"> + <p class="normal caution">IMPORTANT!</p> + <p class="normal"> Finer grained language support make it impossible to maintain <strong>Perl 5.8 compatibility</strong>. Stated otherwise, @@ -209,196 +187,191 @@ frame of the present <em>SimpleParse.pm</em> lexical scanner. They can indeed be described by complex regular expressions but they break the capture mechanism of the scanner. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> Upgrade your Perl to version <strong>5.10</strong> at least. - </p> - </div> - <ul> - <li class="classics">Language support improved and extended - </li> - <li class="classics">Interactive installation script - <p class="normal"> + </p> + </div> + <ul> + <li class="classics">Language support improved and extended + </li> + <li class="classics">Interactive installation script + <p class="normal"> Reliably configures LXR and its database in a matter of minutes, suppresses the neeed to edit <em>lxr.conf</em> (but for advanced tuning of course). - </p> - </li> - <li class="classics"><strong>Git</strong> support fixed - </li> - <li class="classics"><strong>Subversion</strong> support added - <p class="normal"> + </p> + </li> + <li class="classics"><strong>Git</strong> support fixed + </li> + <li class="classics"><strong>Subversion</strong> support added + <p class="normal"> As per design choice, access is limited to local repositories (i.e. URL is of the form <code>file:///...</code>). - </p> - </li> - <li class="classics"><strong>SQLite</strong> database support added - <p class="normal"> + </p> + </li> + <li class="classics"><strong>SQLite</strong> database support added + <p class="normal"> Offers an alternative for small trees (not to be reasonably considered for medium and large trees because of poor performance). - </p> - </li> - <li class="classics">Database backend restructured - <p class="normal"> + </p> + </li> + <li class="classics">Database backend restructured + <p class="normal"> Results in a global performance boost despite the number of new features. - </p> - </li> - <li class="classics"><em>genxref</em> incremental indexing fixed - <p class="normal"> + </p> + </li> + <li class="classics"><em>genxref</em> incremental indexing fixed + <p class="normal"> When indexing without <code>--reindexall</code> option, former definitions and references are now correctly erased from the database, leaving no false duplicates. - </p> - </li> - <li class="classics"><em>genxref</em> performance improvement - <p class="normal"> + </p> + </li> + <li class="classics"><em>genxref</em> performance improvement + <p class="normal"> In the common case where source tree is stored in plain ordinary files, suppress file copying and work directly on original files. - </p> - </li> - <li class="classics">New configuration file template and script - for kernel browsing - <p class="normal"> + </p> + </li> + <li class="classics">New configuration file template and script + for kernel browsing + <p class="normal"> Correctly configuring LXR for the Linux kernel has always been a nightmare. The new configuration template contains plethora of <code>'variables'</code> to resolve the virtual <code>#include</code>s present in the source. - </p> - </li> - <li class="classics">Guaranteed application order of <code>'maps'</code> rules - </li> - <li class="classics">Conditional <code>'variables'</code> - <p class="normal"> + </p> + </li> + <li class="classics">Guaranteed application order of <code>'maps'</code> rules + </li> + <li class="classics">Conditional <code>'variables'</code> + <p class="normal"> New <code>'when'</code> clause tells when context is meaningful for the variable. - </p> - </li> - <li class="classics"><em>search</em> - <p class="normal"> + </p> + </li> + <li class="classics"><em>search</em> + <p class="normal"> <em>Case insensitive</em> search now really case-insensitive. - </p> - </li> - <li class="classics"><em>diff</em> - <p class="normal"> + </p> + </li> + <li class="classics"><em>diff</em> + <p class="normal"> Can compare two files differing in any number of <code>'variables'</code> if it makes sense (only under <em>buttons-and-menus</em> interface). - </p> - </li> - <li class="classics">Many bug fixes - </li> - </ul> - </li> - <li><strong>Release 0.11</strong> - <ul> - <li class="classics">New organisation of LXR root directory - <p class="normal"> + </p> + </li> + <li class="classics">Many bug fixes + </li> + </ul> +</section> +<section> + <h1>Release 0.11</h1> + <ul> + <li class="classics">New organisation of LXR root directory + <p class="normal"> More subdirectories so that only the main scripts remain at the root. - </p> - </li> - <li class="classics">Scripts to facilitate configuration - <p class="normal"> + </p> + </li> + <li class="classics">Scripts to facilitate configuration + <p class="normal"> First step towards automated installation. - </p> - </li> - <li class="classics">Better compatibility with <strong>Apache</strong> - <p class="normal">Can work with <em>Prefork</em> and <em>Worker</em> MPM</p> - </li> - <li class="classics">Experimental support of <strong>lighttpd</strong> web server - </li> - <li class="classics">Multiple trees configuration - <p class="normal">Integrated tree switching.</p> - </li> - <li class="classics">Possibility to have several stylesheets - <p class="normal"> + </p> + </li> + <li class="classics">Better compatibility with <strong>Apache</strong> + <p class="normal">Can work with <em>Prefork</em> and <em>Worker</em> MPM</p> + </li> + <li class="classics">Experimental support of <strong>lighttpd</strong> web server + </li> + <li class="classics">Multiple trees configuration + <p class="normal">Integrated tree switching.</p> + </li> + <li class="classics">Possibility to have several stylesheets + <p class="normal"> Selection of actual style done by user in compatible browsers. - </p> - </li> - <li class="classics"><strong>CVS</strong> support improved - <p class="normal"> + </p> + </li> + <li class="classics"><strong>CVS</strong> support improved + <p class="normal"> Side branches now accessed and indexed - </p> - </li> - <li class="classics">Bug fixes - </li> - </ul> - </li> - <li><strong>Release 0.10</strong> - <ul> - <li class="classics">Buttons-and-menus interface</li> - <li class="classics"><code>'variables'</code> can have any name - <p class="normal">Internal arguments used in the URL + </p> + </li> + <li class="classics">Bug fixes + </li> + </ul> +</section> +<section> + <h1>Release 0.10</h1> + <ul> + <li class="classics">Buttons-and-menus interface</li> + <li class="classics"><code>'variables'</code> can have any name + <p class="normal">Internal arguments used in the URL are now prefixed with <code>_</code> (underscore) so that they will never conflict with a configuration <code>'variables'</code> - </p> - <p class="comment">Note to + </p> + <p class="comment">Note to <span class="caution">CodeStriker</span> users: This breaks current integration with LXR. - </p> - </li> - <li class="classics"><em>diff markup</em> - <p class="normal">Background colours to highlight differences, + </p> + </li> + <li class="classics"><em>diff markup</em> + <p class="normal">Background colours to highlight differences, set with CSS - </p> - <p class="normal">Ability to change width of left column + </p> + <p class="normal">Ability to change width of left column through a configuration parameter and an URL arg - </p> - </li> - <li class="classics"><em>identifier search</em> - <p class="normal">Ability to limit search to declarations only, + </p> + </li> + <li class="classics"><em>identifier search</em> + <p class="normal">Ability to limit search to declarations only, default set by a configuration parameter - </p> - <p class="normal">Results presented in a table to avoid + </p> + <p class="normal">Results presented in a table to avoid bad looking ragged presentation - </p> - </li> - <li class="classics"><em>free-text search</em> - <p class="normal">Results presented in a table to avoid + </p> + </li> + <li class="classics"><em>free-text search</em> + <p class="normal">Results presented in a table to avoid bad looking ragged presentation - </p> - <p class="normal">With <strong>Glimpse</strong>, + </p> + <p class="normal">With <strong>Glimpse</strong>, searched string is highlighted in the hit text fragment - </p> - </li> - <li class="classics">Language... [truncated message content] |
From: Andre-Littoz <ajl...@us...> - 2014-01-18 09:53:02
|
Update of /cvsroot/lxr/html/fr/Templ In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24946/fr/Templ Modified Files: templref.shtml templvar.shtml Log Message: Switching to HTML5: directory fr/ for French version Index: templref.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/Templ/templref.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- templref.shtml 23 Sep 2012 16:48:10 -0000 1.2 +++ templref.shtml 18 Jan 2014 09:52:59 -0000 1.3 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Référence aux modèles LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Référence aux modèles LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Référence aux modèles LXR" --> +<!--#set var="pageHeaderTitle" value="Référence aux modèles LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> Les modèles LXR contiennent du code HTML pour mettre en forme la sortie de LXR. LXR en a connaissance par une série de paramètres de configuration dans @@ -60,18 +51,18 @@ </li> <li><code>'htmlident_refs'</code> <ul class="version"> - <li>Jusqu'à la version 0.9.10 - <p class="normal"> -Modèles pour les références à un identificateur -(complète le modèle précédent) - </p> - </li> <li>Version 0.10 et suivantes <p class="normal"> Plus nécessaire, son rôle est maintenant intégré dans le modèle <code>'htmlident'</code> avec une meilleure présentation. </p> </li> + <li>Jusqu'à la version 0.9.10 + <p class="normal"> +Modèles pour les références à un identificateur +(complète le modèle précédent) + </p> + </li> </ul> </li> <li><code>'htmlsearch'</code> @@ -92,5 +83,5 @@ </p> </li> </ul> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: templvar.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/Templ/templvar.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- templvar.shtml 23 Sep 2012 16:48:10 -0000 1.2 +++ templvar.shtml 18 Jan 2014 09:52:59 -0000 1.3 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Variantes des modèles LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Variantes des modèles LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Variantes des modèles LXR" --> +<!--#set var="pageHeaderTitle" value="Variantes des modèles LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> Dans la distribution standard de LXR, les en-têtes et pieds de page sont les mêmes dans tous les modes. Vous pouvez néanmoins utiliser une variante de désignation de modèle dans <em>lxr.conf</em> @@ -52,5 +43,5 @@ <em>templates/</em> pour garantir une désignation par défaut au cas où vous omettez une variante. </p> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> |
From: Andre-Littoz <ajl...@us...> - 2014-01-18 09:53:01
|
Update of /cvsroot/lxr/html/fr/1-0-InstallSteps In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24946/fr/1-0-InstallSteps Modified Files: 1-0-install.shtml 1-0-install1tools.shtml 1-0-install2LXR.shtml 1-0-install3config.shtml 1-0-install4genxref.shtml 1-0-install5server.shtml 1-0-installNavbar.shtml Log Message: Switching to HTML5: directory fr/ for French version Index: 1-0-install.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/1-0-InstallSteps/1-0-install.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- 1-0-install.shtml 27 Aug 2012 07:50:49 -0000 1.2 +++ 1-0-install.shtml 18 Jan 2014 09:52:58 -0000 1.3 @@ -1,123 +1,98 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Procédure d'installation</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <meta name="keywords" - content="howto install LXR, how to install LXR, lxr install" - > - <meta name="description" - content="step by step guide to install LXR" - > -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Instructions d'installation de LXR 1.0+" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageMetaTitle" value="LXR 1.0 Procédure d'installation" --> +<!--#set var="pageHeaderTitle" value="Instructions d'installation de LXR 1.0+" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="0" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="comment"> + <section class="instr"> + <p class="comment"> Cette page concerne l'installation de <strong>LXR 1.0+</strong>. - </p> - <p class="comment"> -Pour la version 0.11, -lisez ces <a href="/<!--#echo var="langPrefix" -->0-11-InstallSteps/0-11-install.shtml">instructions</a>; -pour 0.9.x et 0.10.x, <a href="/<!--#echo var="langPrefix" -->InstallSteps/install.shtml">celles-ci</a>. + </p> + <p class="comment"> Pour les versions antérieures, -consultez le document <strong>INSTALL</strong> -accompagnant chaque édition. - </p> +sélectionnez la procédure appropriée depuis la +<a href="/<!--#echo var="langPrefix" -->index.shtml">page d'accueil</a>. + </p> - <p class="normal"> -Pour installer cotre copie de LXR sans erreur,suivez les étapes ci-dessous: - </p> - <ol> - <li> - <a href="1-0-install1tools.shtml" title="Install tools" rev="index"> - Installation de l'environnement logiciel - </a> - <p class="normal"> + <p class="normal"> +Pour installer votre copie de LXR sans erreur,suivez les étapes ci-dessous: + </p> + <ol> + <li> + <a href="1-0-install1tools.shtml" title="Install tools" rev="index"> +Installation de l'environnement logiciel + </a> + <p class="normal"> Vérifiez et/ou installez les outils nécessaires pour exécuter LXR. - </p> - </li> - <li> - <a href="1-0-install2LXR.shtml" title="Install LXR itself"> - Installation du source de LXR - </a> - <p class="normal"> + </p> + </li> + <li> + <a href="1-0-install2LXR.shtml" title="Install LXR itself"> +Installation du source de LXR + </a> + <p class="normal"> Instructions pour déballer et installer la <em>motte</em> (<em>tarball</em>) téléchargée du site - </p> - </li> - <li> - <a href="1-0-install3config.shtml" title="Pre-configure your copy"> + </p> + </li> + <li> + <a href="1-0-install3config.shtml" title="Pre-configure your copy"> Configuration de LXR et de sa base de données - </a> - <p class="normal"> + </a> + <p class="normal"> Créez le fichier principal de configuration à partir d'un "patron" et la base de données qui recevra les références croisées. - </p> - <div class="boxed"> - <p class="normal"> + </p> + <div class="boxed"> + <p class="normal"> <span class="caution">ATTENTION!</span> Le répertoire contenant les données personnalisées a été renommé de <em>lxrconf.d/</em> en <em>custom.d/</em> entre les versions précédentes et la version 1.0. - </p> - </div> - </li> - <li> - <a href="1-0-install4genxref.shtml" title="Populate database"> - Chargement de la base de données - </a> - <p class="normal"> -Alimentez-la avec les données relatives à votre arbre. </p> - </li> - <li> - <a href="1-0-install5server.shtml" title="Configure web server"> - Configurat du serveur web - </a> - </li> - </ol> + </div> + </li> + <li> + <a href="1-0-install4genxref.shtml" title="Populate database"> +Chargement de la base de données + </a> + <p class="normal"> +Alimentez-la avec les données relatives à votre arbre. + </p> + </li> + <li> + <a href="1-0-install5server.shtml" title="Configure web server"> +Configuration du serveur web + </a> + </li> + </ol> - <p class="normal"> + <p class="normal"> Une fois que LXR fonctionne sur ce cas simple, vous pouvez envisager de le personnaliser à votre goût personnel. Lisez: - </p> - <ul> - <li> - <a href="http://sourceforge.net/projects/lxr/files/doc/" title="Download"> -Le manuel utilisateur</a> - <br> - <p class="comment"> + </p> + <ul> + <li> + <a href="http://sourceforge.net/projects/lxr/files/doc/" title="Download"> +<cite>Le manuel utilisateur</cite></a> + <br> + <p class="comment"> Disponible en français, il traite en détail tous les aspects de LXR (utilisation, configuration, personnalisation, …). - </p> - </li> - <li> - <a href="/<!--#echo var="langPrefix" -->advancedconfig.shtml" title="Advanced config"> - Configuration avancée</a> - </a> - <br> - <p class="comment"> + </p> + </li> + <li> + <a href="/<!--#echo var="langPrefix" -->advancedconfig.shtml" title="Advanced config"> +Configuration avancée</a> + <br> + <p class="comment"> Réglage de LXR pour arbres multiples, présentation, etc. - </p> - </li> - </ul> - </td> - </tr> -</table> - -<!--#include virtual="/backstore/footer.shtml" --> + </p> + </li> + </ul> + </section> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install1tools.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/1-0-InstallSteps/1-0-install1tools.shtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- 1-0-install1tools.shtml 23 Sep 2012 16:48:10 -0000 1.4 +++ 1-0-install1tools.shtml 18 Jan 2014 09:52:58 -0000 1.5 @@ -1,104 +1,89 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Installation environnement" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="nextPage" value="1-0-install2LXR.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Installation environnement</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Ãtape 1: Installation de l'environnement de LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Ãtape 1: Installation de l'environnement de LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="1" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal"> + <section class="instr"> + <p class="normal"> La version courante de LXR dépend des outils logiciels énumérés ci-dessous. Les instructions sont données pour Linux, mais des étapes similaires peuvent en être déduites pour Windows ou d'autres OS. - </p> - <p class="comment"> + </p> + <p class="comment"> Dans tous les cas, la méthode préférentielle d'installation de ces outils est celle du téléchargement d'un paquetage de votre distribution favorite, de façon que vous n'ayez pas le souci de leur compilation et de leur configuration qui peuvent demander une expertise au-delà de celle requise par la mise en Åuvre de LXR. - </p> - <p class="comment"> + </p> + <p class="comment"> Si vous vous retrouvez dans l'obligation de compiler et configurer, référez-vous à la documentation appropriée à chaque outil. Il existe en général une procédure assez automatisée. - </p> - <ol> - <li>Un interpréteur <strong>Perl</strong> - <p class="normal"> + </p> + <ul> + <li>Un interpréteur <strong>Perl</strong> + <p class="normal"> Installé par défaut dans presque toutes les distributions. - </p> - <p class="comment"> + </p> + <p class="comment"> Vérifiez que sa version est 5.10 ou supérieure, car LXR dépend de fonctionnalités introduites dans cette version. Tapez la commande suivante dans un terminal: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>perl -v</kbd> <samp>This is perl 5, version 14, subversion 2 (v5.14.2) built for …</samp> </pre> - <p class="comment"> + <p class="comment"> Si vous ne pouvez pas mettre à jour en 5.10 (sorti en décembre 2007, ce qui n'est pas particulièrement le dernier cri), utilisez LXR 0.11.1, dernière version compatible, mais vous ne bénéficierez pas des nouvelles fonstionnalités. - </p> - </li> - <li>Une version récente du programme <strong>exuberant ctags</strong> - <p class="normal"> + </p> + </li> + <li>Une version récente du programme <strong>exuberant ctags</strong> + <p class="normal"> Habituellement installé par un paquetage de votre distribution. En dernier ressort, il disponible sur <a href="http://ctags.sourceforge.net" - title="Web Site ctags">SourceForge</a>. - </p> - <p class="comment"> +title="Web Site ctags">SourceForge</a>. + </p> + <p class="comment"> Par "récent", entendez version 5 ou supérieure. Tapez ceci dans un terminal: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>ctags --version</kbd> <samp>Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert …</samp> </pre> - <p class="comment"> + <p class="comment"> Vous pourrez lancer ces deux tests automatiquement une fois que vous aures intallé LXR et avant de lancer l'étape de configuration. Voyez la <a href="1-0-install2LXR.shtml#install2autotest" title="Installation de LXR">page suivante</a>. - </p> - </li> - <li>Une base de données relationnelle - <p class="normal"> + </p> + </li> + <li>Une base de données relationnelle + <p class="normal"> <a href="http://www.mysql.com" title="MySQL Web Site">MySQL</a> 4.x/5.x, <a href="http://www.oracle.com" title="Oracle Web Site">Oracle</a>, <a href="http://www.postgresql.org" title="Postgresql Web Site"> - Postgresql</a> +Postgresql</a> et <a href="http://www.sqlite.org" title="SQLite Web Site">SQLite</a> sont acceptés. Vous aurez aussi besoin du pilote <strong>Perl DBI</strong> pour la base de données choisie, habituellement disponible sur CPAN (si absent de votre distribution). - </p> - </li> - <li>Un serveur web - <p class="normal"> + </p> + </li> + <li>Un serveur web + <p class="normal"> <a href="http://httpd.apache.org" title="Apache Web Site"> Apache httpd</a> avec @@ -106,60 +91,62 @@ mod_perl</a> est recommandé. <a href="http://www.lighttpd.net" title="lighttpd Web Site">lighttpd</a> est un autre choix. -Tous deux peuvent être installés à partir d'un paquetage. - </p> - </li> - <li>Pour la recherche en plein texte, - <a href="http://glimpse.cs.arizona.edu" title="Glimpse Web Site"> - Glimpse</a> - ou - <a href="http://swish-e.org" title="Swish-e Web Site"> - Swish-e</a> - version 2.1 ou supérieure - <p class="comment"> +à partir de <em>LXR 2.0</em>, +<a href="http://cherokee-project.com" title="Cherokee Web Site">Cherokee</a>, +<a href="http://nginx.org" title="Nginx Web Site">Nginx</a> et +<a href="http://www.acme.com/software/thttpd" title="thttpd Web Site">thttpd</a> +peuvent aussi être utilisés. +Tous peuvent être installés à partir d'un paquetage. + </p> + </li> + <li>Pour la recherche en plein texte, +<a href="http://glimpse.cs.arizona.edu" title="Glimpse Web Site"> + Glimpse</a> +ou +<a href="http://swish-e.org" title="Swish-e Web Site"> + Swish-e</a> +version 2.1 ou supérieure + <p class="comment"> Swish-e est complètement sous licence GPL tandis que Glimpse n'est libre que pour une utilisation non commerciale. En conséquence, vous avez peu de chance de retrouver ce dernier dans un paquetage, mais son installation est bien automatisée. - </p> - <div class="normal"> + </p> + <div class="normal"> Comment choisir entre les deux? - <ul> - <li class="classics"> - <strong>Glimpse</strong> vous donne accès à la - <strong>ligne</strong> de l'occurrence et peut distinguer - des occurrences multiples à l'intérieur d'un fichier. - </li> - <li class="classics"> - <strong>Swish-e</strong> vous donne accès au - <strong>nom de fichier</strong> contenant les occurrences - en fusionnant toutes les occurrences en une seule référence. - Cependant, il peut indexer les dépôts CVS - (par une copie de fichier, ce qui annule l'avantage de taille d'un dépôt CVS). - </li> - </ul> - </div> - </li> - <li>L'interface Perl pour pilote de base de données <strong>DBI</strong> - et le pilote <strong>DBD</strong> pour la base de données choisie - <p class="comment"> + <ul> + <li class="classics"> +<strong>Glimpse</strong> vous donne accès à la +<strong>ligne</strong> de l'occurrence et peut distinguer +des occurrences multiples à l'intérieur d'un fichier. + </li> + <li class="classics"> +<strong>Swish-e</strong> vous donne accès au +<strong>nom de fichier</strong> contenant les occurrences +en fusionnant toutes les occurrences en une seule référence. +Cependant, il peut indexer les dépôts CVS +(par une copie de fichier, ce qui annule l'avantage de taille d'un dépôt CVS). + </li> + </ul> + </div> + </li> + <li>L'interface Perl pour pilote de base de données <strong>DBI</strong> + et le pilote <strong>DBD</strong> pour la base de données choisie + <p class="comment"> S'ils ne sont pas déjà installés, vous pouvez les obtenir de CPAN. Plus d'info <a href="http://dbi.perl.org/index.html" title="Perl DBI Info"> ici</a>. - </p> - </li> - <li>Le module Perl <strong>File::MMagic</strong> - <p class="comment"> + </p> + </li> + <li>Le module Perl <strong>File::MMagic</strong> + <p class="comment"> Essayez d'abord le paquetagee <em>perl-file-mmagic</em>. Si cela échoue, il est disponible sur CPAN. - </p> - </li> - </ol> - </td> - </tr> -</table> - + </p> + </li> + </ul> + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install2LXR.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/1-0-InstallSteps/1-0-install2LXR.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- 1-0-install2LXR.shtml 14 Sep 2012 07:41:25 -0000 1.2 +++ 1-0-install2LXR.shtml 18 Jan 2014 09:52:58 -0000 1.3 @@ -1,108 +1,92 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Déballage" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install1tools.shtml" --> <!--#set var="nextPage" value="1-0-install3config.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Déballage</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Ãtape 2: Déballage de LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Ãtape 2: Déballage de LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="2" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal"> + <section class="instr"> + <p class="normal"> Téléchargez la <a href="http://sourceforge.net/projects/lxr/files/stable/">motte LXR</a> si vous ne l'avez pas déjà fait. - </p> - <ol> - <li>Décidez où vous voulez installer LXR - <ul> - <li> - <p class="comment"> + </p> + <ol> + <li>Décidez où vous voulez installer LXR + <ul> + <li> + <p class="comment"> Si vous souhaitez juste voir comment LXR fonctionne sur un arbre-source personnel, vous pouvez simplement installer LXR dans votre propre répertoire dans <code>~/lxr/</code>. - </p> - </li> - <li> - <p class="comment"> + </p> + </li> + <li> + <p class="comment"> Si vous voulez offrir un service LXR à l'ensemble des utilisateurs, vous devez l'installer dans un répertoire public. Dans ce guide, ce sera <code>/usr/local/share/lxr/</code>. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> L'accès à ce répertoire peut demander le privilège <em>root</em>. - </p> - </li> - </ul> - <p class="normal"> + </p> + </li> + </ul> + <p class="normal"> Ce répertoire sera appelé <em class="defn">répertoire racine de LXR</em>. - </p> - </li> - <li>Décompressez la motte (<em>tarball</em>) - <p class="comment"> + </p> + </li> + <li>Décompressez la motte (<em>tarball</em>) + <p class="comment"> Nous supposons que la motte a été téléchargée dans votre répertoire <code>Téléchargements/</code>: - </p> - <ul> - <li>Installation personnelle: + </p> + <ul> + <li>Installation personnelle: <pre class="shell"> <samp>$ </samp><kbd>cd</kbd> <samp>$ </samp><kbd>tar -zxf ~/Téléchargements/lxr-x.y.z.tgz</kbd> </pre> - </li> - <li>Installation publique: + </li> + <li>Installation publique: <pre class="shell"> <samp>$ </samp><kbd>cd /usr/local/share</kbd> <samp>$ </samp><kbd>tar -zxf ~/Téléchargements/lxr-x.y.z.tgz</kbd> </pre> - </li> - </ul> - </li> - <li>Entrez dans le répertoire racine de LXR - <p class="comment"> + </li> + </ul> + </li> + <li>Entrez dans le répertoire racine de LXR + <p class="comment"> Vous pouvez renommer ce répertoire pour vous débarasser du numéro de version dans son nom. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>mv lxr-x.y.z lxr</kbd> </pre> - <p class="comment"> + <p class="comment"> à la suite des commandes précédentes, vous êtes un étage au-dessus du répertoire de LXR. Pour y entrer: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cd lxr</kbd> </pre> - </li> - </ol> - <p class="normal" id="install2autotest"> + </li> + </ol> + <p class="normal" id="install2autotest"> La <a href="1-0-install1tools.shtml">page d'installation des outils</a> a mentionné des exigences de version pour les outils auxiliaires nécessaires à LXR. Maintenant que LXR est en place, vous pouvez tester celles concernant <strong>Perl</strong> et <strong>ctags</strong> avec: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --checkonly</kbd> <samp>ERROR: could not open configuration file lxr.conf @@ -120,29 +104,26 @@ swish-e not found, `command -v swish-e` returned a null string genxref stopped without indexing by --checkonly option</samp> </pre> - <ul> - <li class="comment"> + <ul> + <li class="comment"> Comme LXR n'est pas encore configuré, il est normal d'obtenir des avertisements <em>Parameter </em>xxx<em> not defined</em>. Ignorez-les. - </li> - <li class="comment"> + </li> + <li class="comment"> Cette commande vérifie systématiquement l'existence de <strong>Glimpse</strong> et <strong>Swish-e</strong>. L'un des deux tests doit donner un résultat <em>not found</em>. - </li> - <li class="comment"> + </li> + <li class="comment"> Lisez soigneusement les lignes sur les numéros de version et les emplacements des outils. - </li> - </ul> - <p class="normal"> + </li> + </ul> + <p class="normal"> C'est fini. Vous devez maintenant configurer votre copie. - </p> - </td> - </tr> -</table> - + </p> + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install3config.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/1-0-InstallSteps/1-0-install3config.shtml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- 1-0-install3config.shtml 14 Mar 2013 18:21:54 -0000 1.8 +++ 1-0-install3config.shtml 18 Jan 2014 09:52:58 -0000 1.9 @@ -1,130 +1,111 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Configuration" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install2LXR.shtml" --> <!--#set var="nextPage" value="1-0-install4genxref.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Configuration</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - - <!--#set var="pageHeaderTitle" value="Ãtape 3: Configuration de LXR et de sa base de données" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> - -<table> - <tr> - <td class="navbar"> - <!--#set var="installStep" value="3" --> - <!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal boxed"> +<!--#set var="pageHeaderTitle" value="Ãtape 3: Configuration de LXR et de sa base de données" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> +<!--#set var="installStep" value="3" --><!--#include virtual="1-0-installNavbar.shtml" --> + <section class="instr"> + <p class="normal boxed"> Les instructions suivantes sont données pour un <span class="caution">projet simple</span>. Le <span class="caution">noyau Linux</span> est un cas complexe si vous souhaitez profiter de toutes les possibilités d'hyperliens. Consultez cette <a href="../Tips/tipkernel.shtml" title="Configuration pour le noyau Linux">astuce</a> après avoir installé LXR au moins dans un cas simple. - </p> - <p class="comment"> + </p> + <p class="comment"> Le cÅur de la configuration de LXR est un fichier nommé <em>lxr.conf</em> qui DOIT être placé dans le <em>répertoire racine de LXR</em>. - </p> - <p class="comment"> + </p> + <p class="comment"> Le script <em>configure-lxr.pl</em> construit une copie personnalisée à partir d'un "patron" pris dans le sous-répertoire <em>templates/</em> et la range dans le sous-répertoire <em>custom.d/</em>. - </p> - <ul> - <li>Créez simultanément les configurations de LXR et de la base de données avec le script - <code>configure-lxr.pl</code> + </p> + <ul> + <li>Créez simultanément les configurations de LXR et de la base de données avec le script + <code>configure-lxr.pl</code> <pre class="shell"> <samp>$ </samp><kbd>./scripts/configure-lxr.pl -vv</kbd> </pre> - <p class="comment"> + <p class="comment"> Ceci lance le script de configuration avec les options par défaut, <em>i.e.</em> émission du fichier de configuration <em>lxr.conf</em> et du script de création de la base de données <em>init-db.sh</em> dans le répertoire <em>custom.d/</em> à partir du modèle <em>lxr.conf</em>. - </p> + </p> <pre class="shell"> <samp>*** LXR configurator (version: 1.0) *** LXR root directory is /home/myself/lxr Configuration will be stored in custom.d/</samp> </pre> - <p class="normal"> + <p class="normal"> Le script de configuration construit un fichier personnalisé <em>lxr.conf</em> à l'aide des réponses à quelques questions. La réponse par défaut (celle sélectionnée quand vous tapez seulement "retour chariot") est indiquée en majuscules. Vous n'avez pas besoin d'écrire le choix sélectionné en entier, tapez juste assez de caractères pour rendre la réponse non ambiguë. - </p> - <ul class="version"> - <li>Version 1.1 et supérieures - <p class="comment"> + </p> + <ul class="version"> + <li>Version 1.1 et supérieures + <p class="comment"> Configurer le serveur web demandant un soin particulier, les questions suivantes visent à faciliter cette tâche. - </p> + </p> <pre class="shell"> <samp>Configure for single/multiple trees? [S/m] ></samp> </pre> - <p class="normal caution"> + <p class="normal caution"> Important! C'est le seul choix que vous ne pourrez pas changer ultérieurement car il configure le serveur web d'une façon non triviale. - </p> - <p class="normal"> + </p> + <p class="normal"> Répondez <code>S</code> si vous ne proposerez jamais qu'un seul arbre (si vous changez d'idée à ce sujet, vous serez contraint de recommencer de zéro avec l'effacement de la base de données en cours de création). C'est néanmoins un choix idéal pour un premier essai. - </p> - <p class="normal"> + </p> + <p class="normal"> Répondez <code>M</code> si vous avez l'intention d'ajouter un autre arbre dans un avenir indéfini. - </p> + </p> <pre class="shell"> <samp>Do you intend to add other trees later? [yes/NO] ></samp> </pre> - <p class="comment"> + <p class="comment"> Cette question offre la possibilité de corriger une erreur de choix. Supposons que le choix par défaut <code>S</code> était le bon. - </p> - <p class="normal"> + </p> + <p class="normal"> Traiter l'arbre source correct demande un codage spécifique de l'URL. LXR a été conçu pour désigner le service LXR après le nom d'hôte, puis l'arbre voulu. - </p> - <p class="normal"> + </p> + <p class="normal"> Si les pages du serveur viennent uniquement de LXR, le nom de service (habituellement <code>/lxr</code>) peut être omis. - </p> - <p class="comment"> + </p> + <p class="comment"> Ceci correspond au cas d'un site entièrement dédié à LXR (cas 1 et 3 ci-dessous). - </p> - <p class="normal"> + </p> + <p class="normal"> En contexte d'arbre unique, il n'est pas besoin de désigner l'arbre. - </p> - <p class="comment"> + </p> + <p class="comment"> Ceci supprime la question ultérieure sur la racine virtuelle. - </p> + </p> <pre class="shell"> <samp>*** LXR web server configuration *** @@ -138,178 +119,178 @@ /4.section in indepedent ] > </samp><kbd>2</kbd> </pre> - <p class="normal"> + <p class="normal"> Choisissez <code>1</code> (réponse par défaut) pour le cas le plus simple ou <code>2</code> pour ne pas écraser un server local existant. - </p> + </p> <pre class="shell"> <samp>The computer hosting the server is described by an URL. The form is scheme://host_name:port where: - - scheme is either http or https (http: can be omitted), - - host_name can be given as an IP address such as 123.45.67.89 - or a domain name like localhost or lxr.url.example, - - port may be omitted if standard for the scheme. +- scheme is either http or https (http: can be omitted), +- host_name can be given as an IP address such as 123.45.67.89 + or a domain name like localhost or lxr.url.example, +- port may be omitted if standard for the scheme. The following question asks for a primary URL. Later, you'll have the opportunity to give aliases to this primary URL. --- Host name or IP? [//localhost] ></samp> </pre> - <p class="normal"> + <p class="normal"> Le serveur local par défaut s'appelle généralement <code>//localhost</code>, tapez alors "retour chariot". - </p> + </p> <pre class="shell"> <samp>URL section name for LXR in your server? [/lxr] ></samp> </pre> - <p class="normal"> + <p class="normal"> C'est le nom sous lequel le service LXR sera requis par l'URL. - </p> - <p class="comment"> + </p> + <p class="comment"> <span class="attention">ATTENTION!</span><br> Si vous répondez <code>/</code>, vous revenez aux cas 1 ou 3 sans aucun avertissement. Ceci peut entraîner de sérieux dysfonctionnements dans votre server web existant. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>The choice of the database engine can make a difference in indexing performance, but resource consumption is also an important factor. - * For a small personal project, try SQLite which do not - need a server and is free from configuration burden. - * For medium to large projects, choice is between MySQL, - PostgreSQL and Oracle. - Oracle is not a free software, its interface has not been - tested for a long time. - * PostgreSQL databases are smaller than MySQL's - and performance is roughly equivalent. - * MySQL is at its best with marge-sized projects (such as kernel - cross-referencing) where it is fastest at the cost of bigger - databases. - * Take also in consideration the number of connected users.</samp> +* For a small personal project, try SQLite which do not +need a server and is free from configuration burden. +* For medium to large projects, choice is between MySQL, +PostgreSQL and Oracle. +Oracle is not a free software, its interface has not been +tested for a long time. +* PostgreSQL databases are smaller than MySQL's +and performance is roughly equivalent. +* MySQL is at its best with marge-sized projects (such as kernel +cross-referencing) where it is fastest at the cost of bigger +databases. +* Take also in consideration the number of connected users.</samp> <samp>Database engine? [MYSQL/oracle/postgres/sqlite] ></samp> </pre> - <p class="normal"> + <p class="normal"> Sélectionnez la base de données en fonction de la politique de votre site ou de ses disponibilités. - </p> - <ul class="version"> - <li>Version 1.0 + </p> + <ul class="version"> + <li>Version 1.0 <pre class="shell"> <samp>Configure for single/multiple trees? [S/m] ></samp> </pre> - <p class="normal caution"> + <p class="normal caution"> Important! C'est le seul choix que vous ne pourrez pas changer ultérieurement car il configure le serveur web d'une façon non triviale. - </p> - <p class="normal"> + </p> + <p class="normal"> Répondez <code>S</code> si vous ne proposerez jamais qu'un seul arbre (si vous changez d'idée à ce sujet, vous serez contraint de recommencer de zéro avec l'effacement de la base de données en cours de création). C'est néanmoins un choix idéal pour un premier essai. - </p> - <p class="normal"> + </p> + <p class="normal"> Répondez <code>M</code> si vous avez l'intention d'ajouter un autre arbre dans un avenir indéfini. - </p> + </p> <pre class="shell"> <samp>Do you intend to add other trees later? [yes/NO] ></samp> </pre> - <p class="comment"> + <p class="comment"> Cette question offre la possibilité de corriger une erreur de choix. Supposons que le choix par défaut <code>S</code> était le bon. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>--- Directory for glimpse databases? ></samp><kbd>/home/myself/glimpse_DB</kbd> </pre> - <p class="normal"> + <p class="normal"> Le script de configuration a détecté le moteur de recherche en plein texte et demande un répertoire pour ses fichiers auxiliaires. Ce répertoire sera créé plus tard par LXR s'il n'existe pas. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> ATTENTION! Si vous crééez vous-même ce répertoire, assurez-vous qu'il peut être lu par <em>"tout le monde"</em>. - </p> + </p> <pre class="shell"> <samp>templates directory templates/ now protected read-only</samp> </pre> - <ul class="version"> - <li>Version 1.1 et supérieures + <ul class="version"> + <li>Version 1.1 et supérieures <pre class="shell"> <samp>Is your Apache version 2.4 or higher? [YES/no] ></samp> </pre> - <p class="normal"> + <p class="normal"> Comme les contrôles d'accès ont changé entre Apache 2.2 et 2.4, il est nécessaire de connaître quelle version est utilisée sur votre ordinateur pour configurer correctement les fichiers d'accès d'Apache. - </p> - <p class="comment"> + </p> + <p class="comment"> N'importe quelle réponse est valable si vous n'utilisez pas Apache. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>file .htaccess written into LXR root directory file apache2-require.pl written into configuration directory file apache-lxrserver.conf written into configuration directory file lighttpd-lxrserver.conf written into configuration directory</samp> </pre> - <p class="comment"> + <p class="comment"> Ceci termine la partie générale de la configuration. Le script passe au fichier principal de configuration. - </p> + </p> <pre class="shell"> <samp>*** LXR master configuration file setup *** - Global section part +Global section part *** Configuring auxiliary tool paths *** Configuring host name or IP (as http://...)</samp> <samp>--- Host name? ></samp><kbd>//localhost</kbd> </pre> - <ul class="version"> - <li>Version 1.1 et supérieures + <ul class="version"> + <li>Version 1.1 et supérieures <pre class="shell"> <samp>*** Host name previously defined as //localhost</samp> </pre> - <p class="comment"> + <p class="comment"> Cette ligne rappelle le nom d'hôte que vous avez défini plus haut pendant la configuration du serveur web. - </p> - </li> - <li>Version 1.0 + </p> + </li> + <li>Version 1.0 <pre class="shell"> <samp>--- Host name? ></samp><kbd>//localhost</kbd> </pre> - <p class="normal"> + <p class="normal"> Donnez le nom d'hôte principal. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>--- Alias name ? (hit return to stop) ></samp><kbd>//mycomputer.example.com</kbd> <samp>--- Alias name ? (hit return to stop) ></samp> </pre> - <p class="normal"> + <p class="normal"> Donnez autant d'alias (éventuellement aucun) que de besoin. - </p> + </p> <pre class="shell"> <samp>*** Configuring HTML parameters </pre> - <ul class="version"> - <li>Version 1.1 et supérieures + <ul class="version"> + <li>Version 1.1 et supérieures <pre class="shell"> <samp>'Buttons-and-menus' interface is recommended for the kernel *** to avoid screen cluttering. --- Use 'buttons-and-menus' instead of 'link' interface? [YES/no] ></samp> </pre> - <p class="normal"> + <p class="normal"> L'interface <em>boutons-et-menus</em> présente une mise en page plus dense que l'interface <em>lien</em> traditionnel. Il est vivement recommandé dans les situations @@ -317,90 +298,90 @@ comme dans le cas du noyau Linux, lorsqu'une forme de contrôle de configuration est réalisée à l'aide de nombreuses variables auxiliaires LXR. - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>*** Configuring file subsection *** Configuring "common factors" *** Marking tree section</samp> </pre> - <p class="comment"> + <p class="comment"> La partie indépendante des arbres est maintenant configurée. - </p> + </p> <pre class="shell"> <samp>*** LXR master configuration file setup *** - Tree section part - SQL script for database initialisation +Tree section part +SQL script for database initialisation *** Configuring LXR server parameters *** The virtual root is the fixed URL part after the hostname.</samp> </pre> - <ul class="version"> - <li>Version 1.1 et supérieures + <ul class="version"> + <li>Version 1.1 et supérieures <pre class="shell"> <samp>*** You previously defined the virtual root as /lxr</samp> </pre> - <p class="comment"> + <p class="comment"> Cette ligne rappelle la racine virtuelle implicite ou définie plus haut pendant la configuration du serveur web. - </p> - </li> - <li>Version 1.0 + </p> + </li> + <li>Version 1.0 <pre class="shell"> <samp>--- Virtual root? (i.e. URL part after host) [/lxr] ></samp> </pre> - <p class="normal"> + <p class="normal"> La réponse par défaut construit un URL <code>http://localhost/lxr</code>. Si vous rangez votre serveur LXR à la racine de votre site, pour être accédé comme <code>http://localhost</code>, la réponse doit être <code>/</code> et non pas vide (ce qui sélectionnerait par défaut <code>/lxr</code>). - </p> - </li> - </ul> + </p> + </li> + </ul> <pre class="shell"> <samp>--- Caption in page header? (e.g. Project XYZZY displayed by LXR) ></samp><kbd>LXR first trial</kbd> </pre> - <p class="normal"> + <p class="normal"> Ceci définit le titre dans la zone d'en-tête de chaque page. - </p> + </p> <pre class="shell"> <samp>Do you need a specific encoding for this tree ? [yes/NO] ></samp> </pre> - <p class="normal"> + <p class="normal"> Le codage par défaut est <code>UTF-8</code>. Si votre arbre utilise un autre codage, répondez <code>Y</code> et entrez un codage normalisé par l'IANA, comme <code>iso-8859-1</code>. - </p> + </p> <pre class="shell"> <samp>*** Describing tree location How is your tree stored? [FILES/cvs/git/subversion/bitkeeper] *** A source directory contains one sub-directory for every version.</samp> <samp>--- Source directory? (e.g. /home/myself/project-tree) ></samp><kbd>/home/myself/my-project</kbd> </pre> - <p class="normal"> + <p class="normal"> Faites votre premier essai sur un arbre résidant dans des vrais fichiers et répertoires (<em>i.e.</em> pas dans un dépôt de SCV/VCS). Remarquez que le chemin vers le répertoire du projet est sous forme <strong>absolue</strong>. - </p> - <p class="comment"> + </p> + <p class="comment"> <span class="caution">RAPPEL!</span> L'objectif de LXR est la navigation entre différentes versions d'un projet. En conséquence, il s'attend à trouver des sous-répertoires de version dans le répertoire source désigné, comme <em>/home/myself/my-project/v1</em>, …, même si vous n'avez qu'une seule version. - </p> + </p> <pre class="shell"> <samp>Name to display for the path root? (e.g. Project or $v for version) [$v] ></samp> </pre> - <p class="normal"> + <p class="normal"> Ceci est un raccourci du chemin du répertoire soure dans un nom complet de fichier pour l'affichage dans l'en-tête de page. La réponse par défaut <code>$v</code> insère dynamiquement le nom de version. - </p> + </p> <pre class="shell"> <samp>*** Enumerating versions Label for version selection menu? [Version] @@ -413,17 +394,17 @@ *** a prefered version.</samp> <samp>--- Default displayed version is first in 'range'? [YES/no] ></samp> </pre> - <p class="normal"> + <p class="normal"> Indiquez à LXR les versions figurant dans le répertoire source. Pour arrêter la demande de version, répondez avec un nom vide (tapez juste "retour chariot"). - </p> - <p class="comment"> + </p> + <p class="comment"> <strong>Astuce:</strong><br> Pour faire afficher la dernière version par défaut, listez-les en ordre chronologique inverse, la dernière en premier, la plus ancienne en dernier. - </p> + </p> <pre class="shell"> <samp>*** Setting directory lists *** Some directories may contain non-public project data (binaries, @@ -433,11 +414,11 @@ *** LXR needs hints to resolve the destination file. --- Include directory, e.g. /include? (hit return to stop) ></samp> </pre> - <p class="normal"> + <p class="normal"> Laissez de côté ces questions pour un arbre simple. Elles permettent de "cacher" des sous-répertoires aux yeux de LXR et de résoudre les directives <em>include</em> figurant dans le source. - </p> + </p> <pre class="shell"> <samp>*** Configuring data storage</samp> <samp>--- Database name? ></samp><kbd>lxr_myproject</kbd> @@ -448,47 +429,47 @@ <samp>configuration saved in custom.d/t DB initialisation sript is custom.d/initdb.sh</samp> </pre> - <p class="normal"> + <p class="normal"> Donnez un nom à la base de données selon les règles de votre site. De toute façon, il est toujours sage qu'il soit unique, à moins que vous définissiez la base en tant que jeu de tables particulier au sein d'une base existante. Dans ce cas, donnez un préfixe de tables unique à la place de <code>lxr_</code> par défaut. - </p> - <p class="comment"> + </p> + <p class="comment"> La partie spécifique à l'arbre est maintenant configurée et vous en avez terminé. - </p> - </li> - <li>Vérifiez l'environment de la base de données - <p class="normal"> + </p> + </li> + <li>Vérifiez l'environment de la base de données + <p class="normal"> Le script d'initialisation de la base de données travaille sous l'utilisateur maître (par défaut <code>root</code> pour <strong>MySQL</strong> et <code>postgres</code> pour <strong>PostgreSQL</strong>). Si son nom a été changé sur votre ordinateur, modifiez <em>initdb.sh</em>. - </p> - </li> - <li><a name="createdb">Créez la base de données</a> - <p class="normal"> + </p> + </li> + <li><a name="createdb">Créez la base de données</a> + <p class="normal"> Lancez le script résultat de l'étape précédente. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./custom.d/initdb.sh</kbd> </pre> - <p class="comment"> + <p class="comment"> <strong>Note:</strong> sous <strong>MySQL</strong>, le mot de passe maître est demandé plusieurs fois. - </p> - <p class="comment"> + </p> + <p class="comment"> Ignorez les erreurs concernant les objets inexistants (utilisateur, base de données, tables, …). Ce script tente de détruire les objets avant de les créer, de façon qu'il puisse être relancé n'importe quand dans un état cohérent. - </p> - <p class="comment caution"> + </p> + <p class="comment caution"> ATTENTION!<br> Il vaut néanmoins mieux détruire ce script dès qu'il a été utiliséc car le script <em>configure-lxr.pl</em> ajoute toujours son @@ -501,35 +482,32 @@ Quand le script est relancé, les nouvelles bases de données sont créées et les anciennes recréées, entraînant la perte de leur contenu. - </p> - </li> - <li>Copiez <code>lxr.conf</code> à son emplacement final - <p class="normal"> + </p> + </li> + <li>Copiez <code>lxr.conf</code> à son emplacement final + <p class="normal"> Ajustez éventuellement (à la main) les paramètres de configuration avant la copie. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp custom.d/lxr.conf .</kbd> </pre> - <p class="comment"> + <p class="comment"> L'emploi de <code>cp</code> au lieu de <code>mv</code> permet d'ajouter d'autres arbres ultérieurement sans tout reconfigurer. - </p> - </li> - </ul> - <div class="boxed"> - <p class="normal"> -Pour un exemple de valeurs de paramètres -sur les arbres en démonstration sur SourceForge, -voyez <a href="/cgi-bin/showconfig">ici</a>. </p> - </div> + </li> + </ul> + <div class="boxed"> <p class="normal"> -Vous êtez prêt pour charger la base de données avec vos informations. +Pour un exemple de valeurs de paramètres +sur les arbres en démonstration sur SourceForge, +voyez <a href="/demo/showconfig">ici</a>. </p> - </td> - </tr> -</table> - + </div> + <p class="normal"> +Vous êtez prêt pour charger la base de données avec vos informations. + </p> + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install4genxref.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/1-0-InstallSteps/1-0-install4genxref.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- 1-0-install4genxref.shtml 23 Sep 2012 16:48:10 -0000 1.3 +++ 1-0-install4genxref.shtml 18 Jan 2014 09:52:58 -0000 1.4 @@ -1,84 +1,75 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Chargement base de données" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install3config.shtml" --> <!--#set var="nextPage" value="1-0-install5server.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 1.0 Chargement base de données</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> - <link rel="next" href="<!--#echo var='nextPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Ãtape 4: Chargement de la base de données de LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Ãtape 4: Chargement de la base de données de LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="4" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class="instr"> - <p class="normal"> + <section class="instr"> + <p class="normal"> Il est temps de créer l'index. C'est le travail du script <strong><code>genxref</code></strong>. <code>genxref</code> piloté par deux arguments: - </p> - <ul> - <li><code>--url=</code><em>URL_de_l_arbre_source</em> - <p class="normal"> + </p> + <ul> + <li><code>--url=</code><em>URL_de_l_arbre_source</em> + <p class="normal"> L'URL est composé d'un nom de <code>'host_names'</code> suivi de <code>'virtroot'</code>. <br> Le but de cet argument est de sélectionner dans <em>lxr.conf</em> l'arbre sur lequel travailler. - </p> - </li> - <li><code>--version=</code><em>nom_de_version_a_indexer</em> - <p class="normal"> + </p> + </li> + <li><code>--version=</code><em>nom_de_version_a_indexer</em> + <p class="normal"> Ceci demande à <code>genxref</code> de n'indexer QUE la version indiquée. Il est intéressant dans le cas d'arbres possédant de nombreuses versions de limiter le temps consommé quand une seule version a été modifiée depuis la dernière indexation. - </p> - <p class="comment"> + </p> + <p class="comment"> La version doit correspondre à l'une de celles définies dans le paramètre <code>'range'</code>. - </p> - </li> - </ul> - <p class="normal"> - Avec la configuration précédente, ceci donne: - </p> + </p> + </li> + <li><code>--treename=</code><em>nom_de_l_arbre_a_indexer</em> + <p class="normal"> +<span class="comment">(à partir de LXR 2.0)</span> +Ceci sélectionne un arbre si l'arbre est désigné par un argument de l'URL. + </li> + </ul> + <p class="normal"> +Avec la configuration précédente, ceci donne: + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --url=http://localhost/lxr --version=v1</kbd> </pre> - <p class="normal caution"> + <p class="normal caution"> Selon la taille de votre source, l'indexation peut être très longue. Si vous avez l'intention d'indexer le noyau Linux, envisagez de lancer <code>genxref</code> pendant la nuit. Testez d'abord sur un cas réduit s'il s'agit de votre première installation. - </p> - <p class="comment"> + </p> + <p class="comment"> à titre d'exemple, l'indexation d'une seule version du noyau 3.1 prend 2 heures 39 minutes sur un ordinateur puissant (processeur Intel i5 3.3GHz et mémoire 4Go sous Fedora 17, MySQL et Glimpse). - </p> - <p class="normal"> +Cette durée tombe légèrement en dessous d'une heure avec <em>LXR 2.0</em> +sur le même ordinateur soigneusement paramétré. + </p> + <p class="normal"> Avant de lancer cette tâche de longue haleine, vous avez encore l'occasion de vérifier votre configuration pour détecter les erreurs grossières avec l'argument <code>--checkonly</code>: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --url=http://localhost/lxr --version=v4 --checkonly</kbd> <samp>[ OK ] Perl version ... 5.14.2 @@ -89,21 +80,18 @@ swish-e not found, `command -v swish-e` returned a null string genxref stopped without indexing by --checkonly option</samp> </pre> - <p class="comment"> + <p class="comment"> Bien entendu, toutes les erreurs ne sont pas trouvées, mais ce test élimine les erreurs de frappe sur les paramètres critiques. - </p> - <p class="normal"> + </p> + <p class="normal"> Vous pouvez aussi demander à <code>genxref</code> d'indexer toutes les versions de votre arbre avec l'argument <code>--allversions</code>: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --url=http://localhost/lxr --allversions</kbd> </pre> - </td> - </tr> -</table> - +</section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-install5server.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/1-0-InstallSteps/1-0-install5server.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- 1-0-install5server.shtml 23 Sep 2012 16:48:10 -0000 1.3 +++ 1-0-install5server.shtml 18 Jan 2014 09:52:58 -0000 1.4 @@ -1,33 +1,19 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="fr" --> +<!--#set var="pageMetaTitle" value="LXR 1.0 Configuration du serveur web" --> <!--#set var="indxPage" value="1-0-install.shtml" --> <!--#set var="prevPage" value="1-0-install4genxref.shtml" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR 0.11 Configuration du serveur web</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <link rel="index" href="<!--#echo var='indxPage' -->"> - <link rel="prev" href="<!--#echo var='prevPage' -->"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Ãtape 5: Configuration du serveur web" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<table> - <tr> - <td class="navbar"> +<!--#set var="pageHeaderTitle" value="Ãtape 5: Configuration du serveur web" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <!--#set var="installStep" value="5" --><!--#include virtual="1-0-installNavbar.shtml" --> - </td> - <td class=instr> + <section class=instr> <p class="normal"> La dernière tâche est de configurer le serveur web. Les instructions ci-dessous sont données pour les serveurs <strong>Apache</strong> et <strong>lighttpd</strong>. +Lisez le <cite>Manuel de l'utilisateur</cite> pour les autres serveurs. </p> <ul> <li>Serveur web <strong>Apache</strong> @@ -147,7 +133,7 @@ </ul> <p class="comment"> Si vous exploitez déjà un serveur lighttpd, -L'incorporation de LXR dans la configuration globale vous est laissée en exercice. +l'incorporation de LXR dans la configuration globale vous est laissée en exercice. </p> </li> <li>Si vous rencontrez ultérieurement des difficultés avec SELinux @@ -169,10 +155,7 @@ Démarrez votre navigateur web et aller à <code>http://localhost/lxr/source</code>. Vous devriez voir le contenu du répertoire de la version par défaut de votre arbre. </p> - </td> - </tr> -</table> - + </section> +</section> <!--#include virtual="/${langPrefix}installNavBtn.shtml" --> - -<!--#include virtual="/backstore/footer.shtml" --> +<!--#include virtual="/backstore5/footer.shtml" --> Index: 1-0-installNavbar.shtml =================================================================== RCS file: /cvsroot/lxr/html/fr/1-0-InstallSteps/1-0-installNavbar.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- 1-0-installNavbar.shtml 27 Aug 2012 07:50:49 -0000 1.2 +++ 1-0-installNavbar.shtml 18 Jan 2014 09:52:58 -0000 1.3 @@ -1,6 +1,20 @@ <!-- This is the navigation side-bar for the installation instructions --> <!-- $Id$ --> - <h2>Navigation</h2> +<style scoped type="text/css"> + body > section +{ display: table table-row +} + section > .navbar +, section > .instr +{ display: table-cell +} + section > .instr +{ padding-left: 1em +/* ; margin-right: 1cm */ +} +</style> + <nav class="navbar"> + <h1>Navigation</h1> <!--#set var="nav_arg" value="0,1-0-install,Ãtapes d'installation" --><!--#include virtual="/backstore/nav_link.shtml" --><br> <!--#set var="nav_arg" value="1,1-0-install1tools,Install. environnement" --><!--#include virtual="/backstore/nav_link.shtml" --> <!--#set var="nav_arg" value="2,1-0-install2LXR,Déballage LXR" --><!--#include virtual="/backstore/nav_link.shtml" --> @@ -8,3 +22,4 @@ <!--#set var="nav_arg" value="4,1-0-install4genxref,Chargement BdD" --><!--#include virtual="/backstore/nav_link.shtml" --> <!--#set var="nav_arg" value="5,1-0-install5server,Configuration serveur" --><!--#include virtual="/backstore/nav_link.shtml" --> <br><!--#set var="nav_arg" value="A,../advancedconfig,Config. avancée" --><!--#include virtual="/backstore/nav_link.shtml" --> + </nav> |
From: Andre-Littoz <ajl...@us...> - 2014-01-05 14:36:15
|
Update of /cvsroot/lxr/html/en In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv27789/en Modified Files: index.shtml Log Message: en/index.shtml: add link to Developer's Manual download page Index: index.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/index.shtml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- index.shtml 31 Dec 2013 17:49:09 -0000 1.13 +++ index.shtml 5 Jan 2014 14:36:12 -0000 1.14 @@ -128,8 +128,9 @@ <p class="normal"> This documentation is automatically extracted from the code. It gives summary information about the LXR browsing components. -Full technical information will soon be available in the -<em>Developer's Manual</em>. +Full technical information is available in the +<a href="http://sourceforge.net/projects/lxr/files/doc/" title="Download page for the manual"> +<cite>Developer's Manual</cite></a>. </p> </li> <li><a href="usermanual.shtml">Online user manual</a> |
From: Andre-Littoz <ajl...@us...> - 2014-01-05 12:17:18
|
Update of /cvsroot/lxr/html/en/LxrConf In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18642/en/LxrConf Modified Files: lxrconfcondvars.shtml lxrconfcusticons.shtml lxrconfexclude.shtml lxrconffilepaths.shtml lxrconfglobparms.shtml lxrconfgraphics.shtml lxrconfinclude.shtml lxrconfmaps.shtml lxrconfmtmdb.shtml lxrconfmtsdb.shtml lxrconfoverride.shtml lxrconfstruct.shtml lxrconftreeparms.shtml Log Message: Switching to HTML5, step 4: configuration, templates and generic parser directories in en/ Index: lxrconfcondvars.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfcondvars.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- lxrconfcondvars.shtml 19 May 2012 10:53:37 -0000 1.2 +++ lxrconfcondvars.shtml 5 Jan 2014 12:17:15 -0000 1.3 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Conditional variables</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Conditional Variables" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Conditional Variables" --> +<!--#set var="pageHeaderTitle" value="Conditional Variables" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> In order to browse complex project sources, ones in which the configuration management system plays a very important part, @@ -60,7 +51,7 @@ </p> <p class="comment"> The process proceeds in two steps. -First, the variable value is substituted for <code>$</code><em>v</em>. +First, the variable value is substituted for <code>$</code><em>var_id</em>. Second, the resulting expression is evaluated. </p> <p class="comment"> @@ -110,5 +101,5 @@ see the <a href="/<!--#echo var="langPrefix" -->Tips/tips.shtml">Tips</a> page. </p> </div> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfcusticons.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfcusticons.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lxrconfcusticons.shtml 11 Mar 2012 14:49:15 -0000 1.1 +++ lxrconfcusticons.shtml 5 Jan 2014 12:17:15 -0000 1.2 @@ -1,29 +1,19 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Custom Icons in Directory Listing</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Custom Icons in Directory Listing" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Custom Icons in Directory Listing" --> +<!--#set var="pageHeaderTitle" value="Custom Icons in Directory Listing" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> It has been noticed by many users that the small icons displayed in the left column of directory listings are rather ugly and not distinctive enough. -They are found in the Apache-traditional <code>/icons</code> directory -but may not be present on your computer if you do not use Apache. +They are found in the Apache-traditional <em>/icons</em> directory +but may not be present on your computer if you do not use <em>Apache</em>. </p> <p class="normal"> -You can now provide your own icons -(but for the "back to parent directory"). +You can now provide your own icons. All you have to do is to provide information about these icons through some parameters in <em>lxr.conf</em>. </p> @@ -36,7 +26,7 @@ <li>Icon directory <p class="normal"> Create a directory under <em>DocumentRoot</em> -and put the icons inside. +and put (or link) the icons inside. </p> </li> <li>Update <em>lxr.conf</em> @@ -66,6 +56,7 @@ </p> <pre class="example"> , 'diricon' => '<em>icon_file_for_directory</em>' +, 'parenticon' => '<em>icon_for_parent_directory</em>' , 'graphicicon' => '<em>icon_file_for_graphic_files</em>' , 'defaulticon' => '<em>default_icon_file</em>' </pre> @@ -117,7 +108,7 @@ </p> <pre class="shell"> <samp>$ </samp><kbd>cd <em>LXR_root_directory</em></kbd> -<samp>$ </samp><kbd>ln -s /usr/share/icons/oxygen/22x22/mimetypes small-icons</kbd> +<samp>$ </samp><kbd>ln -s /usr/share/icons/oxygen/22x22/ small-icons</kbd> </pre> <p class="normal"> Edit the <em>lxr.conf</em> file. @@ -127,18 +118,19 @@ <pre class="example"> , 'iconfolder' => 'small-icons/' , 'icons' => - { 'c|pc' => 'text-x-csrc.png' - , 'h|hh' => 'text-x-chdr.png' - , 'c\+\+|cc|cpp|cxx' => 'text-x-c++src.png' - , 'pl|pm|perl' => 'application-x-perl.png' - , 's?html?' => 'text-html.png' + { 'c|pc' => 'mimetypes/text-x-csrc.png' + , 'h|hh' => 'mimetypes/text-x-chdr.png' + , 'c\+\+|cc|cpp|cxx' => 'mimetypes/text-x-c++src.png' + , 'pl|pm|perl' => 'mimetypes/application-x-perl.png' + , 's?html?' => 'mimetypes/text-html.png' # More can be added, this is only a small sample } -, 'graphicicon' => 'image-x-generic.png' -, 'defaulticon' => 'unknown.png' -, 'diricon' => 'inode-directory.png' +, 'graphicicon' => 'mimetypes/image-x-generic.png' +, 'defaulticon' => 'mimetypes/unknown.png' +, 'diricon' => 'mimetypes/inode-directory.png' +, 'parenticon' => 'actions/go-up.png' </pre> </div> </div> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfexclude.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfexclude.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- lxrconfexclude.shtml 3 Jan 2013 11:07:03 -0000 1.3 +++ lxrconfexclude.shtml 5 Jan 2014 12:17:15 -0000 1.4 @@ -1,20 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Hiding subdirectories or files from LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Excluding Subdirectories or Files from LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> - <h2>Subdirectories</h2> +<!--#set var="pageMetaTitle" value="Hiding Subdirectories or Files from LXR" --> +<!--#set var="pageHeaderTitle" value="Excluding Subdirectories or Files from LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> + <h1>Subdirectories</h1> <p class="normal"> Some directories in your tree may not contain information relevant to your project. @@ -79,8 +70,10 @@ </p> </li> </ul> +</section> - <h2><a name="excludeFiles">Files</a></h2> +<section> + <h1><a id="excludeFiles">Files</a></h1> <p class="normal"> Similarly, some files intermixed with the real source files are not meaningful: compiler intermediate text-files (such as <code>.moc</code> files), @@ -171,5 +164,5 @@ </p> </li> </ul> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconffilepaths.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconffilepaths.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- lxrconffilepaths.shtml 23 Sep 2012 16:48:10 -0000 1.2 +++ lxrconffilepaths.shtml 5 Jan 2014 12:17:15 -0000 1.3 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>File designation in lxr.conf</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="How to Write Correct File Paths in lxr.conf" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="File Designation in lxr.conf" --> +<!--#set var="pageHeaderTitle" value="How to Write Correct File Paths in lxr.conf" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> Writing adequate file paths in <em>lxr.conf</em> is a bit cumbersome but is the key to a faultless configuration: @@ -29,7 +20,7 @@ LXR relies on: </p> <ul> - <li>A "pure" HTML page generator + <li class="normal">A "pure" HTML page generator <p class="normal"> File references from pure HTML code can be written <em class="defn">HTML-absolute</em> @@ -68,7 +59,7 @@ rooted at the LXR root directory. </p> </li> - <li>Its own Perl scripts + <li class="normal">Its own Perl scripts <p class="normal"> Perl scripts are executed in their own environment. They know from which directory they were invoked, @@ -83,7 +74,7 @@ These references will be called <em class="defn">LXR-relative</em>. </p> </li> - <li>Some auxiliary programs (such as <em>glimpse</em>) + <li class="normal">Some auxiliary programs (such as <em>glimpse</em>) <p class="normal"> These auxiliary programs are stored really anywhere in the computer, @@ -98,8 +89,8 @@ <p class="normal">Now, we can classify the file parameters. </p> <ul> - <li>Pure HTML parameters - <p class="normal caution"> + <li class="normal">Pure HTML parameters + <p class="normal caution"> Since these parameters are used virtually in any page whose location is unpredictable, you are strongly advised to use an <strong>HTML-absolute</strong> @@ -108,57 +99,55 @@ hierarchy if it is not the same as the LXR root directory (which can be the case if you want LXR to be a subpart of a wider site, not its own dedicated site). - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> Alternatively, leave the file/directory under the LXR root directory and use an HTML-relative form. Thanks to the <code><base></code> resolution, HTML-relative and LXR-relative forms happen to be the same. - </p> - <table> - <tr> - <td> + </p> + <div class="layoutrow"> + <div> <pre class="example"> 'stylesheet' 'alternate_stylesheet' </pre> - </td> - <td> - <p class="normal"> + </div> + <div> + <p class="normal"> copied in a <code><LINK REL="<em>alternate</em> stylesheet" … ></code> tag of the page <code><HEAD></code> section, which means you may have to move the <em>lxr.css</em> file to an adequate location. - </p> - </td> - </tr> - <tr> - <td> + </p> + </div> + </div> + <div class="layoutrow"> + <div> <pre class="example"> 'sourceaccess' </pre> - </td> - <td> - <p class="normal"> - used to access files through the Web server. - </p> - </td> - </tr> - <tr> - <td> + </div> + <div> + <p class="normal"> +used to access files through the Web server. + </p> + </div> + </div> + <div class="layoutrow"> + <div> <pre class="example"> 'iconfolder' </pre> - </td> - <td> - <p class="normal"> + </div> + <div> + <p class="normal"> directory containing the file-type icons. - </p> - </td> - </tr> - </table> + </p> + </div> + </div> </li> - <li>LXR-relative parameters + <li class="normal">LXR-relative parameters <table> <tr> <td> @@ -201,7 +190,7 @@ </tr> </table> </li> - <li>OS-absolute parameters + <li class="normal">OS-absolute parameters <table> <tr> <td> @@ -266,11 +255,16 @@ <td> <pre class="example"> 'cvspath' +'gitpath' +'svnpath' +'hgpath' +'bkpath' </pre> </td> <td> <p class="normal"> -a collection of paths where to find <em>cvs</em>. +a collection of paths where to find the storage engine tools +(<em>cvs</em>, <em>git</em>, <em>Subversion</em>, <em>Mercurial</em> or <em>BitKeeper</em>). </p> </td> </tr> @@ -293,5 +287,5 @@ Other parameters, like <code>'virtroot'</code>, look like file paths but are partial URL paths. </p> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfglobparms.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfglobparms.shtml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- lxrconfglobparms.shtml 7 Nov 2013 16:17:52 -0000 1.6 +++ lxrconfglobparms.shtml 5 Jan 2014 12:17:15 -0000 1.7 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR lxr.conf global parameters</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="lxr.conf Global Parameters" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR lxr.conf Global Parameters" --> +<!--#set var="pageHeaderTitle" value="lxr.conf Global Parameters" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> The global parameters are contained in <code><em>parameter_group-0</em></code> @@ -29,7 +20,8 @@ the following list meets general agreement: </p> <pre class="example"> -{ 'routing' => <em>where_to_find_treename_in_URL</em> # 2.0+ +{ 'routing' => <em>URL_decoding_method</em> # 2.0+ + , 'tmpdir' => <em>directory_for_temporary_files</em> , 'glimpsebin' => <em>path_to_glimpse</em> , 'glimpseindex' => <em>path_to_glimpseindex</em> @@ -39,8 +31,13 @@ , 'swishdirbase' => <em>root_for_glimpse_indexes</em> # 1.0+ , 'ectagsbin' => <em>path_to_ctags</em> , 'ectagsconf' => <em>path_to_ectags.conf</em> -, 'cvspath' => <em>possible_directories_for_cvs_tools</em> -, 'magicmime' => <em>path_to_magic_numbers_file</em> # 2.0+ +, 'magicmime' => <em>path_to_magic_signature_file</em> # 2.0+ + +, 'cvspath' => <em>possible_directories_for_cvs_tools</em> # 2.0+ +, 'gitpath' => <em>possible_directories_for_git_tools</em> # 2.0+ +, 'svnpath' => <em>possible_directories_for_Subversion_tools</em> # 2.0+ +, 'hgpath' => <em>possible_directories_for_Mercurial_tools</em> # 2.0+ +, 'bkpath' => <em>possible_directories_for_BitKeeper_tools</em> # 2.0+ , 'host_names' => <em>list_of_host_names</em> @@ -74,8 +71,8 @@ They contain values shared by all trees. </p> <p class="normal">Notes:</p> - <ol> - <li>'treeextract' + <ul> + <li><code>'treeextract'</code> <p class="normal"> Used in multiple trees context to locate the tree name in the URL, it is related to URL-processing to route the HTTP request to the LXR scripts. @@ -89,12 +86,12 @@ It is not considered wise to override it in a tree section. </p> </li> - <li>'ignorefiles' + <li><code>'ignorefiles'</code> <p class="normal"> Frequently overriden in tree sections but do not forget to merge the global exclusion rule into the tree-specific one. </p> </li> - </ol> - -<!--#include virtual="/backstore/footer.shtml" --> + </ul> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfgraphics.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfgraphics.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- lxrconfgraphics.shtml 23 Sep 2012 16:48:10 -0000 1.3 +++ lxrconfgraphics.shtml 5 Jan 2014 12:17:15 -0000 1.4 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Direct Graphics File Display from LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Graphics Files Display from LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Direct Graphics File Display from LXR" --> +<!--#set var="pageHeaderTitle" value="Graphics Files Display from LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> If your source tree contains graphics files (icons, pictures, ...) and you want to display them with your browser @@ -79,7 +70,7 @@ for every desired source tree. </p> </li> - <li>Tell LXR to use the link + <li>Tell <em>LXR</em> to use the link <p class="normal"> Edit the <em>lxr.conf</em> file. Go to the <em>tree location subsection</em> @@ -99,5 +90,5 @@ </p> </li> </ol> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfinclude.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfinclude.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lxrconfinclude.shtml 11 Mar 2012 14:49:15 -0000 1.1 +++ lxrconfinclude.shtml 5 Jan 2014 12:17:15 -0000 1.2 @@ -1,27 +1,16 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Include paths in LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - - <!--#set var="pageHeaderTitle" value="Configuring Include Paths in LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> - +<!--#set var="pageMetaTitle" value="Include Paths in LXR" --> +<!--#set var="pageHeaderTitle" value="Configuring Include Paths in LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> When the parameter for include paths is correctly configured, you can navigate the included files through hyperlinks. </p> <p class="normal"> -The purpose of this parameter is to give LXR the same information +The purpose of this parameter is to give <em>LXR</em> the same information that would be given the compiler through the command line to find the included files. </p> @@ -48,5 +37,5 @@ , 'incprefix' => [ '/include', '/include/linux' ] </pre> </div> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfmaps.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfmaps.shtml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- lxrconfmaps.shtml 3 Jan 2013 11:07:03 -0000 1.5 +++ lxrconfmaps.shtml 5 Jan 2014 12:17:15 -0000 1.6 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Dynamic path transformation in LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Rewrite Rules for Include Paths in LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Dynamic Path Transformation in LXR" --> +<!--#set var="pageHeaderTitle" value="Rewrite Rules for Include Paths in LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> The rewrite rules allow dynamic modification of the include paths. They are preferentially used for trees describing a multi-target @@ -107,7 +98,7 @@ </div> <p class="normal">Notes</p> - <ol> + <ul> <li>Escape the special characters <p class="normal"> You do not know the pattern context within LXR; @@ -123,9 +114,9 @@ has a wider capture range than required <p class="normal"> The pattern will catch <em>any</em> directory name -starting with <code>asm</code> -(such as <code>asm</code>, <code>asm.backup</code>, etc.) -and replace it with <code>asm-<em>xxx</em></code>. +starting with <em>asm</em> +(such as <em>asm</em>, <em>asm.backup</em>, etc.) +and replace it with <em>asm-</em>xxx. If you really want to transform <em>only</em> a path strictly defined by the requirement, use pattern <code>\/include\/asm\/</code>. @@ -136,10 +127,13 @@ <p class="normal"> Remember that the variable values are displayed in the header of the page as a set of clickables "buttons". -Click on one and the hyperlinks are recomputed. +Click on one +(or select a value from the drop-down menu +and click the <em>Change</em> button) +and the hyperlinks are recomputed. </p> </li> - </ol> + </ul> <div class="boxed"> <p class="normal"> Another example (with the <code>[]</code> syntax): @@ -150,17 +144,17 @@ <code>#include</code> directives in the Linux kernels 2.x and 3.x. </p> <p class="normal"> -The referenced files are stored in directories <code>/include</code> -and <code>/arch</code> for architecture-independent and architecture-dependent +The referenced files are stored in directories <em>/include</em> +and <em>/arch</em> for architecture-independent and architecture-dependent files respectively. </p> <p class="normal"> -The <code>arch</code> directory is itself structured not to restrict +The <em>arch/</em> directory is itself structured not to restrict what can be stored inside. -The <code>#include</code>d files are found in an <code>include</code> +The <code>#include</code>d files are found in an <em>include/</em> subdirectory of the architecture-specific subtree as -<code>/arch/<em>xxx</em>/include/asm/<em>yyy.h</em></code> -where <code><em>xxx</em></code> is replaced by the architecture name. +<em>/arch/</em>xxx<em>/include/asm/</em>yyy<em>.h</em> +where <code>xxx</code> is replaced by the architecture name. They are referenced from source code as <code>#include "asm/<em>yyy.h</em>"</code>. </p> <p class="normal"> @@ -195,10 +189,10 @@ system of the open source world. To cope with sub-architecture variants needs more variable definitions and more <code>'incprefix'</code> and <code>'maps'</code> rules. -Configuring LXR for the kernel deserves a +Configuring <em>LXR</em> for the kernel deserves a <a href="/<!--#echo var="langPrefix" -->Tips/tipkernel.shtml" title="Linux kernel include configuration">full chapter</a>. </p> </div> </div> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfmtmdb.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfmtmdb.shtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- lxrconfmtmdb.shtml 23 Sep 2012 16:48:10 -0000 1.4 +++ lxrconfmtmdb.shtml 5 Jan 2014 12:17:15 -0000 1.5 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR lxr.conf multiple projects, multiple databases</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> +<!--#set var="pageMetaTitle" value="LXR lxr.conf Multiple Projects, Multiple Databases" --> <!--#set var="pageHeaderTitle" value="lxr.conf Configuration for Multiple Projects, Multiple Databases" --> <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> + <!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="comment"> This is the recommended configuration if you want to index several projects. @@ -22,16 +13,18 @@ <a href="lxrconfmtmdb-pre10.shtml" title="Previous information">Content of this page</a> applicable before release 1.0. </p> - <p class="comment"> + <div class="boxed"> + <p class="comment"> <span class="caution">CAUTION!</span> <br> If you add projects after the initial LXR set-up, you should run the following command to avoid inadvertantly erasing your existing databases: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>rm ./custom.d/initdb.sh # avoid trouble</kbd> </pre> + </div> <ol> <li>You need to create a database for each source tree (or project) <p class="normal"> @@ -48,7 +41,7 @@ <code>'dbuser'</code> and <code>'dbpass'</code>. <code>'dbprefix'</code> can keep its default value. </p> - <p class="comment"> + <p class="comment caution"> This case does not apply to the <Strong>Oracle</strong> engine. </p> <p class="normal"> @@ -172,5 +165,5 @@ </pre> </li> </ol> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfmtsdb.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfmtsdb.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- lxrconfmtsdb.shtml 23 Sep 2012 16:48:10 -0000 1.2 +++ lxrconfmtsdb.shtml 5 Jan 2014 12:17:15 -0000 1.3 @@ -1,19 +1,18 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR lxr.conf multiple projects, single database</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="lxr.conf Configuration for Multiple Projects, Single Database" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR lxr.conf Multiple Projects, Single Database" --> +<!--#set var="pageHeaderTitle" value="lxr.conf Configuration for Multiple Projects, Single Database" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --><section> + <p class="comment caution"> +This configuration is deprecated. +The configuration wizard allows painlessly +for very versatile configuration organisation +without the trouble of manually tuning file <em>lxr.conf</em>. +See the +<a href="lxrconfmtmdb.shtml">multiple databases configuration</a> +page. + </p> <p class="normal"> You can use a single database for several projects, provided your source trees respect the following constraints: @@ -47,19 +46,19 @@ , 'dbname' => <em>db_designation</em> , 'dbuser' => <em>lxr_db_user</em> , 'dbpass' => <em>lxr_db_password</em> -, <em>search_engine_dir</em> => <em>directory</em> +, '<em>search_engine</em>dir' => <em>directory</em> </pre> <p class="normal"> -where <code><em>search_engine_dir</em></code> is either +where <code>'<em>search_engine</em>dir'</code> is either <code>'glimpsedir'</code> or <code>'swishdir'</code>. </p> <p class="normal"> -Eventually, you may keep the <code><em>search_engine_dir</em></code> +Eventually, you may keep the <code>'<em>search_engine</em>dir'</code> in the tree-specific parameter group to maintain separate indexes for the search engine. -Or, better, define <code><em>search_engine</em>dirbase</code> +Or, better, define <code>'<em>search_engine</em>dirbase'</code> in the global section, which implicitly creates independent indexes. </p> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfoverride.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfoverride.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- lxrconfoverride.shtml 23 Sep 2012 16:48:10 -0000 1.3 +++ lxrconfoverride.shtml 5 Jan 2014 12:17:15 -0000 1.4 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Overriding parameters in lxr.conf</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Overriding Parameters on a Per-tree Basis" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Overriding Parameters in lxr.conf" --> +<!--#set var="pageHeaderTitle" value="Overriding Parameters on a Per-tree Basis" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> As mentioned in <a href="lxrconfstruct.shtml">another page</a>, the configuration file is read in two passes: @@ -48,14 +39,14 @@ , 'encoding' => 'iso-8859-1' # Default character encoding ... } -, { 'baseurl' => 'http://localhost/tree-1' # Using default encoding +, { 'treename' => 'tree-1' # Using default encoding ... # No 'encoding' parameter here } -, { 'baseurl' => 'http://localhost/tree-2' +, { 'treename' => 'tree-2' , 'encoding' => 'utf-8' # Use Unicode for this one ... } -, { 'baseurl' => 'http://localhost/tree-3' # Again default encoding +, { 'treename' => 'tree-3' # Again default encoding ... # No 'encoding' parameter here } ) @@ -66,5 +57,5 @@ but be careful with the database parameters and those related to the URLs. </p> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconfstruct.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconfstruct.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lxrconfstruct.shtml 11 Mar 2012 14:49:15 -0000 1.1 +++ lxrconfstruct.shtml 5 Jan 2014 12:17:15 -0000 1.2 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR lxr.conf structure</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="lxr.conf Configuration File Architecture" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR lxr.conf Structure" --> +<!--#set var="pageHeaderTitle" value="lxr.conf Configuration File Architecture" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> The main configuration file, <em>lxr.conf</em>, is a parenthesis-enclosed comma-separated list of parameters: @@ -70,5 +61,5 @@ The <em class="defn">key</em> is a string. The <em class="defn">value</em> may be a string, a number, a list, an array or a hash. </p> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: lxrconftreeparms.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/LxrConf/lxrconftreeparms.shtml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- lxrconftreeparms.shtml 7 Nov 2013 16:17:52 -0000 1.8 +++ lxrconftreeparms.shtml 5 Jan 2014 12:17:15 -0000 1.9 @@ -1,24 +1,16 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR lxr.conf tree specific parameters</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="lxr.conf Tree-specific Parameters" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR lxr.conf Tree-specific Parameters" --> +<!--#set var="pageHeaderTitle" value="lxr.conf Tree-specific Parameters" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> The tree-specific parameters are contained in <code><em>parameter_group-n</em></code> (with <code><em>n</em></code> not equal to <code>0</code> (zero)) -and are read in only when the value of <code>'baseurl'</code> +and are read in only when the value of +<code>'hostnames'</code> + <code>'virtroot'</code> matches the access URL. </p> <p class="comment"> @@ -31,12 +23,13 @@ access to a tree: </p> <pre class="example"> -{ 'baseurl' => <em>access_URL</em> # deprecated 0.11+ -, 'baseurl_aliases'=> <em>URL_aliases</em> # deprecated 0.11+ -, 'treename' => <em>treename_for_argument_routing</em> # 2.0+ +{ 'host_names' => <em>host_name_in URL</em> # 0.11+ , 'virtroot' => <em>URL_without_hostname_part</em> +, 'treename' => <em>tree_name_when_in_argument</em> # 2.0+ , 'caption' => <em>header_title</em> # 0.10+ , 'shortcaption' => <em>tree_button_title</em> # 0.11+ +, 'baseurl' => <em>access_URL</em> # deprecated 0.11+ +, 'baseurl_aliases'=> <em>URL_aliases</em> # deprecated 0.11+ , 'sourceroot' => <em>repository_for_source_tree</em> , 'sourcerootname' => <em>root_title_in_displayed_path</em> @@ -106,5 +99,5 @@ </p> </li> </ul> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> |
From: Andre-Littoz <ajl...@us...> - 2013-12-31 20:17:59
|
Update of /cvsroot/lxr/html/en/Tips In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv26331/en/Tips Modified Files: tiperror500.shtml tipkernel.shtml tipnotextsearch.shtml tipreconstructdb.shtml tips.shtml Log Message: Switching to HTML5, step 3: 1.0+ installation and tips directories in en/ Index: tiperror500.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/Tips/tiperror500.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tiperror500.shtml 7 Nov 2013 16:17:52 -0000 1.1 +++ tiperror500.shtml 31 Dec 2013 20:17:56 -0000 1.2 @@ -1,18 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Fixing LXR Error 500</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Fixing Error 500 Without Reconfiguring" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Fixing LXR Error 500" --> +<!--#set var="pageHeaderTitle" value="Fixing Error 500 Without Reconfiguring" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="comment"> You went through the pain of configuring LXR for your mammoth project which took <em>genxref</em> dozens of hours to index @@ -25,64 +17,75 @@ This may be fixed in a matter of seconds. </p> - <h2>Context</h2> - <ul> - <li class="normal"> + <section> + <h1>Context</h1> + <ul> + <li class="normal"> Your web server is <strong>Apache 2.2</strong>. - </li> - <li class="normal"> + </li> + <li class="normal"> <strong>LXR</strong> release is <strong>1.1 or higher</strong>. - </li> - <li class="normal"> + </li> + <li class="normal"> You configured through the <strong>configuration wizard</strong>. - </li> - </ul> + </li> + </ul> + </section> - <h2>Cause</h2> - <p class="normal"> + <section> + <h1>Cause</h1> + <p class="normal"> You disregarded the importance of question - </p> + </p> <pre class="shell"> Is your Apache version 2.4 or higher? [YES/no] > </pre> - <p class="normal"> + <p class="normal"> and pressed "return" because the default answer is correct for most of the preceding questions. For your defence, this insignificant-looking question is "lost" among others. - </p> - <h2>Consequence</h2> - <p class="normal"> + </p> + </section> + + <section> + <h1>Consequence</h1> + <p class="normal"> An <em>.htaccess</em> file containing configuration directives recognised by <strong>Apache 2.4</strong> or higher has been copied to your <em>LXR root directory</em>. <strong>Apache 2.2</strong> errors out when it encounters these directives. - </p> - <h2>Solution</h2> - <div class="boxed"> - <p class="normal"> + </p> + </section> + + <section> + <h1>Solution</h1> + <div class="boxed"> + <p class="normal"> <span class="caution">Caveat!</span> If you customised any xxx<em>-lxrserver.conf</em>, <em>apache2-require.pl</em> or <em>lxr.css</em> file, backup them before proceeding in order to be able to reload them without having to go through customisation again. - </p> - </div> + </p> + </div> + <p class="normal"> Rerun a new fake configuration with the wizard: + </p> <pre class="shell"> $ <kbd>./scripts/configure-lxr.pl --conf-out=dummy --script-out=dummy.sh</kbd> </pre> - <ul> - <li class="normal">Accept default answers to initial questions</li> - <li class="normal">Give arbitrary directory to text search engine + <ul> + <li class="normal">Accept default answers to initial questions</li> + <li class="normal">Give arbitrary directory to text search engine (does not need to exist) - </li> - <li class= "normal"><strong>Answer <code class="error">NO</code> + </li> + <li class= "normal"><strong>Answer <code class="error">NO</code> to the <em>Apache</em> version level</strong> - </li> - </ul> + </li> + </ul> <pre class="shell"> WARNING: output configuration file test has an unusual extension! Configure for single/multiple trees? [S/m] > @@ -96,23 +99,23 @@ Is your Apache version 2.4 or higher? [YES/no] > <kbd>n</kbd> --- Use 'buttons-and-menus' instead of 'link' interface? [YES/no] > </pre> - <p class="comment"> + <p class="comment"> When this point is reached, all server configuration files have been copied into <em>custom.d/</em> and <em>.htaccess</em> has been replaced by a fresh copy. - </p> - <p class="normal"> + </p> + <p class="normal"> You can either abort the rest of configuration by typing <em>ctl+</em>C (^C) or continue, accepting default answers and giving arbitrary directory, file or version names (which do not need to exist) to open questions. - </p> - <p class="normal"> + </p> + <p class="normal"> Erase files <em>dummy</em>, <em>dummy.ctxt</em> and <em>dummy.sh</em> from <em>custom.d</em>. - </p> - + </p> <p class="comment">You're done. Relaunch your browser.</p> - -<!--#include virtual="/backstore/footer.shtml" --> + </section> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: tipkernel.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/Tips/tipkernel.shtml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- tipkernel.shtml 28 Aug 2012 07:00:14 -0000 1.5 +++ tipkernel.shtml 31 Dec 2013 20:17:56 -0000 1.6 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Configuration for Linux Kernel</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Configuring LXR for Linux Kernel Browsing" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR Configuration for Linux Kernel" --> +<!--#set var="pageHeaderTitle" value="Configuring LXR for Linux Kernel Browsing" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal caution"> This tip works with LXR release 1.0 or higher because precise control on the rules application order required @@ -31,54 +22,59 @@ and <a href="/<!--#echo var="langPrefix" -->LxrConf/lxrconfmaps.shtml">how to dynamically remap file paths</a>. </p> - <h2>Standard include links</h2> - <p class="normal"> + + <section> + <h1>Standard include links</h1> + <p class="normal"> The Linux kernel has been ported on many computer architectures. However, there exists a single source tree encompassing both all possible "features" and "machines". - </p> - <p class="comment"> + </p> + <p class="comment"> Here, the word <em>feature</em> is used to mean the available "services", such as ACPI, I/O, network, memory management, … - </p> - <p class="normal"> + </p> + <p class="normal"> To be manageable, the source tree is organized in smaller directories, eventually containing sub-directories to keep things tidy: - </p> - <ul> - <li class="normal"><em>kernel/</em> main source</li> - <li class="normal"><em>init/</em> boot and initialisation</li> - <li class="normal"><em>include/</em> include definitions</li> - <li class="normal">many directories dedicated to "features" or "services"</li> - </ul> - <p class="normal"> + </p> + <ul> + <li class="normal"><em>kernel/</em> main source</li> + <li class="normal"><em>init/</em> boot and initialisation</li> + <li class="normal"><em>include/</em> include definitions</li> + <li class="normal">many directories dedicated to "features" or "services"</li> + </ul> + <p class="normal"> The <em>include/</em> directory itself has a similar organisation with many sub-directories named after the feature. Featureless definitions are stored in the <em>linux/</em> sub-directory. - </p> - <p class="normal"> + </p> + <p class="normal"> A typical source file begins like: - </p> + </p> <pre class="example"> #include <linux/capability.h> #include <linux/file.h> #include <linux/times.h> #include <net/sock.h> </pre> - <p class="normal"> + <p class="normal"> As can be seen, the <em>include/</em> directory is implicit. Its location is passed to the compiler through an option. We need then to mimic this to enable hyperlink construction under the <code>#include</code> directives. This is possible with an <code>'incprefix'</code> parameter in <em>lxr.conf</em>: - </p> - <div class="boxed"> + </p> + <div class="boxed"> <pre class="example"> , 'incprefix' => [ '/include' ] </pre> - </div> - <h2>Architecture links</h2> - <p class="normal"> + </div> + </section> + + <section> + <h1>Architecture links</h1> + <p class="normal"> Architecture-specific parts are stored in the <em>arch/</em> directory in their own sub-directories (<em>alpha/</em>, <em>arm/</em>, <em>powerpc/</em>, <em>x86/</em>, …). @@ -86,13 +82,13 @@ architecture-independent code. Instead, the directive is written <code>#include <asm/...></code> as in the following example: - </p> + </p> <pre class="example"> #include <linux/mount.h> #include <asm/uaccess.h> #include <asm/div64.h> </pre> - <p class="normal"> + <p class="normal"> The abstract <em>asm/</em> directory is mapped to a real architecture-directory by the configuration management system through an option specification given to the compiler. @@ -100,28 +96,28 @@ where all <em>.h</em> definitions are stored. If we are interested in the <em>arm</em> architecture, we can augment the above <code>'incprefix'</code> to: - </p> - <div class="boxed"> + </p> + <div class="boxed"> <pre class="example"> , 'incprefix' => [ '/include' , '/arch/arm/include' ] </pre> - </div> - <p class="normal"> + </div> + <p class="normal"> But what if we want to compare the <em>x86</em> version? Reconfiguring <em>lxr.conf</em> for a two-minute reading is not user-friendly. - </p> - <p class="normal"> + </p> + <p class="normal"> Happily, we can use a very handy LXR feature: <code>'maps'</code> with variable substitution. - </p> - <p class="normal"> + </p> + <p class="normal"> First, we create a variable whose value will be the target architecture (in fact, the name of the architecture sub-directory). Let us call it <code>'a'</code> for <em>architecture</em>: - </p> - <div class="boxed"> + </p> + <div class="boxed"> <pre class="example"> , 'variables' => { 'v' => { … } # Version variable (mandatory) @@ -131,67 +127,70 @@ } } </pre> - <p class="comment"> + <p class="comment"> At this stage, the <code>'range'</code> content must be manually typed. We incur the risk of omitting an architecture or entering a non-existing one. Further below, a tip is given to automatically collect an up-to-date list. - </p> - </div> - <p class="normal indent"> + </p> + </div> + <p class="normal indent"> When LXR is launched, this variable appears in the header area. Just select the target architecture and click the <em>Change</em> button to set the variable. - </p> - <p class="normal"> + </p> + <p class="normal"> Next, the architecture <code>'incprefix'</code> rule must be rewritten to reference a <em>virtual</em> architecture: - </p> - <div class="boxed"> + </p> + <div class="boxed"> <pre class="example"> , 'incprefix' => [ '/include' , '/arch/%=ARCH=%/include' ] </pre> - <p class="comment"> + <p class="comment"> The name <em>%=ARCH=%</em> has been chosen in the hope it will never be a real directory name. If it is ever encountered, the name must be changed, otherwise strange things might happen with the next parameter. - </div> - <p class="normal"> + </div> + <p class="normal"> Finally, a path rewrite rule is applied just before the test for file existence with the variable value as parameter: - </p> - <div class="boxed"> + </p> + <div class="boxed"> <pre class="example"> , 'maps' => [ '^/arch/%=ARCH=%/' => '/arch/$a/' ] </pre> - </div> - <h2>Sub-architecture links</h2> - <p class="normal"> + </div> + </section> + + <section> + <h1>Sub-architecture links</h1> + <p class="normal"> The above configuration parameters are satisfactory for the "classical" computer architectures, but clearly do not meet all requirements for the embedded architectures, such as <em>arm</em>. These present variants in processors, boards, peripheral chips, … which challenge an effective LXR configuration. - </p> - <p class="comment"> + </p> + <p class="comment"> The known architectures with variants in the 3.x kernel are <em>arm</em>, <em>avr32</em>, <em>blackfin</em>, <em>cris</em>, <em>mn10300</em> and <em>um</em>. Unhappily, there is no automatic identification method. - </p> - <p class="normal"> + </p> + <p class="normal"> Let us consider the <em>arm</em> case as an example. The Linux-arm implementation must cope with <em>machine</em> and <em>platform</em> variants. Two new variables are then created: - </p> - <div class="boxed"> + </p> + <div class="boxed"> <pre class="example"> , 'variables' => { 'v' => { … } # Version variable (mandatory) @@ -211,46 +210,46 @@ } } </pre> - <p class="comment"> + <p class="comment"> The <code>'when'</code> clause is a 1.0 feature preventing variable display outside a defined context. Here, the variables appear on screen only when variable <code>'a'</code> is equal to <code>arm</code>. - </p> - </div> - <p class="normal"> + </p> + </div> + <p class="normal"> The <em>machine</em>-specific files are referenced with <code>#include <mach/…></code> and they live in the <em>arch/arm/mach-xxx/include/mach/</em> directory where <em>xxx</em> is one of the values defined in <code>'arm_mach'</code>'s <code>'range'</code> (respectively <code>'arm_plat'</code> for <em>platform</em>-specific files). - </p> - <p class="normal"> + </p> + <p class="normal"> Leaving aside <code>'incprefix'</code> for the moment, the following rules would do the job at first thought: - </p> + </p> <pre class="example"> , 'maps' => [ '^/arch/arm/%=LEVEL2=%/' => '/arch/arm/mach-${arm_mach}/' , '^/arch/arm/%=LEVEL2=%/' => '/arch/arm/plat-${arm_plat}/' ] </pre> - <p class="normal caution"> + <p class="normal caution"> THIS IS WRONG! - </p> - <p class="comment"> + </p> + <p class="comment"> Because the effect of <code>'maps'</code> rules is cumulative: after application of the first rule, <code>%=LEVEL2=%</code> has been replaced and, consequently, the second rule never matches any more since <code>%=LEVEL2=%</code> has disappeared. - </p> - <p class="normal"> + </p> + <p class="normal"> This implies we must force two different include paths. The correct configuration is - </p> - <div class="boxed"> + </p> + <div class="boxed"> <pre class="example"> , 'incprefix' => [ '/include' , '/arch/%=ARCH=%/include' @@ -264,43 +263,47 @@ , '^/arch/arm/%=LVL2B=%/' => '/arch/arm/plat-${arm_plat}/' ] </pre> - </div> - <p class="comment"> + </div> + <p class="comment"> CAVEAT! Not all <em>machine</em>/<em>platform</em> combinations are valid. If some <code>#include</code> directives are not hyperlinked, check if variables <code>'arm_mach'</code> and <code>'arm_plat'</code> describe an existing configuration. - </p> - <p class="normal"> + </p> + <p class="normal"> Similar rules can be designed for the other architectures. - </p> + </p> + </section> - <h2><a name="archcollect">Automatic architecture enumeration</a></h2> - <p class="normal"> + <section> + <h1>Automatic architecture enumeration</h1> + <p class="normal"> Starting with release 1.0, LXR ships with a script which collects the architecture names and their variants. Launch it from the LXR root directory as: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cd <em>/LXR/root/directory</em></kbd> <samp>$ </samp><kbd>./scripts/kernel-grab-vars.sh <em>/kernel/source/tree</em></kbd> </pre> - <p class="normal"> + <p class="normal"> Possible options are <code>--help</code>, <code>--verbose</code>, <code>--erase</code> and <code>--suffix=</code><em>s</em>. - </p> - <p class="normal"> + </p> + <p class="normal"> The script output is a collection of <em>*_list.txt</em> files in the <em>custom.d</em> directory suitable for automatic reading into the master configuration. - </p> + </p> + </section> - <h2>Putting it all together</h2> - <p class="normal"> + <section> + <h1>Putting it all together</h1> + <p class="normal"> The following parameters are recommended for Linux kernel browsing: - </p> + </p> <pre class="example"> , 'variables' => { 'v' => @@ -371,42 +374,43 @@ , '^/arch/um/%=LVL2A=%/' => '/arch/um/arch-${um_sys}/' ] </pre> - <p class="normal"> + <p class="normal"> This can be automatically generated by the initial configuration script: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cd <em>/LXR/root/directory</em></kbd> <samp>$ </samp><kbd>./scripts/configure-lxr.pl --add --conf-out=lxr.conf lxrkernel.conf</kbd> </pre> - <p class="normal"> + <p class="normal"> Use option <code>--add</code> if you already configured LXR for another tree. If you intend to use LXR against the kernel source only, the complete configuration process is done with: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./scripts/configure-lxr.pl --conf-out=lxr.conf lxrkernel.conf</kbd> </pre> - <p class="normal"> + <p class="normal"> If you gave a <code>--suffix=</code><em>s</em> to script <em>kernel-grab-vars.sh</em>, you must first manually change the default suffix to your custom suffix in this file. - </p> - <p class="normal"> + </p> + <p class="normal"> Remember to run script <em>initdb.sh</em> to create the associated database: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./custom.d/initdb.sh</kbd> </pre> - <p class="normal"> + <p class="normal"> Copy the configuration file to its final destination: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp custom.d/lxr.conf lxr.conf</kbd> </pre> - <p class="normal"> + <p class="normal"> Everything is ready for <em>genxref</em>. - </p> - + </p> + </section> -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: tipnotextsearch.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/Tips/tipnotextsearch.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tipnotextsearch.shtml 24 Jan 2013 19:36:30 -0000 1.1 +++ tipnotextsearch.shtml 31 Dec 2013 20:17:56 -0000 1.2 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Running LXR without Free-text Search</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Running LXR without Free-text Search" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Running LXR without Free-text Search" --> +<!--#set var="pageHeaderTitle" value="Running LXR without Free-text Search" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="comment"> As part of configuration verification, LXR always checks that one free-text search engine has been defined. @@ -26,14 +17,15 @@ search engine is available. </p> - <h2>Case 1: initial configuration (1.0 and higher)</h2> - <p class="comment"> + <section> + <h1>Case 1: initial configuration (1.0 and higher)</h1> + <p class="comment"> This is the usual case when you install LXR for the first time on a system without free-text search engine. - </p> - <p class="normal"> + </p> + <p class="normal"> Launch script <em>configure-lxr.pl</em> from your <em>LXR root directory</em>. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cd <em>/LXR/root/directory</em></kbd> <samp>$ </samp><kbd>./scripts/configure-lxr.pl --verbose</kbd> @@ -42,7 +34,7 @@ LXR root directory is <em>/home/myself/lxr</em> Configuration will be stored in <em>custom.d/lxr.conf</em> </samp></pre> - <p class="normal"> + <p class="normal"> The script proceeds with database configuration, then discovers it cannot reach any free-text search engine. This usually means the free-text search engines have been installed @@ -50,70 +42,72 @@ The script asks for the location and puts it into configuration parameters so that it may later be referenced. - </p> - <p> + </p> + <p> With adequate answers, the free-text search feature can be disabled without disturbing LXR operation. - </p> + </p> <pre class="shell"> <samp>Error: neither glimpse nor swish-e found in $PATH! Is your source tree stored in a VCS repository? (yes/NO) </samp><kbd>y</kbd> <samp>Since free-text search is not compatible with VCSes, you can continue</samp></pre> - <p class="normal"> + <p class="normal"> You can safely answer <code>Y</code> in all circumstances. - </p> - <p class="normal"> + </p> + <p class="normal"> If your tree is indeed in a VCS repository, this is the expected answer since free-text search is not compatible with VCS storage. - </p> - <p class="normal"> + </p> + <p class="normal"> If it is made of plain files, it is also safe because this answer is independent from the later questions about your tree characteristics. No internal inconsistency will result from this apparent contradiction. But you may also give the real (or default) answer then confirm the search engine does not exist: - </p> + </p> <pre class="shell"> <samp>Error: neither glimpse nor swish-e found in $PATH! Is your source tree stored in a VCS repository? (yes/NO) Does one of them exist in a non standard directory? (YES/no) </samp><kbd>n</kbd> <samp>Sorry: free-text search disabled</samp></pre> - <p class="normal"> + <p class="normal"> Configuration then proceeds as usual. - </p> - <p class="comment"> + </p> + <p class="comment"> With such a configuration, free-text search will always silently return zero results. "Silently" means you get no warning nor reminder for disabling the engine. - </p> + </p> + </section> - <h2>Case 2: later change or previous releases</h2> - <p class="comment"> + <section> + <h1>Case 2: later change or previous releases</h1> + <p class="comment"> This manual procedure is used on an active LXR when you remove the free-text search engine (because finally you do not need the feature) or after you reconfigure your computer (<em>e.g.</em> after a system upgrade without reloading the free-text search engine). - </p> - <p class="normal"> + </p> + <p class="normal"> Open configuration file <em>lxr.conf</em> with your favorite editor. Locate the parameter related to your free-text search engine in <em>Auxiliary tools subsection</em> (either <code>'glimpsebin'</code> or <code>'swishbin'</code>) and change its value to <code>'/bin/true'</code>: - </p> + </p> <pre class="example"> , 'glimpsebin' => '/bin/true' </pre> - <p class="normal"> + <p class="normal"> or - </p> + </p> <pre class="example"> , 'swishbin' => '/bin/true' </pre> - <p class="normal"> + <p class="normal"> If parameters <code>'glimpsedirbase'</code> or <code>'swishdirbase'</code> have not been initialized, give them a "neutral" value, @@ -122,15 +116,17 @@ you can use <em>/tmp</em>. But, when installing later a text search engine, do not forget to give them a real value. - </p> + </p> <pre class="example"> , 'glimpsedirbase' => '/tmp' </pre> - <p class="normal"> + <p class="normal"> or - </p> + </p> <pre class="example"> , 'swishdirbase' => '/tmp' </pre> + </section> -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: tipreconstructdb.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/Tips/tipreconstructdb.shtml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- tipreconstructdb.shtml 23 Sep 2012 16:48:10 -0000 1.3 +++ tipreconstructdb.shtml 31 Dec 2013 20:17:56 -0000 1.4 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Reconstruction of LXR Databases</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Reconstructing LXR Databases" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="Reconstruction of LXR Databases" --> +<!--#set var="pageHeaderTitle" value="Reconstructing LXR Databases" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="comment"> You went through a complete system upgrade and, even if you were cautious enough to save your private data @@ -32,50 +23,54 @@ <p class="normal caution"> Script <em>recreatedb.pl</em> ships with LXR 1.0 and higher. </p> - <h2>Required backup</h2> - <p class="normal"> + + <section> + <h1>Required backup before upgrade</h1> + <p class="normal"> The bare minimum needed to reconstruct the LXR server is the master configuration file <em>lxr.conf</em>. - </p> - <p class="normal"> + </p> + <p class="normal"> To mimimize the risk of inconsistency, save also the context file <em>lxr.ctxt</em> located in the <em>custom.d/</em> directory. - </p> - <p class="comment"> + </p> + <p class="comment"> Ideally, fully backup the <em>custom.d/</em> directory, principally if you indexed a kernel tree and used script <strong>kernel-vars-grab.sh</strong> to collect the architecture names. But the collection step can be done very quickly. - </p> - <h2>After upgrade</h2> - <p class="normal"> + </p> + </section> + <section> + <h1>After upgrade</h1> + <p class="normal"> The LXR configuration and database creation are replaced by the following procedure. - </p> - <ol> - <li>Reload the saved files - <p class="normal"> + </p> + <ol> + <li>Reload the saved files + <p class="normal"> As mentioned above, you need at least the master configuration file <em>lxr.conf</em> and the context file <em>lxr.ctxt</em>. Put them into the <em>custom.d/</em> directory. - </p> - <p class="comment"> + </p> + <p class="comment"> If you forgot to backup <em>lxr.ctxt</em>, it can be rebuilt from specific questions. But, BEWARE, if your answers do not match the initial context, you may end up with an inoperative LXR server. In that case, restart the procedure here with different answers. - </p> - </li> - <li>Run script <em>recreatedb.pl</em> - <p class="comment"> + </p> + </li> + <li>Run script <em>recreatedb.pl</em> + <p class="comment"> <span class="caution">IMPORTANT!</span> This script is designed to be run from the <em>LXR root directory</em>. Eventually type command: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cd <em>/LXR/root/directory</em></kbd> </pre> @@ -96,75 +91,81 @@ *** scanning <em>/lxr/tree2</em> tree configuration section *** *** scanning <em>/lxr/tree3</em> tree configuration section *** </samp></pre> - <p class="normal"> + <p class="normal"> <em>recreatedb.pl</em> creates a script <em>custom.d/initdb.sh</em> containing SQL instructions to rebuild all databases corresponding to the trees described in the master configuration file. - </p> - </li> - <li>Recreate the databases + </p> + </li> + <li>Recreate the databases <pre class="shell"> <samp>$ </samp><kbd>./custom.d/initdb.sh</kbd> </pre> - <p class="comment"> + <p class="comment"> See the notes related to this script in the <a href="../1-0-InstallSteps/1-0-install3config.shtml#createdb"> configuration step </a>. - </p> - </li> - <li>Eventually, collect kernel architectures - <p class="normal"> + </p> + </li> + <li>Eventually, collect kernel architectures + <p class="normal"> Should one of your trees be the Linux kernel, launch kernel architecture enumeration with this <a href="tipkernel.shtml#archcollect">script</a>. - </p> - <p class="comment"> + </p> + <p class="comment"> This step is optional if you backed up <em>custom.d/</em> and you did not change the kernel source tree. - </p> - </li> - <li>Populate the databases + </p> + </li> + <li>Populate the databases <pre class="shell"> <samp>$ </samp><kbd>./genxref --allurls</kbd> </pre> - <p class="comment"> + <p class="comment"> This the only case where option <code>--allurls</code> is recommended. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> Under some unclear circumstances, reindexing PostgreSQL trees may fail. In that case, abort the running <em>genxref</em> with control-C and relaunch individual <em>genxref</em> from the failing tree: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./genxref --url=... --reindexall</kbd> </pre> - <p class="comment"> + <p class="comment"> Option <code>--reindexall</code> is only necessary on the failing tree to force a clean database. - </p> - </li> - </ol> - <p class="normal"> + </p> + </li> + </ol> + <p class="normal"> Web server configuration is done as usual. See <a href="../1-0-InstallSteps/1-0-install5server.shtml">here</a>. - </p> + </p> + </section> - <h2>Advanced usage</h2> - <ul> - <li>Non-default operation - <p class="normal"> + <section> + <h1>Advanced usage</h1> + <section> + <h1>Non-default operation</h1> + <p class="normal"> Use <code>--help</code> option and experiment. - </p> - </li> - <li>Incomplete backup (<em>lxr.ctxt</em> not saved) - <p class="normal"> + </p> + </section> + <section> + <h1>Incomplete backup</h1> + <p class="comment"> +Incomplete backup here means <em>lxr.ctxt</em> has not been saved. + </p> + <p class="normal"> Script <em>recreatedb.pl</em> tries to restore a missing context (but does not save it to avoid creating a permanent inconsistency). This is done through a set of questions: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>./scripts/recreatedb.pl --verbose custom.d/lxr.conf</kbd> <samp>ERROR: configuration context file <em>custom.d/lxr.ctxt</em> does not exist! @@ -186,12 +187,12 @@ Do you want to quit or manually restore context? [QUIT/restore]</samp> </pre> - <p class="normal"> + <p class="normal"> Choose the default <code>Q</code> answer to eventually add an <code>--lxr-ctx=</code> option to designate an existing context file in an unusual location. Answer <code>R</code> to enter the following interactive dialog: - </p> + </p> <pre class="shell"> <samp>The following questions are intended to rebuild the global databases options (which may be overridden in individual @@ -212,19 +213,18 @@ Did you give the same prefix to all tables? [YES/no] --- Common table prefix? [lxr_] </samp> </pre> - <p class="normal"> + <p class="normal"> After this dialog, <em>recreatedb.pl</em> proceeds as previously. - </p> - <p class="comment"> + </p> + <p class="comment"> Note that default operation is here <strong>multiple</strong> because trying to reconstruct the databases makes sense only when there are many. If you manage only one tree, it is much safer to reconfigure following the standard installation procedure. - </p> - </li> - </ul> - - -<!--#include virtual="/backstore/footer.shtml" --> + </p> + </section> + </section> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: tips.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/Tips/tips.shtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- tips.shtml 7 Nov 2013 16:17:52 -0000 1.4 +++ tips.shtml 31 Dec 2013 20:17:56 -0000 1.5 @@ -1,19 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Tips</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="LXR Tips" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR Tips" --> +<!--#set var="pageHeaderTitle" value="LXR Tips" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> This page will contain tips for better using LXR. Contribution is welcome. @@ -45,5 +36,5 @@ </p> </li> </ul> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> |
From: Andre-Littoz <ajl...@us...> - 2013-12-31 17:49:13
|
Update of /cvsroot/lxr/html/en In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv17181/en Modified Files: advancedconfig.shtml bugsandlimits.shtml index.shtml installNavBtn.shtml logos.shtml newfeatures.shtml numbering.shtml styles.shtml troubleshooting.shtml Log Message: Switching to HTML5, step 2: top level files in en/ Index: advancedconfig.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/advancedconfig.shtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- advancedconfig.shtml 3 Nov 2012 21:07:07 -0000 1.4 +++ advancedconfig.shtml 31 Dec 2013 17:49:09 -0000 1.5 @@ -1,124 +1,20 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Advanced Configuration</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="LXR Advanced Configuration" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> - <p class="normal"> -LXR operation is driven from 4 sources: - </p> - <ol> - <li>main configuration file <em>lxr.conf</em> - <ul> - <li><a href="LxrConf/lxrconfstruct.shtml"> - Global architecture</a> - of this file - <p class="comment"> - Reading highly recommended before other sub-topics - </p> - </li> - <li><a href="LxrConf/lxrconfglobparms.shtml"> - Global parameters</a> - </li> - <li><a href="LxrConf/lxrconftreeparms.shtml"> - Tree-specific parameters</a> - </li> - <li> - Clarification on - <a href="LxrConf/lxrconffilepaths.shtml">file paths</a> - <p class="comment"> - To be read carefully - if you want to mix LXR within an englobing server - </p> - </li> - <li><a href="LxrConf/lxrconfmtsdb.shtml"> - Multiple projects, single database</a> - <p class="comment"> - Possible but not really recommended, - can lead to indexing errors - </p> - </li> - <li><a href="LxrConf/lxrconfmtmdb.shtml">Multiple projects, multiple databases</a> - </li> - <li><a href="LxrConf/lxrconfoverride.shtml">Overriding global parameters</a> for a single tree - </li> - <li><a href="LxrConf/lxrconfexclude.shtml">Excluding subdirectories</a> from view - </li> - <li><a href="LxrConf/lxrconfexclude.shtml#excludeFiles">Excluding files</a> from view - <p class="comment"> -Not recommended unless you know what you're doing - </p> - </li> - <li><a href="LxrConf/lxrconfinclude.shtml">Setting include paths</a> - </li> - <li>Defining <a href="LxrConf/lxrconfmaps.shtml">rewrite rules for include paths</a></li> - <li><a href="LxrConf/lxrconfcondvars.shtml">Conditional variables</a></li> - <li><a href="LxrConf/lxrconfgraphics.shtml">Displaying graphics files</a></li> - <li>Using <a href="LxrConf/lxrconfcusticons.shtml">custom icons</a> in directory listing</li> - </ul> - </li> - <li>HTML styles definition file <em>lxr.css</em> - <p class="comment"> -Refer to the User's Manual for the definition and usage -of the numerous styles. -The file is organized to take advantage of <em>cascading</em>. -Study carefully before making changes. - </p> - </li> - <li>templates for pages composition <em>html-x.html</em> - <ul> - <li><a href="Templ/templref.shtml">Reference from <em>lxr.conf</em></a> - </li> - <li><a href="Templ/templvar.shtml">Variants</a> - </li> - <li>Own templates - <p class="comment"> -Read carefully the User's Manual and study the -examples shipping with each release - </p> - </li> - </ul> - </li> - <li>language definitions file <em>generic.conf</em> - <span class="normal caution"> - (do not interfere with it unless you know what you are doing) - </span> - <ul> - <li><a href="GenConf/genericconfstruct.shtml">Global architecture</a> - of this file - <p class="comment"> -Reading highly recommended before other sub-topics - </p> - </li> - <li>Understanding a <a href="GenConf/genconflang.shtml">language description</a> - </li> - <li>Adding a new language - <p class="comment"> -highly technical, to be provided later - </p> - </li> - </ul> - </li> - </ol> +<!--#set var="pageMetaTitle" value="LXR Advanced Configuration" --> +<!--#set var="pageHeaderTitle" value="LXR Advanced Configuration" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> -They are located in the <em>templates/</em> directory. - </p> - <p class="comment"> -Up to release 0.10, <em>generic.conf</em> was in the <em>lib/LXR/Lang</em> directory. +LXR operation is driven from 4 sources. +Customisable configuration files are located in the <em>templates/</em> directory. +However, +<em>generic.conf</em> is in the <em>lib/LXR/Lang/</em> directory, +next to the <em>Generic.pm</em> driver. </p> <div class="boxed"> <p class="comment"> -<span class="caution">Remember the golden rule:</span> + <span class="caution">Remember the golden rule:</span> always copy ANY template to <em>custom.d/</em> directory (<em>lxrconf.d/</em> in releases 0.11, LXR root directory in older releases) @@ -126,5 +22,92 @@ Then update its location in <em>lxr.conf</em>. </p> </div> - -<!--#include virtual="/backstore/footer.shtml" --> + <h1>Main configuration file <em>lxr.conf</em></h1> + <ul> + <li><a href="LxrConf/lxrconfstruct.shtml"> +Global architecture</a> +of this file + <p class="comment"> +Reading highly recommended before other sub-topics + </p> + </li> + <li><a href="LxrConf/lxrconfglobparms.shtml"> +Global parameters</a> + </li> + <li><a href="LxrConf/lxrconftreeparms.shtml"> +Tree-specific parameters</a> + </li> + <li> +Clarification on +<a href="LxrConf/lxrconffilepaths.shtml">file paths</a> + <p class="comment"> +To be read carefully +if you want to mix LXR within an englobing server + </p> + </li> + <li><a href="LxrConf/lxrconfmtsdb.shtml"> +Multiple projects, single database</a> + <p class="comment"> +Possible but not really recommended, +can lead to indexing errors + </p> + </li> + <li><a href="LxrConf/lxrconfmtmdb.shtml">Multiple projects, multiple databases</a> + </li> + <li><a href="LxrConf/lxrconfoverride.shtml">Overriding global parameters</a> for a single tree + </li> + <li><a href="LxrConf/lxrconfexclude.shtml">Excluding subdirectories</a> from view + </li> + <li><a href="LxrConf/lxrconfexclude.shtml#excludeFiles">Excluding files</a> from view + <p class="comment"> +Not recommended unless you know what you're doing + </p> + </li> + <li><a href="LxrConf/lxrconfinclude.shtml">Setting include paths</a> + </li> + <li>Defining <a href="LxrConf/lxrconfmaps.shtml">rewrite rules for include paths</a></li> + <li><a href="LxrConf/lxrconfcondvars.shtml">Conditional variables</a></li> + <li><a href="LxrConf/lxrconfgraphics.shtml">Displaying graphics files</a></li> + <li>Using <a href="LxrConf/lxrconfcusticons.shtml">custom icons</a> in directory listing</li> + </ul> + <h1>HTML styles definition file <em>lxr.css</em></h1> + <p class="comment"> +Refer to the User's Manual for the definition and usage +of the numerous styles. +The file is organized to take advantage of <em>cascading</em>. +Study carefully before making changes. + </p> + <h1>Templates for pages composition <em>html-x.html</em></h1> + <ul> + <li><a href="Templ/templref.shtml">Reference from <em>lxr.conf</em></a> + </li> + <li><a href="Templ/templvar.shtml">Variants</a> + </li> + <li>Own templates + <p class="comment"> +Read carefully the <cite>User's Manual</cite> and study the +examples shipping with each release + </p> + </li> + </ul> + <h1>Language definitions file <em>generic.conf</em></h1> + <span class="normal caution"> +Do not interfere with it unless you know what you are doing. + </span> + <ul> + <li><a href="GenConf/genericconfstruct.shtml">Global architecture</a> +of this file + <p class="comment"> +Reading highly recommended before other sub-topics + </p> + </li> + <li>Understanding a <a href="GenConf/genconflang.shtml">language description</a> + </li> + <li>Adding a new language + <p class="comment"> +Highly technical, to be provided later. + </p> + </li> + </ul> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: bugsandlimits.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/bugsandlimits.shtml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- bugsandlimits.shtml 7 Nov 2013 16:17:52 -0000 1.15 +++ bugsandlimits.shtml 31 Dec 2013 17:49:09 -0000 1.16 @@ -1,181 +1,206 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>Known Bugs and Limitations in LXR</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Known Bugs and Limitations in LXR" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> - <p class="comment"> +<!--#set var="pageMetaTitle" value="Known Bugs and Limitations in LXR" --> +<!--#set var="pageHeaderTitle" value="Known Bugs and Limitations in LXR" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<p class="comment"> The following list does not pretend to be exhaustive. It is intended to give some information in current work direction. - </p> - <h2>Known bugs</h2> - <ul> - <li>Ubuntu - <ul> - <li>Apache web server - <p class="normal"> +</p> +<section> + <h1>Known bugs</h1> + <ul> + <li>Ubuntu + <ul> + <li>Apache web server + <p class="normal"> A configuration file is dependent upon <em>mod_version</em> Apache module but Ubuntu Apache (reported at least for Ubuntu 12.04 LTS) does not load the module by default. + <p class="comment"> To enable it run the following command: - </p> + </p> <pre class="shell"> $ <kbd>sudo a2enmod version</kbd> </pre> - <p class="normal"> + <p class="comment"> and restart the server. - </p> - </li> - <li>Templates not found (weird screen) - <p class="normal"> + </p> + </li> + <li>Templates not found (weird screen) + <p class="normal"> When LXR scripts are launched, the current working directory is not set to the <em>LXR root directory</em>. OS-relative file paths in <em>lxr.conf</em> cannot be correctly resolved. - </p> - <p class="normal"> + </p> + <p class="normal"> To fix the problem, edit <em>custom.d/lxr.conf</em>, "HTML subsection", and add the OS-absolute path of the LXR root directory in front of all HTML template designations. When done, copy the modified file to its final destination as usual. - </p> - <p class="comment caution"> + </p> + <p class="comment caution"> DO NOT CHANGE parameters <code>'stylesheet'</code> and <code>'alternate_stylesheet'</code> which are not file paths but HTML references. - </p> - <p class="comment"> + </p> + <p class="comment"> +Fixed in release 2.0.0. This bug may also be Apache specific. - </p> - </li> - </ul> - </li> - <li>Release 1.1.0 - <ul> - <li class="normal"> -Java parser incompletely handles <code>import</code> statement - <p class="normal"> -If your Java code contains <code>import static</code> statements, -the parser fails on <code>static</code> keyword -and enters an endless loop -which freezes the screen on the previous line. - </p> - <p class="comment"> -This bug will be corrected soon in release <del>1.1.1</del> -<ins>1.2.0</ins>. -If it is a serious concern for you, -look at the -<a href="http://sourceforge.net/p/lxr/bugs/">LXR bugs page</a>. -Comment for bug #231 contains a patch for release 1.1.0. - </p> - </li> - <li class="normal">HTML parser may loop endlessly - <p class="comment"> -Bug also present in release 1.0.0 - </p> - <p class="normal"> -When trying to hyperlink <code><A></code> or <code><IMG></code> elements, -the generic-based HTML parser may fail and not recover, -leading to an endless loop. -It is also not protected against "external" URI -(such as <code>http://…</code>) -where the double slash is taken for an empty file path. - </p> - </li> - <li class="normal">Depending on Perl interpreter, -identifier search may error out - <p class="normal"> -Two lines (419 and 485) in <em>ident</em> use relaxed Perl syntax -instead of "bullet-proof" code. -Comment for bug #233 contains a patch. - </p> - </li> - </ul> - </li> - <li>MySQL - <ul> - <li class="normal"> + </p> + </li> + </ul> + </li> + <li>MySQL + <ul> + <li class="normal"> Default storage engine - <p class="normal"> + <p class="normal"> As of MySQL 5.5.5, default storage engine changed from <strong>MyISAM</strong> to <strong>InnoDB</strong>. Despite an improvement in transaction reliability, performance has drastically degraded: indexing by <em>genxref</em> is now twice as long. - </p> - <p class="comment"> + </p> + <p class="comment"> Release 1.0 explicitly requests the <strong>MyISAM</strong> storage engine. - </p> - </li> - </ul> - </li> - <li>PostgreSQL - <ul> - <li class="normal"> + </p> + </li> + </ul> + </li> + <li>PostgreSQL + <ul> + <li class="normal"> Connection method - <p class="normal"> + <p class="normal"> PostgreSQL offers several methods to connect to a database. The default one use Unix-domain sockets. Under some circumstances, the Perl DB library may fail to access the LXR database. The work-around is to request explicitly the TCP access method in the <code>'dbname'</code> configuration parameter by adding: - </p> + </p> <pre class="example"> ;host=localhost </pre> - <p class="comment"> + <p class="comment"> Release 1.0 is changed to use the TCP access method. If Unix domain sockets work for you, remove the <code>host=</code> sub-parameter. - </p> - </li> - </ul> - </li> - <li>Releases 0.11.x - <ul> - <li class="normal"> + </p> + </li> + </ul> + </li> + <li>Supported languages + <p class="normal"> +Many language descriptions are faulty or, at best, incomplete. +Only <strong>C</strong>, <strong>C++</strong> and <strong>Perl</strong> +can be considered reliable. + </p> + <p class="comment"> +The present maintainer does not master all languages. +Do not hesitate to submit bugs. + </p> + </li> + <li>Identifiers not highlighted + <p class="normal"> +This is not really an LXR bug. +<strong>ctags</strong> uses elementary parsers for secondary +languages (read: not C nor C++). +These parsers do not implement complete language grammar. + </p> + </li> + <li>Git support + <p class="normal"> +Not working at all. +The CPAN library module is broken. + </p> + <p class="comment"> +Fixed in release 1.0 + </p> + </li> + <li>Release 1.1.0 + <ul> + <li class="normal"> +Java parser incompletely handles <code>import</code> statement + <p class="normal"> +If your Java code contains <code>import static</code> statements, +the parser fails on <code>static</code> keyword +and enters an endless loop +which freezes the screen on the previous line. + </p> + <p class="comment"> +Fixed in release 1.2.0. + </p> + </li> + <li class="normal">HTML parser may loop endlessly + <p class="comment"> +Bug also present in release 1.0.0 + </p> + <p class="normal"> +When trying to hyperlink <code><A></code> or <code><IMG></code> elements, +the generic-based HTML parser may fail and not recover, +leading to an endless loop. +It is also not protected against "external" URI +(such as <code>http://…</code>) +where the double slash is taken for an empty file path. + </p> + <p class="comment"> +Fixed in release 1.2.0 through implementation of a dedicated parser. + </p> + </li> + <li class="normal">Depending on Perl interpreter, +identifier search may error out + <p class="normal"> +Two lines (419 and 485) in <em>ident</em> use relaxed Perl syntax +instead of "bullet-proof" code. +Comment for bug #233 contains a patch. + </p> + <p class="comment"> +Fixed in release 1.2.0. + </p> + </li> + </ul> + </li> + <li>Releases 0.11.x + <p class="comment caution"> +These releases are deprecated. + </p> + <ul> + <li class="normal"> <em>genxref</em> script for <strong>swish-e</strong> users - <p class="normal"> + <p class="normal"> A clumsy typo was left at line 240, which should read: - </p> + </p> <pre class="example"> $toolloc = `which swish-e 2>/dev/null`; </pre> - <p class="normal"> + <p class="normal"> i.e. remove the extraneous "h". - </p> - <p class="comment"> + </p> + <p class="comment"> This typo prevents detection of the <em>swish-e</em> engine when it has been installed in a "standard" location. - </p> - <p class="normal"> + </p> + <p class="normal"> A space is also missing at line 518, which should read: - </p> + </p> <pre class="example"> - . " -f ".$config->swhishdir."/".$releaseid.".index" + . " -f ".$config->swhishdir."/".$releaseid.".index" </pre> - <p class="comment"> + <p class="comment"> The <code>-f</code> is catenated to the directory name, giving a non-existent directory and leading to incorrect parsing of the rest of the arguments. The command then always fails and the search database is not initialised. - </p> - </li> - <li class="normal"> + </p> + </li> + <li class="normal"> New <em>initial-config.sh</em> script erroneously leaves <em>templates/</em> directory with <code>r--r--r--</code> permissions preventing any access to it. @@ -183,26 +208,26 @@ <pre class="shell"> <samp>$ </samp><kbd>chmod -R a+x templates/</kbd> </pre> - <p class="normal"> + <p class="normal"> After any copy from <em>templates/</em> directory, fix file permissions to allow write/update: - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp templates/<em>some_file</em> lxrconf.d/</kbd> <samp>$ </samp><kbd>chmod u=rwx lxrconf.d/<em>some_file</em></kbd> </pre> - <p class="comment"> + <p class="comment"> Note: this is not a <em>bug</em> but a consequence of the "read-only" state of <em>templates/</em> directory. - </p> - </li> - <li class="normal"> + </p> + </li> + <li class="normal"> In <em>lxr.conf</em>, parameter <code>'stylesheet'</code> is defined as <code>'templates<strong>/html</strong>/lxr.css'</code> instead of <code>'<strong>/</strong>templates/lxr.css'</code>. - </li> - <li class="normal"> + </li> + <li class="normal"> Under some Linux distributions, in single tree context (the most frequent case), <strong>Apache</strong> does not access the LXR root directory @@ -211,207 +236,187 @@ directive (line 28) of file <em>templates/Apache/apache-lxrserver.conf</em> to read: <pre class="example"> - Alias /lxr "<em>your_LXR_root_directory</em>" + Alias /lxr "<em>your_LXR_root_directory</em>" </pre> - </li> - </ul> - </li> - <li>Releases 0.10.x - <p class="normal"> + </li> + </ul> + </li> + <li>Releases 0.10.x + <p class="comment caution"> +These releases are deprecated. + </p> + <ul> + <li class="normal"> Due to shameful haste and quality assurance breach, version 0.10 was released with an unforgivable bug. 0.10.1 corrected it but introduced another one. 0.10.2 partially corrected it, leaving a misplaced <code>%</code> character in a critical subroutine. - </p> - <p class="comment"> -Better wait for 0.11 release. - </p> - </li> - <li>Browsing <em>include</em> files - <p class="normal"> + <p class="comment"> +Upgrade to latest release. + </p> + </li> + <li>Browsing <em>include</em> files + <p class="normal"> If you change the value of any <em>variable</em> (<em>i.e.</em> version, architecture, …) after clicking on an <em>include</em> link, you may get a <em>"file does not exist"</em> error message because the rewrite rules are not correctly recomputed. - </p> - <p class="comment"> -Corrected in 0.11 - </p> - </li> - <li>Supported languages - <p class="normal"> -Many language descriptions are faulty or, at best, incomplete. -Only <strong>C</strong>, <strong>C++</strong> and <strong>Perl</strong> - can be considered reliable. - </p> - <p class="comment"> -The present maintainer does not master all languages. -Do not hesitate to submit bugs. - </p> - </li> - <li>Identifiers not highlighted - <p class="normal"> -This is not really an LXR bug. -<strong>ctags</strong> uses elementary parsers for secondary -languages (read: not C nor C++). -These parsers do not implement the complete language grammar. - </p> - </li> - <li>Git support - <p class="normal"> -Not working at all. -The CPAN library module is broken. - </p> - <p class="comment"> -Fixed in 1.0 - </p> - </li> - </ul> - <h2>Limitations</h2> - <ul> - <li><em>templates/</em> directory - <p class="normal"> + </p> + <p class="comment"> +Fixed in release 0.11 + </p> + </li> + </ul> + </li> + </ul> +</section> + +<section> + <h1>Limitations</h1> + <ul> + <li><em>templates/</em> directory + <p class="normal"> Starting with release 0.11, this directory is set to "read-only" mode to discourage people from making changes. It thus becomes a reliable reference for stored files. Any LXR customisation must be done in the <em>custom.d</em> directory (<em>lxrconf.d/</em> prior to release 1.0). - </p> - <p class="comment"> + </p> + <p class="comment"> Consequence: any file extracted from <em>templates/</em> is tagged "read-only" and its permissions must be reset before making changes. - </p> + </p> <pre class="shell"> <samp>$ </samp><kbd>cp templates/<em>some_file</em> custom.d/</kbd> <samp>$ </samp><kbd>chmod u=rwx custom.d/<em>some_file</em></kbd> </pre> - </li> - <li>Version control systems (CVS, Git, …) - <p class="normal"> + </li> + <li>Version control systems (CVS, Git, …) + <p class="normal"> Free-text search is unavailable due to the specific format of the VCS database (read: they do not use plain files). - </p> - </li> - <li>Directories in CVS - <p class="normal"> + </p> + </li> + <li>Directories in CVS + <p class="normal"> CVS does not manage version for directories. If you change version for something other than <code>HEAD</code>, you get the infamous <em>"file does not exist"</em> error message. - </p> - </li> - <li>Mercurial support - <ul> - <li class="classics"> + </p> + </li> + <li>Mercurial support + <ul> + <li class="classics"> Files may erroneously appear empty in some revisions - </li> - <li class="classics">Directory listing extremely slow - <p class="normal"> + </li> + <li class="classics">Directory listing extremely slow + <p class="normal"> Approximately 0.5 second per line (on a 3.4 GHz processor!); but do not blame Mercurial, something is wrong in LXR code interfacing with the system. - </p> - <p class="comment"> + </p> + <p class="comment"> Please, help to improve performance. - </p> - </li> - </ul> - </li> - <li>Language parsers - <p class="normal"> -They are not compiler grade (and very far from that). + </p> + </li> + </ul> + </li> + <li>Language parsers + <p class="normal"> +They are not compiler-grade (and very far from that). They are limited to lexically extracting runs of characters looking like identifiers (independently of their semantics). - </p> - <ul> - <li>Generic parser (presently used for all languages) - <p class="normal"> + </p> + <ul> + <li>Generic parser (presently used for all languages) + <p class="normal"> Ignores an eventual <em>sigil</em> when assembling identifiers. This results in confusion of symbols with different roles into a single highlighting. - </p> - <p class="comment"> + </p> + <p class="comment"> <em>Sigils</em> are used in Perl to differentiate functions, scalars, arrays and <em>hashes</em>. Similarly, in PHP, variables are prefixed with <code>$</code> while functions have no prefix. - </p> - <p class="normal"> + </p> + <p class="normal"> Ignores identifier classification since it does not manage semantics. This results too in confusion of symbols with different roles into a single highlighting. - </p> - <p class="comment"> + </p> + <p class="comment"> In HTML, tags and attributes with similar symbol have the same highlighting. - </p> - </li> - <li>HTML - <p class="normal"> + </p> + </li> + <li>HTML + <p class="normal"> URI references are hyperlinked only if they point to another document in the source tree. - </p> - <p class="normal"> + </p> + <p class="normal"> The parser gets easily confused if the content part (outside HTML tags) contains quotes or double quotes. It causes an <em>out-of-sync</em> situation. - </p> - </li> - <li>Perl - <p class="normal"> + </p> + </li> + <li>Perl + <p class="normal"> Due to <strong>ctags</strong> limitation, only <code>sub</code>s and no variables are indexed. Variables are accidentally highlighted if their name, without <em>sigil</em>, is the same as a function. - </p> - <p class="normal"> + </p> + <p class="normal"> Occurrences of characters such as <code>#</code>, <code>'</code> or <code>"</code> in patterns are likely to cause <em>out-of-sync</em> situations. - </p> - </li> - <li>PHP - <p class="normal"> + </p> + </li> + <li>PHP + <p class="normal"> <code>include</code> or <code>require</code> will hyperlink to the target file only if the name is a string relative to source-tree root. Also, the name cannot contain quotes (<code>'</code>) or double quotes (<code>"</code>). - </p> - </li> - <li>Python - <p class="normal"> + </p> + </li> + <li>Python + <p class="normal"> Multiple includes from a single <code>import</code> or <code>from</code> instruction are not handled. - </p> - </li> - </ul> - </li> - <li>Difference markup - <ul> - <li><em>Link</em> interface - <p class="normal"> + </p> + </li> + </ul> + </li> + <li>Difference markup + <ul> + <li><em>Link</em> interface + <p class="normal"> You can compare two files differing in only one variable. - </p> - </li> - <li><em>Buttons-and-menus</em> interface - <p class="normal"> + </p> + </li> + <li><em>Buttons-and-menus</em> interface + <p class="normal"> You can compare two files differing in any number of variables provided you set all required variables before clicking on the "Change" button. - </p> - </li> - <li>Changing variable value while displaying differences - <p class="normal"> + </p> + </li> + <li>Changing variable value while displaying differences + <p class="normal"> The new differences will be computed between the most recently selected version and the newly requested, not between the base version (the one active when you clicked on the "diff markup" link) and the newly requested version. - </p> - </li> - </ul> - </li> - </ul> - -<!--#include virtual="/backstore/footer.shtml" --> + </p> + </li> + </ul> + </li> + </ul> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: index.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/index.shtml,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- index.shtml 31 Dec 2013 15:12:32 -0000 1.12 +++ index.shtml 31 Dec 2013 17:49:09 -0000 1.13 @@ -1,37 +1,62 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>The LXR Project</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> - <meta name="keywords" - content="lxr howto" - > -</head> - -<body> - <!--#set var="pageHeaderTitle" value="The LXR project web-site" --> - <!--#set var="homePageHeader" value="1" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="The LXR Project" --> +<!--#set var="pageHeaderTitle" value="The LXR project web-site" --> +<!--#set var="homePageHeader" value="1" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> <h1>Welcome to the official LXR information site</h1> <p class="comment"> Information on this site comes from the LXR developers and is maintained as close as possible to the current version. </p> - <div class="newsframe"> - <h1>Latest news</h1> - <div class="newstext"> +<aside class="newsframe"> + <style scoped type="text/css"> + aside.newsframe + { float: right + ; clear: both + ; margin-left: 1em + ; margin-top: 18px + ; max-height: 550px + ; border: 4pt solid blue + ; background-color: #CCEEFF + ; vertical-align: top + ; padding: 3pt + ; width: 20em + ; max-width: 30% + } + + section.newstext + { width: 98% + ; min-height: 150px + ; max-height: 500px + ; height: auto + ; overflow-x: hidden + } + + h1 + { padding: 6pt + ; margin: 3pt + ; background-color: yellow + ; text-align: center + ; font-size: 14pt + ; font-weight: bold + } + + p + { margin: 2pt 4pt + ; font-size: 80% + } + </style> + <h1>Latest news</h1> + <section class="newstext"> <!--#include virtual="/news.html" --> - </div> - </div> + </section> +</aside> +<article> <p class="normal"> -<strong class="gothics">LXR</strong> +<b class="gothics">LXR</b> is a general purpose source code indexer and cross-referencer that provides web-based browsing of source code with links to the definition and usage of any identifier. @@ -70,39 +95,36 @@ It is also very useful to study source-code from scratch. In this case, your learning curve is very steep. </p> +</article> - <h2>Available topics:</h2> +<nav> + <h1>Available topics</h1> <ul> - <li> - <a href="1-0-InstallSteps/1-0-install.shtml"> - Installation instructions + <li><a href="1-0-InstallSteps/1-0-install.shtml"> +Installation instructions </a> <p class="normal"> This is a step-by-step <em>How to install LXR</em> guide for the latest release. </p> - <ul>Follow these links for previous releases: + <p class="normal"> +Follow these links for previous releases: + </p> + <ul> <li><a href="0-11-InstallSteps/0-11-install.shtml">0.11</a></li> <li><a href="InstallSteps/install.shtml">0.9.x and 0.10.x</a></li> <li>Older releases, read <em>INSTALL</em> file that ships with the software</li> </ul> </li> - <li> - <a href="advancedconfig.shtml"> - Advanced configuration - </a> + <li><a href="advancedconfig.shtml">Advanced configuration</a> </li> - <li> - <a href="troubleshooting.shtml"> - Troubleshooting - </a> + <li><a href="troubleshooting.shtml">Troubleshooting</a> <p class="normal"> - What to do when something goes wrong? +What to do when something goes wrong? </p> </li> - <li> - <a href="/lxr_inline_doc">Technical information</a> + <li><a href="/lxr_inline_doc">Technical information</a> <p class="normal"> This documentation is automatically extracted from the code. It gives summary information about the LXR browsing components. @@ -110,12 +132,18 @@ <em>Developer's Manual</em>. </p> </li> + <li><a href="usermanual.shtml">Online user manual</a> + <p class="normal"> +<span class="caution">Not yet "online"</span>, +this link leads you to a nice Error-404 page instead! + </p> + </li> <li>PDF version of the <a href="LXRUserManual-beta.pdf">user manual</a> for the next "beta" release - <span class="comment"> -(link is dead when there is no scheduled next release. - </span> +<span class="comment"> +(link is dead when there is no scheduled next release) +</span>. <p class="normal"> The <a href="http://sourceforge.net/projects/lxr/files/doc/" title="Download page for the manual"> @@ -130,7 +158,7 @@ <a href="http://sourceforge.net/p/lxr/bugs">bug tracker</a> and you may even ask for <a href="http://sourceforge.net/p/lxr/feature-requests">feature request</a> -if a topic is missing) +if a topic is missing). </p> </li> <li><a href="Tips/tips.shtml">Tips</a> for efficient use @@ -139,23 +167,18 @@ </li> <li><a href="newfeatures.shtml">Next features</a> </li> - <li> - <a href="numbering.shtml"> - Release numbering scheme - </a> + <li><a href="numbering.shtml">Release numbering scheme</a> </li> - <li><a href="styles.shtml"> - Typographical conventions - </a> - of this site + <li><a href="styles.shtml">Typographical conventions</a> +of this site </li> - <li><a href="logos.shtml"> - Candidate logos - </a> + <li><a href="logos.shtml">Candidate logos</a> </li> </ul> +</nav> - <h2>Demo: the LXR tree cross-referenced by LXR itself</h2> +<section> + <h1>Demo: the LXR tree cross-referenced by LXR itself</h1> <p class="comment"> Releases 0.9.8 to 2.0.0 can be displayed and compared. </p> @@ -197,18 +220,24 @@ (<em>e.g.</em> annotations in file display under CVS). </li> </ul> +</section> - <h2>Download and summary information</h2> +<section> + <h1>Download and summary information</h1> <p class=normal> See the <a href="http://sourceforge.net/projects/lxr">project site</a> on SourceForge or have a look at the <a href="http://lxr.linux.no">old project site</a>. </p> +</section> - <h2>Contact the developers</h2> +<section> + <h1>Contact the developers</h1> <p class="normal"> -The developers can be reached through the forum or the trackers. - </p> - -<!--#include virtual="/backstore/footer.shtml" --> +The developers can be reached through the +<a href="http://sourceforge.net/p/lxr/discussion">forum</a> +or the +<a href="http://sourceforge.net/p/lxr/_list/tickets">trackers</a>. +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: installNavBtn.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/installNavBtn.shtml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- installNavBtn.shtml 11 Mar 2012 14:49:15 -0000 1.1 +++ installNavBtn.shtml 31 Dec 2013 17:49:09 -0000 1.2 @@ -1,5 +1,4 @@ -<!-- $Id$ --> <!--#set var="prevBtn" value="Previous" --> <!--#set var="indexBtn" value="Installation<br>index" --> <!--#set var="nextBtn" value="Next" --> -<!--#include virtual="/backstore/NavBtnTable.shtml" --> \ No newline at end of file +<!--#include virtual="/backstore5/NavBtnTable.shtml" --> \ No newline at end of file Index: logos.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/logos.shtml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- logos.shtml 23 Sep 2012 16:48:10 -0000 1.2 +++ logos.shtml 31 Dec 2013 17:49:09 -0000 1.3 @@ -1,69 +1,63 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Logos</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="LXR Logos" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> +<!--#set var="pageMetaTitle" value="LXR Logos" --> +<!--#set var="pageHeaderTitle" value="LXR Logos" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> <p class="normal"> - LXR is quite mature now and deserves a decent logo - (and maybe also a decent name <em>in lieu</em> its acronym). +<em>LXR</em> is quite mature now and deserves a decent logo +(and maybe also a decent name <em>in lieu</em> its acronym). </p> <p class="normal"> - There has not been many attempts to create art for LXR. - This page shows them. +There have not been many attempts to create art for LXR. +This page shows them. </p> - <table> - <tr> - <td> - <table> - <tr> - <td> - <img src="/backstore/logo_mbox.gif" - alt="First tentative logo by mbox" - > - </td> - <td> - <p class="normal"> - This one is due to <strong>mbox</strong>. - He designed it in 2009 when launching discussion about the logo. - </p> - </td> - </tr> - </table> - </td> - <td> - <table> - <tr> - <td> - <img src="/backstore/LXRlogo2.png" - alt="2011 logo by ajlittoz" - > - </td> - <td> - <p class="normal"> - This is a quick and dirty attempt - when <strong>ajlittoz</strong> needed a logo for the 2011 LXR web site. - Only half an hour work! - </p> - </td> - </tr> - </table> - </td> - </tr> - </table> + <section class="gallery"> + <style scoped type="text/css"> + section.gallery, .subgallery +{ display: table table-row +} + .gallery > .subgallery +{ display: table-cell +; padding: 1cm 1.5cm 1cm 0cm +} + .subgallery > div +{ display: table-cell +; vertical-align: bottom +; padding: 6pt +} + </style> + <section class="subgallery"> + <div> + <img src="/backstore/logo_mbox.gif" + alt="First tentative logo by mbox" + > + </div> + <div> + <p class="normal"> +This one is due to <strong>mbox</strong>. +He designed it in 2009 when launching discussion about the logo. + </p> + </div> + </section> + <section class="subgallery"> + <div> + <img src="/backstore/LXRlogo2.png" + alt="2011 logo by ajlittoz" + > + </div> + <div> + <p class="normal"> +This is a quick and dirty attempt +when <strong>ajlittoz</strong> needed a logo for the 2011 LXR web site. +Only half an hour work! + </p> + </div> + </section> + </section> <p class="normal"> -As Malcolm pointed out <em>"I'm no graphic artist"</em>, -neither am I (ajlittoz). +Neither Malcolm nor I (ajlittoz) are graphic artist. Consequently, you are welcome to try and design a neat logo. Subscribe to the <em>lxr-general</em> mailing list @@ -79,14 +73,14 @@ <p class="normal"> No answer since it was launched on April 1, 2009! I know, it was April Fool's day. -But LXR really needs a logo. +But <em>LXR</em> really needs a logo. </p> <p class="normal"> -And why not also a new name? +And also what about a new name? <br> We could elaborate on the three historical letters. Here is a proposal <em class="defn">eLiXiR</em>. Comment on the mailing-list. </p> - -<!--#include virtual="/backstore/footer.shtml" --> +</section> +<!--#include virtual="/backstore5/footer.shtml" --> Index: newfeatures.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/newfeatures.shtml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- newfeatures.shtml 7 Nov 2013 16:17:52 -0000 1.15 +++ newfeatures.shtml 31 Dec 2013 17:49:09 -0000 1.16 @@ -1,207 +1,175 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> -<!-- $Id$ --> -<html> <!--#set var="pageLang" value="en" --> -<head> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta http-equiv="Content-Language" content="<!--#echo var="pageLang" -->"> - <title>LXR Next Features</title> - <link rel="stylesheet" type="text/css" href="/backstore/LXRweb.css"> - <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico"> -</head> - -<body> - <!--#set var="pageHeaderTitle" value="Features for next LXR Releases" --> - <!--#set var="homePageHeader" value="0" --> - <!--#include virtual="/backstore/header.shtml" --> -<ul> - <li><strong>Release 2.0</strong> - <ul> - <li class="classics"><del><em>genxref</em> goes parallel</del> - <p class="normal"> -Careful optimisation of current code dwindles the interest of multi-thread technology. -Multi-thread code is more complex and needs sophisticated database table locking strategy. -Experiments have shown this added complexity brings little gain on big projects -and slightly longer indexing times on small projects. - </p> - <p class="normal"> -However, this work uncovered very subtle bugs, or rather inaccuracies, -in the parser. - </p> - <p class="comment"> -As a net result, <em>genxref</em> performance is now x1.5 over release 1.2.0. -Indexing times are shortened by 33%. - </p> - </li> - <li class="classics">Multiple-trees context - <p class="normal"> +<!--#set var="pageMetaTitle" value="LXR Next Features" --> +<!--#set var="pageHeaderTitle" value="Features for next LXR Releases" --> +<!--#set var="homePageHeader" value="0" --> +<!--#include virtual="/backstore5/header.shtml" --> +<!-- $Id$ --> +<section> + <h1>Release 2.0</h1> + <ul> + <li class="classics">Multiple-trees context + <p class="normal"> Tree designation in URL moved into <code>PATH_INFO</code> instead of <code>SERVER_NAME</code> or <code>SCRIPT_NAME</code>. - </p> - <p class="comment"> + </p> + <p class="comment"> This is a new possibility, you do not need to modify your present trees. This designation variant offers simpler and more robust web server configuration. Adding or removing a tree is consequently only a matter of editing <em>lxr.conf</em> without reconfiguring the web server. - </p> - </li> - <li class="classics">Better HTTP initialisation - <p class="normal"> -Printing a message on screen under catastrophic events during -initialisation now possible, avoiding the disturbing "blank screen" situation. - </p> - </li> - <li class="classics">Better error handling - <p class="normal"> -<em>Browsing</em>: errors and warnings are also printed on screen, -reducing the necessity to read them from the server log files. - </p> - <p class="normal"> -<em>Configuration</em>: most user data is now checked against expected format -thus detecting early some trivial mistakes. - </p> - </li> - <li class="classics">Experimental support of + </p> + </li> + <li class="classics">Better HTTP initialisation + <p class="normal"> +Printing a message on screen under catastrophic events during initialisation +now possible, avoiding the disturbing "blank screen" situation. + </p> + </li> + <li class="classics">Experimental support of <strong>Nginx</strong>, <strong>Cherokee</strong> and <strong>thttpd</strong> web servers - </li> - <li class="classics"><em>User's Manual</em> updated - </li> - <li class="classics"><em>Developer's Manual</em> available - </li> - <li class="classics">Bug fixes - </li> - </ul> - </li> - <li><strong>Release 1.2</strong> - <ul> - <li class="classics">Generic parser include feature rearchitectured - <p class="normal"> + </li> + <li>Heavily commented source code</li> + <li class="classics"><cite>User's Manual</cite> updated + </li> + <li class="classics"><cite>Developer's Manual</cite> released + </li> + <li class="classics">Bug fixes + </li> + </ul> +</section> +<section> + <h1>Release 1.2</h1> + <ul> + <li class="classics">Generic parser <em>include</em> feature rearchitectured + <p class="normal"> To facilitate implementation of new language parsers, a common utility function has been inserting in the generic parser to build hyperlinks to every component of the included file path. All parsers now reference this function. - </p> - </li> - <li class="classics">New C parser - <p class="normal"> + </p> + </li> + <li class="classics">New C parser + <p class="normal"> C processing has been separated from the generic parser to improve reliability and readability of the latter. - </p> - </li> - <li class="classics">Change of generic include processing - <p class="normal"> + </p> + </li> + <li class="classics">Change of generic <em>include</em> processing + <p class="normal"> Since C is now an independent parser, default <em>include</em> syntax is <em>keyword</em>, as defined by the language description, followed by the <em>bare filename</em>, without any delimiters such as quotes or double quotes. - </p> - <p class="comment"> + </p> + <p class="comment"> This can be changed through an <code>'include'</code> specification in configuration file <em>generic.conf</em>. - </p> - </li> - <li class="classics">Changes in generic include syntax description - <p class="normal"> + </p> + </li> + <li class="classics">Changes in generic <em>include</em> syntax description + <p class="normal"> Keywords <code>'first'</code> and <code>'last'</code> have been renamed <code>'pre'</code> and <code>'post'</code> to emphasize their roles in <em>pre</em>- and <em>post</em>-processing the filename. - </p> - <p class="normal"> + </p> + <p class="normal"> New keyword <code>'separator'</code> defines path separator in the language dialect. It is replaced by the OS path separator (<code>/</code>) to access the included file. - </p> - <p class="comment"> + </p> + <p class="comment"> This allows faster processing than using a <code>'global'</code> substitution rule. - </p> - </li> - <li class="classics"><em>User's Manual</em> updated - </li> - <li class="classics">Bug fixes - <p class="normal"> -Removal of a bad handling situation in include processing + </p> + </li> + <li class="classics"><em>User's Manual</em> updated + </li> + <li class="classics">Bug fixes + <p class="normal"> +Removal of a bad handling situation in <em>include</em> processing causing an infinite loop (notably in <strong>Java</strong>) - </p> - </li> - </ul> - </li> - <li><strong>Release 1.1</strong> - <ul> - <li class="classics">Visual indication of inaccurate cross-references - <p class="normal"> + </p> + </li> + </ul> +</section> +<section> + <H1>Release 1.1</H1> + <ul> + <li class="classics">Visual indication of inaccurate cross-references + <p class="normal"> Per user request, directory and file view, identifier and free-text search have been modified to show that cross-references in the database refer to an earlier state of the file. This situation arises in development phase when files are modified and <em>genxref</em> has not yet been rerun. - </p> - </li> - <li class="classics">New <code>'ignorefiles'</code> parameter - <p class="normal"> + </p> + </li> + <li class="classics">New <code>'ignorefiles'</code> parameter + <p class="normal"> Upon user request, this parameter allows to selectively ignore files which name matches a pattern (internally used to ignore compiler-binary files, can be extended to ignore document files for instance). - </p> - </li> - <li class="classics">Interactive installation script - <p class="normal"> + </p> + </li> + <li class="classics">Interactive installation script + <p class="normal"> Configuration templates now use a consistent well defined scripting language. This allows to share blocks of configuration among templates, resulting in easier management of similar templates. - </p> - <p class="normal"> + </p> + <p class="normal"> To a certain extent, web server setup is now under control of the interactive configurator. However, only the most common cases are covered. Read the User's Manual for the necessary checks. - </p> - <p class="normal"> + </p> + <p class="normal"> Configurator can disable free-text search if neither <strong>Glimpse</strong> nor <strong>Swish-E</strong> is detected. This allows to have a try with LXR without the pain of installing a text search engine. Of course, the feature becomes unavailable until you install one and update <em>lxr.conf</em>. - </p> - </li> - <li class="classics">Experimental <strong>Mercurial</strong> support added - <p class="normal"> + </p> + </li> + <li class="classics">Experimental <strong>Mercurial</strong> support added + <p class="normal"> As per design choice, access is limited to local repositories. - </p> - <p class="comment"> + </p> + <p class="comment"> This is very experimental: the current developer is not familiar with Mercurial and directory listing runs horribly slow. Suggestions for improvement are welcome. - </li> - <li class="classics">New version of the <em>User's Manual</em> - </li> - <li class="classics">Bug fixes - <p class="normal"> + </li> + <li class="classics">New version of the <em>User's Manual</em> + </li> + <li class="classics">Bug fixes + <p class="normal"> Among these, fix for the case when the web site is totally devoted to LXR, <em>i.e.</em> when LXR is at the root of site. - </p> - </li> - </ul> - </li> - <li><strong>Release 1.0</strong> - <p class="comment"> + </p> + </li> + </ul> +</section> +<section> + <h1>Release 1.0</h1> + <p class="comment"> Considering the number of new features, release number jumps to 1.0, not 0.12. - </p> - <div class="boxed"> - <p class="normal caution">IMPORTANT!</p> - <p class="normal"> + </p> + <div class="boxed"> + <p class="normal caution">IMPORTANT!</p> + <p class="normal"> Finer grained language support make it impossible to maintain <strong>Perl 5.8 compatibility</strong>. Stated otherwise, @@ -209,196 +177,191 @@ frame of the present <em>SimpleParse.pm</em> lexical scanner. They can indeed be described by complex regular expressions but they break the capture mechanism of the scanner. - </p> - <p class="normal caution"> + </p> + <p class="normal caution"> Upgrade your Perl to version <strong>5.10</strong> at least. - </p> - </div> - <ul> - <li class="classics">Language support improved and extended - </li> - <li class="classics">Interactive installation script - <p class="normal"> + </p> + </div> + <ul> + <li class="classics">Language support improved and extended + </li> + <li class="classics">Interactive installation script + <p class="normal"> Reliably configures LXR and its database in a matter of minutes, suppresses the neeed to edit <em>lxr.conf</em> (but for advanced tuning of course). - </p> - </li> - <li class="classics"><strong>Git</strong> support fixed - </li> - <li class="classics"><strong>Subversion</strong> support added - <p class="normal"> + </p> + </li> + <li class="classics"><strong>Git</strong> support fixed + </li> + <li class="classics"><strong>Subversion</strong> support added + <p class="normal"> As per design choice, access is limited to local repositories (i.e. URL is of the form <code>file:///...</code>). - </p> - </li> - <li class="classics"><strong>SQLite</strong> database support added - <p class="normal"> + </p> + </li> + <li class="classics"><strong>SQLite</strong> database support added + <p class="normal"> Offers an alternative for small trees (not to be reasonably considered for medium and large trees because of poor performance). - </p> - </li> - <li class="classics">Database backend restructured - <p class="normal"> + </p> + </li> + <li class="classics">Database backend restructured + <p class="normal"> Results in a global performance boost despite the number of new features. - </p> - </li> - <li class="classics"><em>genxref</em> incremental indexing fixed - <p class="normal"> + </p> + </li> + <li class="classics"><em>genxref</em> incremental indexing fixed + <p class="normal"> When indexing without <code>--reindexall</code> option, former definitions and references are now correctly erased from the database, leaving no false duplicates. - </p> - </li> - <li class="classics"><em>genxref</em> performance improvement - <p class="normal"> + </p> + </li> + <li class="classics"><em>genxref</em> performance improvement + <p class="normal"> In the common case where source tree is stored in plain ordinary files, suppress file copying and work directly on original files. - </p> - </li> - <li class="classics">New configuration file template and script - for kernel browsing - <p class="normal"> + </p> + </li> + <li class="classics">New configuration file template and script + for kernel browsing + <p class="normal"> Correctly configuring LXR for the Linux kernel has always been a nightmare. The new configuration template contains plethora of <code>'variables'</code> to resolve the virtual <code>#include</code>s present in the source. - </p> - </li> - <li class="classics">Guaranteed application order of <code>'maps'</code> rules - </li> - <li class="classics">Conditional <code>'variables'</code> - <p class="normal"> + </p> + </li> + <li class="classics">Guaranteed application order of <code>'maps'</code> rules + </li> + <li class="classics">Conditional <code>'variables'</code> + <p class="normal"> New <code>'when'</code> clause tells when context is meaningful for the variable. - </p> - </li> - <li class="classics"><em>search</em> - <p class="normal"> + </p> + </li> + <li class="classics"><em>search</em> + <p class="normal"> <em>Case insensitive</em> search now really case-insensitive. - </p> - </li> - <li class="classics"><em>diff</em> - <p class="normal"> + </p> + </li> + <li class="classics"><em>diff</em> + <p class="normal"> Can compare two files differing in any number of <code>'variables'</code> if it makes sense (only under <em>buttons-and-menus</em> interface). - </p> - </li> - <li class="classics">Many bug fixes - </li> - </ul> - </li> - <li><strong>Release 0.11</strong> - <ul> - <li class="classics">New organisation of LXR root directory - <p class="normal"> + </p> + </li> + <li class="classics">Many bug fixes + </li> + </ul> +</section> +<section> + <h1>Release 0.11</h1> + <ul> + <li class="classics">New organisation of LXR root directory + <p class="normal"> More subdirectories so that only the main scripts remain at the root. - </p> - </li> - <li class="classics">Scripts to facilitate configuration - <p class="normal"> + </p> + </li> + <li class="classics">Scripts to facilitate configuration + <p class="normal"> First step towards automated installation. - </p> - </li> - <li class="classics">Better compatibility with <strong>Apache</strong> - <p class="normal">Can work with <em>Prefork</em> and <em>Worker</em> MPM</p> - </li> - <li class="classics">Experimental support of <strong>lighttpd</strong> web server - </li> - <li class="classics">Multiple trees configuration - <p class="normal">Integrated tree switching.</p> - </li> - <li class="classics">Possibility to have several stylesheets - <p class="normal"> + </p> + </li> + <li class="classics">Better compatibility with <strong>Apache</strong> + <p class="normal">Can work with <em>Prefork</em> and <em>Worker</em> MPM</p> + </li> + <li class="classics">Experimental support of <strong>lighttpd</strong> web server + </li> + <li class="classics">Multiple trees configuration + <p class="normal">Integrated tree switching.</p> + </li> + <li class="classics">Possibility to have several stylesheets + <p class="normal"> Selection of actual style done by user in compatible browsers. - </p> - </li> - <li class="classics"><strong>CVS</strong> support improved - <p class="normal"> + </p> + </li> + <li class="classics"><strong>CVS</strong> support improved + <p class="normal"> Side branches now accessed and indexed - </p> - </li> - <li class="classics">Bug fixes - </li> - </ul> - </li> - <li><strong>Release 0.10</strong> - <ul> - <li class="classics">Buttons-and-menus interface</li> - <li class="classics"><code>'variables'</code> can have any name - <p class="normal">Internal arguments used in the URL + </p> + </li> + <li class="classics">Bug fixes + </li> + </ul> +</section> +<section> + <h1>Release 0.10</h1> + <ul> + <li class="classics">Buttons-and-menus interface</li> + <li class="classics"><code>'variables'</code> can have any name + <p class="normal">Internal arguments used in the URL are now prefixed with <code>_</code> (underscore) so that they will never conflict with a configuration <code>'variables'</code> - </p> - <p class="comment">Note to + </p> + <p class="comment">Note to <span class="caution">CodeStriker</span> users: This breaks current integration with LXR. - </p> - </li> - <li class="classics"><em>diff markup</em> - <p class="normal">Background colours to highlight differences, + </p> + </li> + <li class="classics"><em>diff markup</em> + <p class="normal">Background colours to highlight differences, set with CSS - </p> - <p class="normal">Ability to change width of left column + </p> + <p class="normal">Ability to change width of left column through a configuration parameter and an URL arg - </p> - </li> - <li class="classics"><em>identifier search</em> - <p class="normal">Ability to limit search to declarations only, + </p> + </li> + <li class="classics"><em>identifier search</em> + <p class="normal">Ability to limit search to declarations only, default set by a configuration parameter - </p> - <p class="normal">Results presented in a table to avoid + </p> + <p class="normal">Results presented in a table to avoid bad looking ragged presentation - </p> - </li> - <li class="classics"><em>free-text search</em> - <p class="normal">Results presented in a table to avoid + </p> + </li> + <li class="classics"><em>free-text search</em> + <p class="normal">Results presented in a table to avoid bad looking ragged presentation - </p> - <p class="normal">With <strong>Glimpse</strong>, + </p> + <p class="normal">With <strong>Glimpse</strong>, searched string is highlighted in the hit text fragment - </p> - </li> - <li class="classics">Language support - <p class="normal">Add JavaScript description - </p> - <p class="comment"> + </p> + </li> + <li class="classics">Language support + <p class="normal">Add JavaScript description + </p> + <p class="comment"> Community testing needed because the LXR administrator has no JavaScript skills - </p> - <p class="normal">Add Ruby description - </p> - <p class="comment"> + </p> + <p class="normal">Add Ruby description + </p> + <p class="comment"> Community testing needed because the LXR administrator has no Ruby skills - </p> - <p class="normal">Fixes to Python description - </li> - <li class="classics">Bug fixes - <p class="normal">Language parsing, Perl compatibility, ...</p> - </li> - </ul> - </li> - <li>Following releases - <ul> - <li class="classics">Consistent marker naming for templates</li> - <li class="classics"> - <span class="caution">With community help</span> - (that is, you) full-text search operational on SCM repositories - </li> - <li class="classics"><em>(internal)</em> - Switching source code management to Git - </li> - </ul> - </li> - <li><strong>Release 1.x</strong> - <p class="normal">Fully commented sou... [truncated message content] |
Update of /cvsroot/lxr/html/backstore5 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv16515/backstore5 Added Files: HTML5_Logo_32.png HTML5_Logo_64.png LXRheadfoot.css LXRlogo1-90x65.gif LXRlogo2.ico LXRlogo2.png LXRweb.css NavBtnTable.shtml cn.png de.png es.png footer.shtml fr.png gb.png gplv3-88x31.png header.shtml lang_link.shtml logo_mbox.gif nav_link.shtml ru.png shelfempty2.jpg Log Message: Switching to HTML5, first step: convert include library --- NEW FILE: HTML5_Logo_32.png --- PNG 2AM÷ _eëEÂsܺÊ{Jød$ øËKÐú Âè s½yrOFP\ÌVÁ8-¤`à)\ªc¾RKxw¦Õõ½¡UâScLéôb,WìöÉlævn·º/ ApfnÅÕ_5>B{RT67PÀeSmO!2KgCv®ÌÂ$ ÑÏ kêV.T¥´ßøX9äh"ïÑîíIP%ã'ãVHë}+WuA --- NEW FILE: HTML5_Logo_64.png --- PNG -4þ6&l´ôÖÂÊX¨ Ñ£ÄÒ 6¿ §S`wǽvÙ½ÙÙ¼äes»3ß|ï½ïÍîÙìúÛûÈæî×,?}Üöz{þ¶Àø®×u -é22ùÛôø0jÎÑEWG]ÇÞmcB¤&JãqÆg õ»¶÷¶÷çriØMFT¨P±~±Á9Ý¡WÅ^Jϰ¥Ö¦°?¢¹Âzã¢ISK!+I¾°±*!P±Q´âJp¾ï¦iÉõ½* ÷gU×yÀç<¶iÌ _úÜßS ꬬràÅÌSYIð²d¹dÙ : Òì4æ +ûØ%ðÓûô60êÀUFGøtÜrLÇ~6ËjN½¡Þb LK£¿( F_ÈÓl.Ê«uLc0r6v`G ®2¡õHÔiF --- NEW FILE: LXRheadfoot.css --- /************************* * For header and footer * *************************/ body > header { display: table ; padding-bottom: 5pt ; margin-bottom: 10pt ; border-bottom: solid thin gray ; border-spacing: 2pt ; width: 100% } body > header h1 { text-align: center ; font-weight: bold ; font-size: 18pt ; text-decoration: none } div.layoutrow { display: table-row } div.layoutrow > div { display: table-cell ; padding: 0 ; margin: 0 } body > footer { display: table ; padding-top: 5pt ; margin-top: 10pt ; border-top: solid thin gray ; border-spacing: 2pt ; width: 100% } body > header .leftmost , body > header .rightmost { width: 25% } body > footer .leftmost , body > footer .rightmost { width: 30% } body > header .leftmost { vertical-align: middle } .leftmost { text-align: left } .centermost { text-align: center ; vertical-align: middle } .rightmost { text-align: right } body > header P , body > footer P { padding: 0 ; margin: 0 } .subnotice { font-size: 80% ; font-style: italic } .technotice { font-size: 90% } --- NEW FILE: LXRlogo1-90x65.gif --- GIF89aZ ü\©!+h0!Jòм=¢OµV WEvkíà8Ù,{ÓP¶Úì>¿Ñdù5µ>>³á¸²VDã³ HtØg õè¤a9 ÕFù¸!åçØ§ W(9 ÊG:4h gÆê@úé×Z;JÈä¸jkwËÉ ¸#g<ÛÉ« üUë5û<]M§Û,üç-T Kù2Î4®Zùi¹},Ýæ~¯îj¯=Vë6nÜúð»vÖ(мTª2¼Hq¼WVû.dtâÇe®PyòäôÌæ¦dL<Ô°D8ÌM5«ØÁèrÏLaCGìä´ÄQ¤IE,%JÄÏWE9L-R5¤Ö\»zý 6¬Ø±dË~( --- NEW FILE: LXRlogo2.ico --- 6L!Ñþ¹1 P¯ôþúþþþþþþüüüÙÉÙÉÕaµúþþÕ¹ÉÉÐÙüw5Ìþþþþþþþþð/<<<<:þúþþþôY<<<<(AðþþþþþþþþþþþþþþÔ£§âþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþ --- NEW FILE: LXRlogo2.png --- PNG ,¤B ÏãÇÍe̤¥ºº:DbÑçéîî¾wïö««kqqñ¨Q£°ð¿sçNkk«åäW«ÕK.½yó¦öP(,**ò÷÷7)²=ªªª0` <kÖ,¥Rù<¥à´mÛ6Ûµ¹¹ÙËË¢¢ûb,ô eBÃb±RSSmMN¥R9{öl¢vvvåå司fÝ1Ñ3P^Í@;ÂÂþßÔÔ$ÆP(,,,4urýà>M Þà ÄÁv?,P·´ _D NëÖ3,OZb±°Éóý÷$/í9sÂD¢²²2K&ø»øx8mÚDrÆO:Ó={'.H$Â&I\ù¦M(<xÐBÖ#~Ôj4>¶®a±Ñänhhðôô¤x`Ï=«/FSòòÂ&ÆôéH¡Ð1?zô(Å"±jÕ*Ëø'ut ±uHJJtÌËÊÊìììääätíÚ5¢ Ä&§'jlÔ1¿víÅÚ R1ì !>DغiøpD322(/²··wss³¶Á²eØn- Ëu·H$/¾ø"ñÖ=²èdÙ@³fÏFDËvà !aÅ=?<sPLI!à·@ (..¶´Gòn¡Äfcë/¢)§Ñh¢¢¢´5tèÐPY ±ÝqõjÒã|öÙg7ãÀVp;YÜw·mN#âøqç®®®HÝ+WBO Q£°ÝnÖ,Ò·{ìØ1]¹r¥u|Öp°.YãQ]qä{èééÞs¸h¶ùø ¢»²²ÒÑÑÐôéÓ-j,X¤®.ôê«Øº/0ôß¿¿çýû±ÝB($Ùmmm/½ô¡¡C6 ¾ç äçí Ø¸$öçN1öîÝkåxU~=°ÎÎèömÑ ¡·ßFÄä¸S§NQ¼ïqïÐó^ì)H.G/#.C__ÔÞ®µªªb,L6ÍjÆÑÙ±c?fLZ0|óM¯V={ðD,W¯ü|¸q+¸t ^~ùéa{{»X,®®®Ö62dHii©»»;}Ý+º~5é¦N,g¼¡lGoö8.oðF¼Ây $[¤êj3Æ´-,3{m¥Ñ@D< ¶Cää@p°.Z~ "Ï?wîÜk¯½fIhgÆ/ÊÛ}Æm¿V0å#Á!Ûs9á¶¢4> 0жl6:'ÚH[¶è/¿üò$ù%Ú½{·aÔê4Oz½ÑP¶ãdû(öÀál'>phÛ<ÒH7Ê~ÔñÓ=M{o_RCt4¾z*ED@RÃÆPCL <{-´4Ð:rssCCC5¶Allì?ü`+ )/NÿÁÔ ×!2çóT£ áwúØMÀ³X,ÔÒ ´4Ð& ,YríÚ5¢±áaàe *z%þ&o$Ó%S8î3¹ôË¿Ò7 ÚæðF°{±ëé§ëÍGK{÷ÑoðÍ7ߤ¦¦ìܹsÚ´ifóÏVÜ¢=Ìóá2;wîiÚ?ÑþdÇâEñưÍÑuÞÞ:O$núàÒV®eËt £eËÅ÷áÞ2¤:£ºcª®kF]!ÇÐy ÞÃÃ#;;¸D¢¢¢"**JVì RÒßïñ}Óíç;ý£Ê)v2&ô~WódNGÓ$É HLºnútËyγ¼e¦ÑÑ£°}»îpÒ¤IéééÄê+9997o6ç-ÉB{ÿ4«rÇõ´ã"7~ZäSÙyAR( /Ïʺ®®.¥Ò¾»ý+ÆCBB(üwîܹoß¾¾Ïa²3¸:u:%Z'¤/õfÔe HEEð!\}þ ðÌéÛoIñÉ'<x§¿ÿþ¤¤$Úks·i§8\`Ïç3FñécR¤< ¨ì ¤sÌ8mh¹s¡ªêéaPsÞ{H¥wß »wÁFè£àìY¿`Á¶mÛ Ö[wNÇìUÐ+¨9]Y"¦Ûùs=^â¸ÐþÜ]Ö j íØÁ¨}©s~þ<ÅpåJ¯óª(( .JÂK¼iÓ¦+Vh5MLLÌ_ýE¼ê´²._Iÿ¢=BR92415êÖ-² Éd°eȾøúkøÏ@.§ù©³~û ¢£!(jËÑ ÊÃdòòÂnoo Xçøûï¿'ìèèkjjê9ÌWÞbâÖ¨é|W}OÃøf/æcòæíGK³oªuÓF:V¯êjú¬ ñùàåNNº¥¥ 1QxÂýéÏùó0{6Ïüù'Ãûïcû¤¡ ?ø }òäIÛ©¶¹¸`ëñãIÆD"£WÔÍyIn.NcO(D.ÒÆW¯^µÚÚÐØ±2T*U°^¾Ù56·oÇ©ô B·nø¯^½Ý÷²C=ý6môtl¯¿&U,Ú¸qãÎ; ¦MöÛo¿ñÌZÈÖδòÊòó#G@«çzòlBüqÊ)¿ÿþ;e3ä¶]¢Ìê`È!Ö,Èmµ··O$§¿EFFöq{\Û©¸¸¢æóù(ãMROÝ¢ä[¶lyAºÿ¾~IÚäädÔO¨´´ÔPÂÅb:tè¹I*úùùQEý233¹Ê} ·Û"HúÛèÅbÛß^(&ÙáviÇ<<<zöFêDYáëëkäö¸¶Rvv6eÛ>ñâEÔoI¡P¼A.3lF¸Ý(Ôju¨ Ë70Qbb¢åz°±±Ñìªi}¡O>ù?HèÕ»;Yªªªÿh)Ľû¥"ÕÈßß_FL²>}èµñx¼üü|< ô±vyäæævïÞ=«I¸ÖâBÆÛÿAþ8 --- NEW FILE: LXRweb.css --- @import "LXRheadfoot.css"; /************************ * Define font families * ************************/ /* Common usage */ .classics , .pagefooter , .normal , .comment , .newsframe , dt, dd { font-family: /*Baskerville,*/ FreeSerif, 'DejaVu Serif' , Times, 'Times New Roman', serif } /* Captioning */ .gothics , .pageheader , .navbar , h1, h2, h3, h4, h5, h6 , ul, ol, li , .navbar .here p { font-family: /*"Gill Sans",*/ FreeSans, "DejaVu Sans" , Helvetica, Arial, sans-serif } /* Code */ CODE , KBD , SAMP { font-family: /*FreeMono,*/ "DejaVu Sans Mono", Courier, monospace ; font-size: 10pt } /*************** * Text styles * ***************/ UL.indent { list-style-type: circle } li > DIV { margin-left: 0pt ; margin-top: 2pt } li { margin: 6pt 0 3pt 0 } UL.version > LI { border: 2pt solid aqua ; padding: 0 6pt ; margin-right: 6pt } P , DIV { margin: 6pt 0cm 6pt 0 } /* BODY > P , BODY > DIV { margin-right: 1cm }*/ .indent { margin-left: 1cm } .caution , .comment , .error , .fatal { font-style: italic /* ; font-size: 80% */ } .caution , .error , .fatal { color: red } .error , .fatal { font-variant: small-caps } .fatal { text-decoration: blink } .caution , .comment { margin: 0 1cm } SPAN.caution , SPAN.comment { margin: 0 } .attention { color: red } EM.defn { font-weight: bold ; padding: 0 3pt ; border: 2pt solid blue } .comment EM , .caution EM { font-style: normal /* toggle italic style */ } /***************** * Code examples * *****************/ PRE { font-style: normal ; font-size: 10pt ; margin: 6pt 1cm ; padding: 0.5em } .shell { background-color: black ; color: lime ; font-weight: bold ; border: 1pt solid lime } .example { background-color: #DDDDDD ; border: 1pt dashed green } .boxed { border: solid fuchsia ; padding : 6pt 1em } PRE.defn { background-color: #DDDDDD ; border: 2pt solid navy ; margin: 0.5cm 5cm 0.5cm 3cm ; text-align: center } CODE , SAMP { font-style: normal } KBD { font-style: italic ; color: white } KBD EM { font-style: normal } /******************** * Navigation links * ********************/ .navbar { border: 2pt solid green ; background-color: #DDDDDD ; margin: 5pt ; padding: 10pt 5pt ; vertical-align: top ; font-size: 10pt ; width: 18% } .navbar H1 { font-weight: bold ; font-size: 14pt ; margin: 0 0 12pt 0 } .navbar A { font-weight: normal } .navbar .here { background-color: #AAFFAA ; margin: 0 } /******************** * Cell-like layout * ********************/ .flush-left { float: left ; margin: 0.2cm 1cm 0cm 0cm } TD { padding: 0 0.5cm } /********************* * Outline styles *********************/ h1 { text-align: left } H2 , article h1 , aside h1 , nav h1 , section h1 , :-moz-any(article, aside, nav, section) h1 { font-size: 24pt ; text-align: left } H3 , :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { font-size: 18pt } H4 , :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { font-size: 16pt } H5 , :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { font-size: 14pt } H6 , :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { font-size: 12pt } dl { list-style-type: disc } dt { display: list-item ; margin-top: 10pt } --- NEW FILE: NavBtnTable.shtml --- <nav class="navbuttons"> <style scoped type="text/css"> nav.navbuttons { display: table ; width: 100% } .navbuttons > div { padding: 0pt 50pt ; display: table-cell } div.prev { width: 33% ; text-align: left } div.index { width: 33% ; text-align: center } div.next { width: 33% ; text-align: right } </style> <div class="prev"> <!--#if expr='$prevPage' --> <form action="<!--#echo var='prevPage' -->" method="get"> <p> <button type="submit"><< <!--#echo encoding="none" var="prevBtn" --></button> </p> </form> <!--#endif --> </div> <div class="index"> <!--#if expr='$indxPage' --> <form action="<!--#echo var='indxPage' -->" method="get"> <p> <button type="submit"><!--#echo encoding="none" var="indexBtn" --></button> </p> </form> <!--#endif --> </div> <div class="next"> <!--#if expr='$nextPage' --> <form action="<!--#echo var='nextPage' -->" method="get"> <p> <button type="submit"><!--#echo encoding="none" var="nextBtn" --> >></button> </p> </form> <!--#endif --> </div> </nav> --- NEW FILE: cn.png --- PNG ` --- NEW FILE: de.png --- PNG ,â z±#¶Äòÿ÷¯ÿÿ2 --- NEW FILE: es.png --- PNG --- NEW FILE: footer.shtml --- <!-- Common footer to be included in every page --> <!-- $Id: footer.shtml,v 1.1 2013/12/31 17:37:39 ajlittoz Exp $ --> <footer> <div class="layoutrow"> <div class="leftmost"> <p class="subnotice"> Unless otherwise stated, all material (source, text, pictures, …) are open source </p> <address class="gothics" style="font-style:normal"> Webmaster: <a href="mailto:ajl...@us...">ajlittoz</a> </address> </div> <div class="centermost"> <p class=gothics> Released under <a href="http://www.gnu.org/licenses/gpl.html"> <img src="/backstore5/gplv3-88x31.png" alt="GNU General Public Licence v3" width="88" height="31" style="border:none" ></a> <br> <span class="classics" style="font-size: 80%; font-style: italic"> <!--#config timefmt="%Y" --> © 1999-<!--#echo var="DATE_LOCAL" --> - The LXR team </span> </p> </div> <div class="centermost"> <a href="http://validator.w3.org/check?uri=referer"> <img src="/backstore5/HTML5_Logo_64.png" alt="HTML 5 Compliant" style="border:none" ></a> </div> <div class="rightmost"> <p class="technotice"> <!--#config timefmt="%F" --> Page last modified on <!--#echo var="LAST_MODIFIED" --> </p> </div> </div> </footer> <!-- Piwik --> <script type="text/javascript"> var _paq = _paq || []; _paq.push(["trackPageView"]); _paq.push(["enableLinkTracking"]); (function() { var u=(("https:" == document.location.protocol) ? "https" : "http") + "://lxr.sourceforge.net/lxrpax/"; _paq.push(["setTrackerUrl", u+"piwik.php"]); _paq.push(["setSiteId", "1"]); var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript"; g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Piwik Code --> <noscript> <!-- Piwik Image Tracker --> <!-- <img hidden src="http://lxr.sourceforge.net/lxrpax/piwik.php?idsite=1&rec=1" style="border:0" alt="">--> <!-- End Piwik --> </noscript> </body> </html> --- NEW FILE: fr.png --- PNG --- NEW FILE: gb.png --- PNG yÉþþó×F[ØôÐL5]¶^gÚwçû^ Æå+TõWyþü'##ÃÅ»î åK~ --- NEW FILE: gplv3-88x31.png --- PNG à ¡ F!+([!Ë`de@d¦§ß»ç( (ÄX²(¢D5 ÙüqOÇ®×Ë,RPWukzúÝõ»çóï6üÿ©ÔSüJà1R ö)ìøÐÁM³v"pÀL 7ÖGeB±ÂKöùXùø¿¾T8,°]á9ëB8- Bk3>+Àîø§BùqX)¼wÆÙ-ð¡Âûþ¡0¡ÎÌ]ÍÉeÁOËñ n¹Â îûè[à+>Ø/PÂq# 33¾,S¿µcñMr(m¢GåhóÀA£¶Gí»c@xW¡Âòjö_ öØwB¸¾¢>Z¡Â¤lîá2 ·l9mîÙ:-¥ÐÎ|U¹Àü:å3¡bhì`¨-ö V6ÑûbÀ@; eÕìVSÊìûCðÃÊA Ù÷ds#ö*¬PhZ®HÚÑIZ ÷GÚN´IN@ Snµc.pÜÌxßP°LOÄÁµÓ}¿ªî<¬°3øµSkZ tw0L`°À)Y°ª°ÚÁåÙv`¡ 6Þ,ºípÜDw ðªø¶WÛÿ?ÌþR.²1º+ÐÓÚ] ¤· à{ÿÂJXl¹À;V¦½;"pz<½íDí¶O 1ÀÖ覰ÕA¯l°¶Âzëp5þ±Âë&ý@_ ©Ân m ?³ÍêeÔ&n±3W@£:ø½BYÍmÌa [ÒÛÁ«ðù{T`K Q [¸0 5s9è _+,èhÇwHá½÷¿f¨óÀPël Q¨oóX·H à¾+pM>¼7ÚâOábF\ÔsÞ 9èæÑ)Óô1@+ÜcAh´³AÐ"¶ÑÒ. ç0@`¹åùG mGFz¥&Zgç R[°ì¤¾íþ´´ï¼Ïâ6&-=øµYjlÝT½4YuÀæhô®aC%Ùzi¦uÊ@õÔM³Þî ÏÜÑÌôû¼è R>È ¿89bÁ,{<×Ú?WI×lW3¦´Íí¬0KaN.í·@àTRRÎsâL K@BCãÎåâÝI}|aß§eKGªiÎç¿:ÓBBÏ?¯fmÂ%é]-(üMÀéóÍrÐx¡S³|µmgÚÅýC¨ô©õª<ñ^ª/Is4_íAa´ÂÂB¯Ô± ýu5ûºøùä»Ra|æ22Q´ pNEêyPÿy8e4(¡YÑUF©v'¡EÄnÊs!/« 8£¡Æ2¯¤ýw¬ÅаÄÀ]V³Bk? 0ØÆ¬osÿwÝâàÚ$4ÊÕ w'òÉÜìh]àñ¹ ÏÄB"ñ ¦Â>{7Ë®Vò]è¹â5Ô¸±fÌ1"¥G´5©ñÈÂë*0¦QQPª× o+Í ÖÏÐVÅÊÜ"ðÂo#q¤@Û *l<é ÛØ,~ÔÁEêE¢EÅÆ*¢¾·U¯d}#pYÓJ 3Åk¶¯+ÌV?µÃ÷¦ÿr M½Äßô?ñÅß:¬Wz¡d»_&ÞVøH¼î»Bý5ø brVfQ$ßHç:Ë6Ó´Vf$;#*Ø×âÇù»@Àñ¬©v6lòͰ¬î&*ót3«*³Ïý&ÐßÁX¡h°À »©&-&?ÑdJóìl Mx§¬2ñ×)SÍÏèkÇr©}d|³L½>0]à~ gų>æ§';iM°Éöø,ót¸VàNNÂYê©Ï4ñV<É6|¤]JFªiÂwUåÐPàA ÷p1Y[ !p¯±]¯YÛ!> l7 ß°ã(ìP¶]³Ä»ý¦¨-xÕÔ¹5ã/ÿX%~! ¼í`²ÀÛÄûé·ÄËq¿X&Ð¥:ÀUh¤p³1©igUË®9¯ãß4Tg𧪬¿Z©Ö)$¡SI® ºBã¡'$ÀvÚ¦]+úßÀÕÌy×ôÀsG]ù>õ:Ãç'0À©²S}´¿B#× h rýj+ê´àÒ´ÌéD*¡AÒÿØåvº[ö/evï·V}À3+`íU}þu¯P2ë÷ --- NEW FILE: header.shtml --- <!--#if expr="$SCRIPT_NAME = /^\/(..\/)?((.{3,})\/)?([^\/]*)\$/" --><!--#endif --> <!--#set var="langPrefix" value="$1"--> <!--#set var="pageDir" value="$2"--> <!--#set var="pageFile" value="$4"--> <!--#if expr="Z$pageFile = Z" --> <!--#set var="pageFile" value="index.shtml"--> <!--#endif --> <!DOCTYPE html> <!-- Common header to be included on every page --> <!-- $Id: header.shtml,v 1.1 2013/12/31 17:37:39 ajlittoz Exp $ --> <html lang="<!--#echo var="pageLang" -->"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><!--#echo var="pageMetaTitle" --></title> <link rel="stylesheet" type="text/css" href="/backstore5/LXRweb.css"> <link rel="icon" type="image/png" href="/backstore/LXRlogo2.png" sizes="140x90"> <link rel="icon" type="image/x-icon" href="/backstore/LXRlogo2.ico" sizes="32x32"> </head> <body> <header> <div class="layoutrow"> <div class="leftmost"> <a href="http://sourceforge.net/projects/lxr"> <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=27350&type=15" alt="Get LXR Cross Referencer at SourceForge.net. Fast, secure and Free Open Source software downloads" width="150" height="40" style="border: none" > </a> </div> <div class="centermost"> <h1><!--#echo encoding="none" var="pageHeaderTitle" --></h1> </div> <div class="rightmost"> <a href="http://sourceforge.net/projects/lxr"> <img src="/backstore/LXRlogo2.png" alt="LXR project" style="border: none" > </a> <br> <!--#set var="lang_arg" value="en,/en/,gb,Current language,English page" --><!--#include virtual="/backstore/lang_link.shtml" --> <!--#set var="lang_arg" value="fr,/fr/,fr,Langue actuelle,Page en français" --><!--#include virtual="/backstore/lang_link.shtml" --> <!--#set var="lang_arg" value="es,/es/,es,Idioma actual,Página en español" --><!--#include virtual="/backstore/lang_link.shtml" --> <!--#set var="lang_arg" value="de,/de/,de,laufende Sprache,Seite auf Deutsch" --><!--#include virtual="/backstore/lang_link.shtml" --> <!--#set var="lang_arg" value="ru,/ru/,ru,Current language,СÑÑаниÑа на ÑÑÑÑком ÑзÑке" --><!--#include virtual="/backstore/lang_link.shtml" --> <!--#set var="lang_arg" value="zh,/zh/,cn,Current language,ä¸å½ç½é¡µ" --><!--#include virtual="/backstore/lang_link.shtml" --> </div> </div> </header> --- NEW FILE: lang_link.shtml --- <!--#if expr='$lang_arg = /^([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)/' --> <!--#set var="langTarget" value="$1" --> <!--#set var="langDir" value="$2" --> <!--#set var="langIcon" value="$3" --> <!--#set var="langCurrent" value="$4" --> <!--#set var="langJump" value="$5" --> <!--#endif --> <!--#if expr="$pageLang = $langTarget" --><span style="border: thin solid red; background-color: silver; padding: 0 2px" title="<!--#echo var="langCurrent" -->" ><!--#else --><a href="<!--#echo var="langDir" --><!--#echo var="pageDir" --><!--#echo var="pageFile" -->" title="<!--#echo encoding="none" var="langJump" -->" hreflang="<!--#echo var="langTarget" -->" > <!--#endif --> <img src="/backstore/<!--#echo var="langIcon" -->.png" alt="Flag for language <!--#echo var="langTarget" -->" style="border: none" ><!--#if expr="$pageLang = $langTarget" --></span><!--#else --></a><!--#endif --> --- NEW FILE: logo_mbox.gif --- GIF89aÈ #""#!#%&''"&',,!++1/'-.0//0.65#54*45";959;8970;;,>=&@>6@A;@B?@>(FH-FDD@?#IJ3EDAEGCEB+PR4ON<NMBMNKKI-STHMO2XY+ZZVRPOTVRTQHXWA[[1``8^`;ac5ee_ZYN``Jda:ijVbc_a`Cikea_@ookfeJop;tsfihTnl]mmFuuC{ztonKzzgvvU{|_ywHytsuwtswzN {}z|{XhI{ubTr PCL[ bnP VV M ¡^ |qR¥¦g W©ª`¨ªhª§o¨§ ]¯° ¦¦¤££ ¢bµ¶¤¦£x²°£¨ªo·¹§¦hº»¨ª§´´a¾¾°¯¢¯°³«¯¬oÁÂhÅĽ°±·²±²´±À¾ª·¸¡¼¼ÀÁ¾¸·¸º·qÎÍ{Íͼ¾»Ìɽ»º¿ÁÊÉvÓÒ¿Á¾¸ÄůÇǤÌÎÈÃÁÀÅÈÃÅÂtÛÙ}ÙÙÈÊÇÛÜÕÈÈÏÊÉßÞ¢×ÖºÑÐËÍÊÄÑÑÔÎÍÎÐÍåäèæåæÓÕÒÚÕÓ«âáÌÙÚ·àáÖØÕÆÞÜãÖ×ðîßÚØÚÜÙðïîïöôÜáäßáÝæàß×ääÑæå¹íìËéæâäá÷ö£ööåçäâèêìæå®÷ùÝëë ýü»öôÃõô©üýðêéêìéâïðÝòñÿÿêïòíïìóîìØöó¶ÿÿºÿûÏùúðòïîóöÄÿý÷òðþññÌÿþóõòÿòòåúùÕÿÿÜþÿüöôíúûöøõáÿüõûýùû÷êÿþñÿÿûýúÿüúùÿÿüÿûþÿü, =.ݺ;-*]ñx¶åËn 7VøØ ö3 ,´)/ )ÅÌA¥@tÓå8íÄs¢@¤©ËR'yPÙ°J"_l! yèÒNhöÔN4xèñ#»xehHâS©Ódê©îàãΩþÌ -Ða <' =?Écmb9d¢ "Ð*Ï(C vPô@ ¨ZjQ´Ñ(G;ò>öq:YpR0-t26"©@µAn´%¦¨1Ðb|C-pCÖ@t¨Å!HÀð vHÂ=r( h K]yq*1c%Xà tìB T^% 9ÿ£ÒÝÀ2\*@1ï¤ Lt¥#¨À|iôQ§ KÖñ®?(1¸jp)¸aBò8#BQÞ%äDû ¶àKMçhÅìt3@8 Ê[þògÊ Q8Ã&À¨]ºþÙÐÊTIDl°PÃsaËêpѰe~@b\Ôv0C`Ã6ä ¬Q@n)GøB BØZQ4ahDà¨"¦ÔþÉt´¢D(V¦tÒCr$8rILhü#ÞXT ¿Ïø2 ôH_0µG¹4.rÀRÐ3 XBà6@ÖÐéÔñ WÐ R ) N°0xp @¬ÖÀÉ r`-¨)¹ ¸¦b:¦¸0 gJC° ap½°LÙped#3X'óÃİRÕÃÐÀä þ½`Î È0£À"P d<RZJ¤ 9 FÀ¬Â ¬22 (`¬()@0 MP(Ð%ðvð g ³Õ°¡0VPÖª3PAÀD"!9äj®Öº®Ù:V÷Ò ÁV ·p ôZ¯ìÚ*ðàEÚ@ÅÀqïC>-µf`&¨@ ¶ ¼@ ° @ ¨À§ 8Ë k ´YÙgÀpAj° 0 j0 0 " »à iø à@nîãRª°hèà 5ä ësÅ Diæ4w0 S° Ppkq°ÝÐk L0·± w =KêÐ×±Ë$ò«Ã°°6j»ÊPrC|ÄHÄJ¼ÄLÜĵuÂP¼R\~NÌCL÷ôÝ MzY¼[ÜÅPÇaìÞ@ ¢§¯ÜÆnÆ÷Ç÷óPÇ»ÄýPgð"FÀ²ÐþðЩe¬ýpð"<À} ê@¥Ð +SȲÇ,ÖPðPk×báàgYÀ¤\ʦ\ÊÇ50Ï`öð ×@ÆV|Ų°6B;Ó ¢0 uQÃ= 70±0××è~À(x| W Æ;3 i £Ð ® Î à¬0°@ ; 2LVÝá^dN þÖ¡mI>ISX]| i -Øp%NCTQ)ë [Pð_@`víN0=R ô´ Ó@bÒ àiÉó@è³Óµ£pqlúp¸&F0 κÛjvÙö ¹° ` x²}Xð ®Pzò 3º¡´{£7ô ~ PÁXÂÉç<,uX¡þÂ9P9MK.dNÃçHðpÿÙǺfHD;ô/,È£ )±RôA ê¡HòÅÀÐ {î¡g 7~ ¦_ñ%_®ñ%PQeq<i¨GB@`6²i ¨ / ÕmÀ°@ NÐ3AyÄ:äX.þÔ1aCd@¢@ Ãj' Éø1pøb3@Ð'¤Á D° Ô q¡¤$Ù°P cBÐsB¡DB¦ ] ¼ðh£8¢(<á ^ BÙ:h±þ[µ|]FP{9fBÿ Dxb}B1_Ý¢!Óð.vÕ-X¸"ZÓ|ybyËÑ-ªô)5DØWñÑáÉx±!ñÑ£âtø°'*ûþ]ÃÊ@GrYRÀØÇ?ò»!VåUD%ð±/wLãR=Ä)û«_û`2>¬+WyÉþÇo¡× o_$r´tÈwpÇÙ#w¸Â AGvQEÿðWM©¬åb |îW=´¬ B C¸ýâHvbàØøGùÌht!(#ö)ȬhqÈÆè°çDJõP²'ÂÑ8¶PDüR¥Ü¬0v± H@¢Æ¬"TÁà]üCÍPFTÑ Oà#Âq) Q>Lù®$0R¼¶ÝmÈ&Ò\[þ(âØÓàæLAâÜ©Äqw¡R(¿r°¯y¦p¸½Â4&¼ `ª¸Ã4PÛHÄAm$6±B¨Bãnr8GéÛÌaWIy9Kd>s¦ÐâÈ 9>Æ0is¤)èÎÛÏ øØ<85±döñbÉÜy±/Wð.ÜQn¨Bج# WÿA Q¿æh,>nA)åx¶¥ÅÃUÁÞJx¢ØÄêj,ã÷j¶,kÛ1(7µ»Ã.VÛ 5ô! ÐÑs7¾#îãòLW~·XåiZLc_Í®Ì>¦A}(#éò>Ô·Þõ¯ÇÇ.*Áô××Þö --- NEW FILE: nav_link.shtml --- <!--#if expr='$nav_arg = /^([^,]*),([^,]*),([^,]*)/' --><!--#endif --> <!--#set var="navStep" value="$1"--> <!--#set var="navLink" value="$2"--> <!--#set var="navTitle" value="$3"--> <!--#if expr='"$installStep" == "$navStep"' --><p class="here"> <!--#else --><a href="<!--#echo var="navLink" -->.shtml"> <!--#endif --><!--#echo encoding="none" var="navTitle" --> <!--#if expr='"$installStep" == "$navStep"' -->→</p> <!--#else --></a><br><!--#endif --> --- NEW FILE: ru.png --- PNG --- NEW FILE: shelfempty2.jpg --- ÿØÿà ÿÀ KnkôÒÀ¡'ÚÑÿ å `(~Èú*BSõE!@F/Ô_¢¼5íAôSb_°¾¡@@F$þõPð¨Q )±3Ú3©{/ÏD DûÂ+¬ª,E ->£#íR$Ó=¸ÈE hg:Y ]$%[4¶'nÌ«Ë%¤ðÂ1:OÖ4ÚÙcø (Wàà¹ý?¼¿óíPâüÇ#?!7Ò¾k|FµÈ~ÕSBAÈqr÷qùÊßD Hm+±ú<ËoËJCi]SB^Ä(ÔoÞh5[r » kÜÏaHÛè¡Èä÷ù)Ç#KA ñ$ï aëí}"IJõ¨ &íû)?Sͨȡ0Cð©HñíTd\G7(2¸^\ä¦8wöúÓ1¿1îþjPÆ®Ãè¦@µeú¬V¢ÐÓ~a2>ÛZ ¶Ãäi°sj>vârÛÅ}=×5)~d ¤mk[qÿ µÇ]4ÄKÆÝ÷Lc||§vãí½+Y¿*¡ÿ ¤GTHûµ¾kòT«¹ÚU Óq}<þãªÇ»Ã{GºÖò^â&J¶ßâp,}å>ʤÓìÞ7ÁûAe±ú8P$Ý|6'ËÃqÄLÁÈx¤_$øóMk¯Röò)y&ÿ ÿ ØÚÀy õ4¢vÆr÷¬ì¾3¶Ä6½^±Õx«IfdÍ40»±¤E)~î>^$^ Þ3¶íêDÆÉKÄîl{ +~\°>ZjÕem3#»ÏºeK6TÉ# q¼î¡m¸Þ³f¥bó$dz>æØì'|ÒLsË"C¸uÞÊzó½gFÆ£zI BvùÚú~ïrÄãûÒ ÍòSÏú2Îcwé®§Úe,Ü8Qç¢ %Àí:$kzi«Uìÿ Ø«¡ÜOâùÃ_¦Øå ~8?Ëþ}4qAÉñl¯á¯ÓG ð7Q¤$H?g:n'dmqLë!bH¸JMÁ($øV 04vFóP&íý Ö·ÑVT Ù1Úux,FXÔ¬.WcÎao õ]HoC ¯$M²È#ToËÃÝoA< ü=à+,gÄ7,ÇÍRÇmPãCa/á8ýQáD8yE{£fXï=/á.ÓÌÇ#×Á[TZÕ¹í5O_»*oj¢yzí?I&.ÀÚ÷ ¾=ãt=Ų!?ãFr]®Rºæ½E÷]ÿ 5ÞGLnÌ#¡cÉ]të¥#:3Üq§!Ó[ÄßwË]¸^1q@§²ä¤!àHµ FI¬m©DÄèñ¢ñø|õ°·Õ*k ¼?ÓYÚCø>á6 Â×óÔ¥à<ý%ºÆäÆ*bò±@÷ú+|øQðN1OAÑûÖµF^áÄ/LgÆ¡ªy5 Á GÒûe Q©±q§H>SK¼Fòc!H= gK#¨éî<*ÄEaƸGÓM½¤ÅiÒ\Q°çzU~ccßè^¢µþ@Yt>SZ'îW`סzÁdÀ ¯pôPD}¿Éý±½¬ ¥ÈP=5IÄ!þÉKUÐIQù§ó"BöK ±"?áð)Õ/ö R[âlòF¡YVq¨ ¶¢i·*°¸ÁixñAtâG+s¨IÔa<8í¢A#OÒ7TËü<è¨xAá6建 ÒÖOh«YS×;tÙÚâGYPq'ÝWú¦`ÑZòE\*w¹ÄPJäô»KyÅeFLÅùW»FâºÌ§=õ.rõ%WWid<Þm»Jë©yݾÍ#¢nLXÉm9ú2øØyÖ´b÷¢GËgÏo´¾ÃY»ã»Ôö#ZìæxìUOqóUÏUÕ©Û¡'úW 8[pµWb®³Üç9jépÁ»ímNQ°Êï¸ë$HèCÀv]lÀàáþWRlxHîfµ&Î$"b@IòÈ*jH¸Ï3÷>SK ¸¡·ÍË 7ÚÛ¸ ÐAÒýn2âl³Ï-¤úyT+UâLk~è>¯ÈDX¶¹Ü/e¥XLm°õfic(]R°à/楧 (ÀØq5To1¦2xÂF·ûÛ²ju ÍGÉeVë-¼°ÔÀ@î=OuÆ9.ë{ (ªvÈÕÍ6%)sb<AÂÝÕÂüuÇW'K*S±ùÉKµã5c¶ Ît+iºRcÈé¾ÆÞ¢Üd(â®BgkÔ4± wr®¥"L¯b VÙ{r+ÛËüõí1³Ñ£`ÝñËãcõFÇI3ÌJ;$÷çßµ ëlvô쬿î.˳l»îÞw,É £\XÊÀ[P³|D¶?`jÙkI/¼ä«QêÎyÕy¹Y»öã<i5²+JI!C±Qrx&ºLj¸³Y»êaz¬Ä²î 9f÷t:nÔ<!¦Cïä%WÀôr1Úf%ÈÕ; <É»Ö~ÜxyNô ê,Y è¾ ÀêWtµ¡5UÜ:,¸CIKi¤ûys½z¼u;þ§pz[j mdìûÿ xßU¼d¹As&lÖ4}K-Ø`m¤ÑN«R,Ô|®hêL½ÉãÃÆñøÓ: ÓcǪ;º4·ÿ ÿ Iò·Àzê!_ÜöT RBsIÙ@M.51aÚ $ ÈÙt¬àanF&Ö#dG>)ä¬ùv-¡k¸`n7"LYD©¢b¡ ºûÎPlÑ:OGËÈã½'$d-r»¯bÜ{/îKåÿ ºÙ]ÚdÑÚWQ,l}5ç:(ì=<gm!¥'ÝAóÑSGK÷44¡}Ëdv Øÿ {8Z¹Ô~µúÚÜã`ÇÒòø÷¹SîÓ#ùR ìg=ÿ >÷c$ó¸az¢¬3!@äjX¬Xþ4xj¼m6EW,í}6$¢#AÓóÆ),}+0#¾íëâ°Õ4v±½XÅâVoðü^÷*ÊòøpX@¹î§VhÁá²DÈácCÜKuÙWD¥²Ó¦µ^ðf(#Yl¤.|¦ <µ#U j§nÖóI8Ѱfw¹7Ò uJÕL'eǼÅrW)S}^K߬õÍVâ5:9?´ç+ê¿C9¼nû«á¬rfLéï{#ÃÎkU*§c#ØäÉ4ñ§Àµ(Ka)6Y,7<nn¡Y°gÃXFAJ&t5ÜJes)ùj[/´mÖj²còÊ \ißÏú mW¥N[¹Ã L5ãwoifà=5ÛÇ (0äÜÉu¼»ì¢ìòµòW¾iÁ¹¹Ù±æ§ío"Áð÷SM\WϬ[ªA±ê:ýå]qÈA¹86vj´ÜoqÌñì WñBFÃÞ¸ rOÖ·ÑBSaÑK0Ù.VPúñóÙU¡'¹[):ØÇêhΦ¶áÞGq¦"ï§·vï(ºH¦ê;×êÕw¬¢u±¦~¬Æ«%¦eB¶ûkkÞ¨øõ,ä]p;g û:¥¿Uo¦ªÊ ¶¾Ù,ßr9xi å*(ð®¯Ì5êPåÕ£IÐ_0rúGq4Ë9ÖEwm* E¾¨;ç³ò+®82}eÔ[¦õ>õ¸H>(²*ÐÍK óÔvÐÉt_QIøÁÏÝò¾!w6,WOîU²õã] qÛSu¹ìtüø±Ë,Ec©¤ò-Ùz¡dQ±>2Î;k[Å-¤6¸»ù+JjÅoÒÍMoøí³î[FããNgeÅmWT¯Gq¬yqk¡ÓÇÚµê+.¢@½óð¹ÝÕ¥Y3õ4Û±jEY$aâàö*% ÷]uWOÁò¦¾=Â'ܦÇ(±cmnãë}>§åOÒ·-¥9¦Në¹tee0pòåÇñxj ÓKCUÓ2¤û~\Âà4§è¥S Þ\m#¯r!HòÉ]D:)óå¯Eø¸8½¦sLÍÊ,FųP©þb´S¨ºNY§qòó3Y1б ÄËÓÙ^`ê3¿G°lù0íY¦ÇI¼ka~'¶'+£Pü»ù±Ôyê\¸ Á_"=&èeª¬é¥¾ vÊïigSÌÞvÈf1ócøvÒÈáÃ)ìµaÅI²h,ÎC¹adl´x¢6ñÞY§¸+bI«¦ïÇ/5äÑâ^ÿ nêfØç@ñã[LRzCuÞ¦ÇÁUÜ6Z¨`ªÁy°µø¯q)ññ"ËÜbx]åPÅÂ#$±û¬·aî÷qZI¿"i ùð|¾ÌÇiZB¥m#¶w LY8ØiäxפÌÚ©Ê¢MmËfÙqµÈ»{ã#6qs"ÈH<=åFì®f.ÎV¿rù(5[ þÖ@ÀÜú;gËTÂuÀK³=')Jú*ëâÏKXßó!Ô®Ù·vJóÌ '[B(÷¸äØÅ^)#G©Ëcñ9%Ô÷tþÕyÿ 2"ÇiAñ[/æÒÈ^ü°¼Aà|µa@½û¨"æ4Ã9£¿:7&ÿ 2¦gÀa nR)±Iïa§ÿ ®ÃG[ë>Å^=K>vç6bbÁ$iC:B"ýRjQÚµæú¿?Æ«D¼×é&ü¸Weðåjô¦îDÛ¢ÅKÙ|`-nüjëÁíìv<UÆ\¹<s1ñ¥æU930¯GVµÔäÕ)Ô¿ÀÞú_i í¸¹Ù-@óK*âRu0<;ë/¿kÚY[¿u¾Fd3@ûvÁ^ìÒ#O ¿Fg!ªÜ?àçäöðPs)Oöx{o%þíYAÎNJiÆ¿^Ó>©ûyÉ=~¾ÇC®hW;.(,ohY}ä°íxú+j&äÝlÍðì±ZlÜ`ùj?Ô 5»%I¢Êng5;HÝñáÙV¢¿gQabãK¨bF9#,XxÇ/ßâÒ¨4UY^'°T X¦!dhÝ~²°±ºD&òQQ/6ÍÒ¶¾$2]#áꪮ'[lgû·u}±Yj^AµE"Evðo0ýeö» ]ÌK¨Òü~)¸ Ö¼»cÜÖ¡·±Ì×U?¹:GÃ?AX6(¾åÆ/<÷ìHû5 ̾P/YÄ ñ«h&b÷hS¨3ñÑt¤SJpz«"Ô²1ð^ïæµV1ã~>zTuY¶Ï7}×Ú*ʶÇOÜ:G³m³c(Í$ZOe ÊíqmùY¹.ÌK*¼ZRñAäÕΤ ¥l\+3"xÓ#!ÄRmÙÎ¥VÅ /³æqê&ª~$Ñ}¬[ÑT²¤Uò~Zp#Ïþl@6[ymKÒR÷,P*/¶ô?Å$vÅõä<)T-¾ ?DήyÚfüuqJ¨'K(w&ÁGÞ¢û6/g£D]Öi!TMá=÷â-ßΫvNN[r³b7ËÊ<xÇßµ¨c÷ |º?q?ìmfìnz¯±Éå³ÉèÞ½w¼HÌTw]oƤUVÖa··iµ#S!oÝvV[¹F·3{Þ´¯Ûg+7¸ë*åw)ÊäWîcÉk¤¿eeLòr·uØóäÌßñ÷<8d.§ÝÓ{Z®þ%*'Dq? Û4® '»ÞÜ>/ZºÞ%yý¦&<½µ¨ÆAî;¼Åç-ÐBf=Í\ 5ã7` ¶ÄÎ,HãCd\xÃ4²±*O8M¸Sh$ñyBñI-¯ÂäÓcñi° Ú50SÜ(E°zbÞÊ^" Ǭäeª +àûÌTY¯ÚjÕ7±U¹{ôØyÕ¤_×~¯Ôp*#?T\©#è¨ÚºÉÕÆFL¤*x4ßïJ+ªloq¹Òβñ$ØêØ,¡ÀßP0^IÔÇ.>]Kz1î:|ºþo*meìîz¯±ò¤ÏÓu ÝYÒ5ßÚ=ÖyKXò²ªÚãÝUP8aØÚÅb%µ\A¬ýÔ²Ú{ Î÷³æ!Mhÿ Ef[úWýa~úæâ×$ÃúGïR:±ÊºxGùv⥠U ãu"ݺ´<{&%øä¿ª«³;^âu,?Rdgº<!¹áM©&HS=®å ½UåúVÄó§ñªÏß]¼eeM\aºú¸Ü~Q^¤ç×qÍ5u< ¥«^>OqoÓgÞÈó§°UyMÐ* ¿C+:ûéÛVãÜÚdþß$j}GÐ+U¶)³õ3Yk,±¸¯¦«{Wn8ØÛÒjűZ18ì·ä¨¤I èò~O#RÈDÒ+p ÖD;ګİVúIܶã~AWSbn5 >ì5+ÐáYÉ ;Þ)êd1ßñ·ÙoçVÅí(¶äô&Õ®0?s·3PôCÞ¹m\maRhD¸C<ìÚ-cÁ Á@áïIèZ1Èd)¸íjb4{ ¥ò£[ÕHDð7;0Aà®çUüNáS[ìgô,¬/k·aæjPÞÅñ;¸[x V¸ìçSáti;ÒòÞò¸É½ @·§ J.YýÕBæ´®ÁÒ5lYïsï-j32/S»LÈ-e @ô¥r5ùuý¿°?Y;ãÑu}×:¬FªðyòJ6[bñóèi1± ¹ûÍÏî:ÆÆù±ä0ñÆFH>ä\no[õk=bF¡Ãê||1i!\iàD.ZóJX+ulZJ}'4êÃ$Y;tOÀ®½H;£q뫪·¡Óܦ3dL| äÚï®ül/¦±åG6ÛFCeíM. µH,.>Ðá[r¨rylo~ãIñy>ú)%u8åð%Y#bË÷gÞ «Ï¨ÚÚjWLm9EUÎÒ¹¡I¢x!cu:Ä5SWEù¨¸qyXªÝI*·µuu8¥Æ~ãÛ97Æê\0a{[ê0öÇZÛäô;·¾öﲿßõ3[´òÉ bÖèPóìÔáIµÈEBïAνóbÍÛ:5p¦Ý7Â/ðhí§ÄÒE¥H½Ë×ègóÏj~þùªÕbNA ÷¾ÃÚ+ÔhµéÅaÕ}åf&þjê~#÷×òkFvwý¡Yßc`#ÉXÕ»<Cî×_¸âIØÁ×^¤3×ýMIKµEÉl(1£@ W%Õí5øÜv¤¶ï÷¯jéø!;®@ßv]ÖlüHÛ~+d&éÀu®°ÊoþïU*[¯uÆÏôf¬±jêyX,|,4±ÚÈrQðï÷Èè¯'Þ³ätºëBô Öus¹&Ð)74 EµîÓ ñUTl¤åÝG$X¦IqÔê[qìÕÃè¥#@ÚOùª[ìVØ+¹¹F÷WÌ+ÍhX5E^ñ*¦<Àó* ËÅÏf®úñêY°£RªM«;Â4ei$ÀYD¢#{þ±õq¥ÃRVÏX3jA·/ J@¸åÁqVYz°æÇfét)-$òAäñY>}ÜV|g3&â0æ nqa¼ùVTñÞC÷k¸235§H&¬2½'$ëYVMîN*^VCä,Oå«ë±ÑéîlÝÈ[ý52=A°nDÊ6*] _ºyi'Ãv¨ã˾$'%4C,±¦!«Ý}bÉ)ÒMfîOÂÅZc¤}%¢Á['u®mo?:̯ëFǬ_^g!§.CØ+®pK}ÃwÌnHp²¨ñ,F¦[Y¸Ð+-:õWåÈív?)øxºE|ÿ a¯>1àt{¯ õ8¼ëhǤW«0Qê+bbz°æ5q®¯á¯ëëÈê²Äy0üLxjè-<¤¢'ܲñzïZÜSqËôÔåUKPÍÆ?âXX>á½âïi6¼nì3YOïW÷Çw¨ÿ ^G½<Φ h£f`H»9÷@æ}ÍF°i$cfRU"6 %8ÖO¸ Ö±çð~zCC÷¡åü=ÙMw*çKùAï«I®ëb©¿·Èp÷<èÈvÒ;N¤,ë7ôNªÁ ·å¨q&EÚÛ²y;lÜÜ!÷WÌ+jBÁãI¡;ÝR7Óª®Á¹UÌÏL{Vìyv(ʳF¬É2]Voÿ W®ü¯S³ô37aEɱáâäíâ<¨Zl"YcGEÉÖx 5N3êZn[FOFddâÉ0´i å6¸Õ¢í§Þ)ÙWP©np~£ÿ 5q Ûzw6ÊFó ç¦är:2¢ºñÒ «ðJò3=Ó8Ye$£Äcï)-Z2Y58Ö¦¹Qím'ÕX Õ&c©12åÊcàªq O*Õ _rãcxÎF¸ÙnR×vUy¡²æÍÜ}UI ÏöOª o±M& Fbz=É&eö\äܤwÇW[EM«MÚh¡ûËù`È- ½F³"ÖÉ8q̸î6ý Ôl¤I£ÇÉLÂ'¿I©xγsxØvQHô2ÅVDdmg)Üe÷ú¬$Çõ.D¤¬³)µRG*ÓèEt®<ñcZHÝÖ¤p#UxÍ<ûk<2ÉròÓORG,»NB"31À{jÌz2-èg ÄËÒo_¢{ªû²5&.<ú-áµíÜj²É»cÎÓm¬±³@äÀÀU¸Þ¥CAiê¸7)· ä¿!´ò5>Àñ³É@&dsñ²Nç¨DålÞðßZ¶QèWqÔp>£z£ÁW ðâ*§¹$HHçãe{[¶`L 'VÞÄpà)6«XbOw*DÇW0nA'ËHEæÑÀÍakÆÞÊE\}Ö7¸I.À^Úd¿å«õÇNËã6xMÿ M}pàú1Â":`OøÑ#Öqî(^Ú$<þÍ0&a¨GÃýÓQâ¦ú<ûÅm÷ߩÆe$á~ú+@=´ &ìVæç¶J Ôi°4¤eGQ»v@¿ ¢{-ôÚ¶µ_|Þ Ã(@Q $Æ(@$Ç@ 1ÓÑSÛG@ 4tfD DIcãÊ!ËÂZ0@½ ~ÕÔZ³ÐÁ{¾Õ¶mý/·âdã¶JG<ªÉá´Å3sÌù*êÃÖ mg|ã¼AäzªtönöÄ/'~¡Yónw0ìÍìx®Ê'@Ö®t¤ÀG:²¶HàÚ¾{hÃq#$9Ñ$R3DU ¤UVPnÀZÞymé(êVÎÊÓý×Fý7ÇOUsðûÑÖí¯í³ B#óW£ð<o{¹ecͱÄÉ$>úZH6âmÙX±Õ¬ÕôKÚËKutÈßëþ£38êïúEt¨y[ØîWÞ7új«)$³êoïPío¶åAòÌ ×iO¤±6Ôì8ù+×üE1dæoþea38%koMu)¹'¤?ó£ÎËùk¹øU¿×W¯±ÖyäËÈLÇÃÆ¢VwuyeB/a-sÝ]¹«]y)µ)í÷ºaåKãmñ'ö¬Ü0c}v<ùñãse6òZ*[ÀºÁÓ@J»*GñYL!!ÚhGÖçTãÉke¸¿óWíæ[*Ñù-ÄÙ'¿ÙQéá],ûjW`/¼ô ¯ÙSccgòì9ë BâãÑ7XäôoYQ¡/ɾG±ÀÙ½6»2dåFdÉøÃdxbpk'I±nÞUBZ¢LäÒ/ß§ºß×V{Å7~áË×Y¨WR¾êà êÆ %l}>ñ5ÔÛº~nÜSHí([5IçÎ&T)T&ÂÆKx 9/ÁÆì|Æ Æ¢ÆÀñï $t- Ïsµc¦ø2&Û¥#2ÞÚá¸ãX¹åuåPwJÇ:Øß0¤LsðPãÍtI$N¶q"°×pO¸.O¯¶Ds±õ.¡«CûýcÝ7º,I,^ã>MÁÕõ8ʳãUY_bÙ>'É}IÅÙ@oW²»§{y[BírÏfÉSÐF!¹ùë?É~PÖZÝ>²Âí[Íü0TNQÓÖu?¨~JÙCbÍB<û}5\HÍgS|ºß:sgÃÞ3gÅ<Æ lw.ßz"8ÕPæ¦<IºÁÌP ·óXzx±¿JKú±[5*²·²>ü(ÉI<0 àêm(.EgPÚ&ÎZ·lÜu<ËÆ8ùMêç±[ØÙç)â{Ï嬴#Q x 9³¨¿¦²åÜîcöc10]ü"èe·sZêãû5UoSØmWBãPäº=8|TñTÑ <¯Zi«Áì|²ìêFÞɤ3D °Ì²¿V³Q//O«×þ§±66µÀáåµwÏ,·4ÛãÆ<'VP¡ähUßõwÓ\Ü*2}¿_±ë;í¶öµÿ YÑp»þ$odëD-Ç bÁø9¾# å÷¯îÉú²/°ufÓváu# K}¥"±9N-ÃW?]]Øöèµ#ç"ðâ'7<¹¨¯!Ù~£¯`°#Í}ï8Vuðï®È k[ ÏAWaªî&¥â1¬/ªTPðÕöM©°$lË«qb>É4Ä© VL @*RÀ´ ¸Cp25F4nG®¡õ|»=;àïg7|ݬb4¬=Û)ú VøÓW¡Æ÷}áÏt4éí;=2Ãb¿ ZÒ)Ò ¯Çë6]ÎÕ ê̺6×,¾"Xx¬;l¦õSYâàÍ`äM«ÄÅXDTJÄ¥@~cïpå[ó¶n®4îµê«ÓêÈ1ä ¼î×3«iÈv?&£_[BÜ níU1û*¨^Ú ¼;F;MýU4¤>ûH5lI#Q ÕDTðá@ÉH´*ÐZ«@( BÀ¥ 5÷E@¦5Êô ñyù|ªî-"ªÃg0ÞIüb$_²»~ůO£x~(ñðý»°÷}<«6MÎÅt¡Ó7#²Iá8Ó¦Kj Þ ± s㺨ƽHÇÚÌÔRÆwü} å xßÀË@üTj ʼ¢ujHR1ªÜ('¦ ' ¹ó4YԿܲ cä\e:.ø`nÛVÿ j<Í ªµ¹d_^¿¤`këtrý ¢½9áÑkv¶ÙÁ3ɬv ¯>ú¼ëyüÁÛÉl¯é³µ¿ÍᬼÁg^ßþ¢·TàØ÷Øù¨[F»æ/Zn}E<·í)'M%[ø¯÷À[Þäjªc(±³Ü÷æEÇõ25ÜÔtDL':¥[ú z?ÃþÛúó2þGÞ¾¼¤sbnª¢q¥XãÛ[²aY+Ŷd¥Ým$ì]ò¨þp˦dps ÌS*gãædhÛ"Ê>£k¯³8Mb~då`ÈûF.ßµ®Õ¶cA)ÆÇøI%q+RFñéeóUuÜV(z|)ß6þõÔÇ÷M;ìFÛGPÇGeîÞª»v"O?yÁî2B @§´Zþc@ÃQ¥-Üh-v%÷ænðµ]öFÊ«:!@É(* <¢¨¤!j)°)PÆ-EÔÀ0( Âé;P0ZÔ `ç@jP aÛHBBýÚöжâT50¿ªþ@ÅZ¼Ô2ëÂ÷_! »i©e4c·C÷Î{ùz I®Éu¸·2/RDF/ÿ 3i[]WÙ^¤ðF§tùs¼âô67YlxCX·§Rµp6æ1µ:Wüâ§R°¿x<¦÷4"u:7Íxº}v®;LÌøÅ· q°¥Ã3Me´dZ;v/éqª+ï'sïùÚ´w7#áç´DpV]Vì&Çòסü3þÛúó2þGßõö5sEfÈĪ%nÜaMt-f«&*îA}rÇI iÐVB}âîÞ{)S¹îÔ±á½53ù^2´JÌ|5feþaÄ=«jªßÄÍk7Åck.}Æõ¶ý$°îSâj9y&ÿ , j9wz³¨ìøvÛ&49YI4 ÎQ`þ#)íUçæÜÖyáNÛ<l2%ð31¡Wm]äµ]kNä1UÉÊsó³j^wª´4»óM@-8¾ÉûÕY-¹ÓÊÝqÊÜÔôönN^â+ à§íXp¬ýi^W_5Þ)kRÆêÉ%ÑÙokèãT_ªÇ·k^«¥ÓÓÙÄ÷G ?ÜD¿%û/ëÅwS(A{«Uz¤|üéû÷á²üÛ¥8ùË Ç3,ÂÂw¹,[Â0ømdá}uòVz1táÀ?EYR²rÿ P è Ü($PH @ ° P åí 3 ùáv¿ÜyÔ$|bÿ FXp=JúhUÒ¶ü<ù²¡m4° ɱTÉ((ê@:HcR@S (@P $j` ×o¬¶=·#o(¦éÒ,Mè»yþé/õmíÐ~ãÅÈí÷®}5$7±U(â w]L<Eè˰4¾Ð½DçQpôöøì«(YÕtoÁüø´Ón'Ê+oqé±râ ±ðÁ!÷æâIU¨=½d)ÛîýäÜí}+ßL&þH6àäk{Tê&î1Ò}þ»Ø1íG5ø_¡A¸ñ£ ø[?Ý#T¹ÍU¦ÏX)zâ#ÉñáÇðr¥\ÌWwYîÖ%µC)çW]ç+Ç'(âì©øÞ®Æ§fEÆUç?¦àð»ýäV7¹ÑÍìo4º¦³¤_åjÀ¨v ]®uEHÞÚ4j {Hen*jîÊdè¨z¤Uuì¹¾"ê_ ¸z*·î#OäTá^(ãQß²=½b>|u\ÝÏtÈùpT`~1äb¹&\ß/¨x Èô_¾«È½{²vØã¹K÷Õ¨¨°SïG3Êî4v#r=+²üfÊØ&Ç#˱|?Âü7(d:ûk=_¯rÜ[&ÞwZ´"j~YD/oxL48¯SøÕý¯6sûãv³E<âMÒ«ÊøáÆâáH ÇÙ£تM5zÒßw°¶ý.®ÕûvXççΤq_ä-«%ûݧ¥kÿ ¸Ð@ÃR Ô MbÝã×Sï½ ðØRsØd=¼¦U©Ô¡!o-TLIâÃmHH´éqþnÖ<¢ohªï±%¹¯ UI1ÖàEÁ¥ÉÑǨ~I¨;H¤jIUX ¸ÂRizxÄ~Ó1úh±mKø*$ÑZ%0Z8´X, ÅZHALa@µ¨ Ô ýV¸û&Tî(÷°Ð) ïGû¿°}¢¤Åîó0ò^Èyöñ¤· òíìòÔ}íC¿°T@¤fæG:p{{k¢Äyz*Õ±n#YÓ1cªBÙHº'·É\ìãÓâ³I@ôñ^ã% A¶%Ãø ÄXè6=½Ôìð#ê!ÛR©,v\Õ·û¦áè§ÖýÄC½ûOëÄäã/ì õÏÙ³ÞzBeùq´õdù+Iðø«ißPMÊ}ÒÃëp¤ÛV´Î>?¥SD ʧ² lÉ©lÈG7ez¿ÆþÏ×9ùýÇ@3+gX°£ÊdËQ8ÐüTØ $ó½aíb¦LõV³¦þÛA«G\oU¿]ÔxKµ¤£oÛ¤Ì3,beI+Ç¿UJÉòGÉWý@ûÔáíÇËý%>÷c$)"Àÿ (P*(ZPH $ AÚð j@©-@@ /nD"+qÖ6g =ëz9ЪDzf÷@<jI¤>Pk¶Qm¿~§´Ò±eK¸;*#'CÊZcZA ¸ AÐ0q¥"¶z` hßOÝAnÙ?%\1nnÃÃj¿¹¹=ǫòyýñ¿Ù Ú¢^5\/¼¡4Ȳ$²ýò}J# êÊÛbóåm&Ñs xÒúÇê=΢ _%¿JÞå',Ù"Ù¹(>E÷mt${ñ ¹Ñköù* #?¨¥Ëk"Cc³2|ÛáìÚ8pa7:BÉÛqÌÒ*¥ÁñIí«2lvzÙønÇx·'%`ÖÒD=Ö²X}5º3_k"µví®$Q{úçÛsköñ?uÂOÒ Ã}¡oÍWe^0umêò):[gÌ<}«ÁîF®çí¿¯cÛáÓè×§GgXÜFÞ~EcDÛ!fmÄcË´áGÞc¿òGuC,óC{gp[· ¬Edø¸>CD²Ah±¡nMæ5!ÎUü>ãïê¯Uøÿ ·é:g'º÷¼¢²~Mâǵ/wöåâ]>vPTÎÞ6$0Íw,¡Í² /äD]vôÖ<.Æmkâ¯Úö»ÿ B¯ö^¼]g÷993+¹IUóY÷ü¬_È»®WáÆÞW>Êò÷:üé!ÕÏ:^b¹åé¨_bUÜÓ ørª`m2äf c`, ð[í à7y ðOy ®¢þõ»{h ÌïÐ?µ*ÂnÂr¼Í»8ñòT¦Ù¥Æù9Ö8ÑÎ *ð¥ÏcÄjZÞjãËòK¬¸_á%7þe }EÐ}A¶äÉ(eRñK©Ñ2¶ ¤Óà :ê4¢É%ÍϤ}úøúƤ¼K±n§MãI4d &8A}uÎɹéÕøÓ;üéLx9~3"eK¼)MFà =NÓ¼¦g˼<ÙÛ]bAÚI¬ÙýÈY,lêô«¨B&F*x»X?fÂÞ¦v+åVå.LæÃdØ*£¤rjuŨS3më¡v¶ÜznÛÕÂ|LÚÚöI>ªU<8WèM»åÏ 8r²b§@Výà¡\&¿½ÔA¡ÚYaÙ°'ºbXrëp&nŦòÇàÌñx:4fÊG3ÄÞâöýZ< ÙAó+9ú~I0S²ÜreBÁuWe$]èÆüè.åþϸgmxù¹{³Ë,è3 Ó b|)PÅ4À=00Æ? ÷x«R{g¦ò$hÀ÷u1$s<8~ õýOØúó9w÷£Õ[V4Q¼º(¿{kÈøDÆNå,§ /ÄÀ&_ͧå¾çnÖǹҶþ9yðf~ϱnÌ·áÜ{Æük½ù¯×ØÃ×6þ¿(wÜ%î´-^vú#©CÓ0äB/0fPuHn>¯xÊõ)GÅmî°åjr¯®¦}1ÏïÚߺ?-AnA½ÅLÊ©< Å@1PL4 å¹}Å ½¥uÛÒ¹(zððíòãÀdÿ Dýùgª½wS\ëÄæ_ÞWLõýæÈoʼÓ#: ú¢Üík_ËÆÔN}ó¿ßùwbÏ.2Þ|u6õVÿ ;¨^b¤¼ B nL%[Á¿ÑäÇÁö0ò +ý¥ÿ Néq-~EõËËÜù~\3"u%]Ë ê=½¢·fRÎRØèñugKJ.¾7aÿÕ<_ÌGÍήé³Ñ»>6|9yRFÑÇ.ä½Ôp£ÅÎÄl/åGPAÒXV|mNp¥~ðHÅÁI ûÖ<*ìÞ¦~´éè/âË2ÌyߺªE&ÿ H^}.ËÌtÀƸ¼ÕFêhzéYD[ƹý*ßÕUqeá¹íN·\Üsÿ »ÿ b$R¢êÈ =ìE:·:³÷1¥ ¢ÿ ßd¿u³LD¶EFÏòªöoÁwB¥ßÀt±&÷!ÔÔ2W»p÷8û¹úæ´Â,u>ÌvõÙ-SI¥¹sü ?ì:é¾f¿á±¯`Ìë)ø£¬üرÓý-}²6ó³kPò%ÎÞlÓѱðM«\XÝA¿®ªky¦ßÑë};V(' ¿ÑNJøm¿¤ëíXÌmn1¯æ¤>! ·¤tøV8 õEóð¤J¹úåìó´òíhdrK΢çÈä]òö0 G¦AÅ1vköߺü(8Âlýíë¢@_³v3Q ¸±K´Óo]¨¡µ}¶£ACᶯ¶Ôá0Ä_Ûj\PC¶}¶úi ¬bÇSìþ~Þp~BA¥ØOüô?¼)qcþ£Ø¿ÇCûâPl§l?¾)q`+ñíül?¾(âü?Ç6ñ~ð§Å¯Æö|÷ÅøæÑküd6ý±I¦jÞ¶Ë2ü±ÛB«íââýáG Æñµù¸¿|QÅmââýñG |
From: Andre-Littoz <ajl...@us...> - 2013-12-31 17:35:22
|
Update of /cvsroot/lxr/html/backstore5 In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv16377/backstore5 Log Message: Directory /cvsroot/lxr/html/backstore5 added to the repository |
From: Andre-Littoz <ajl...@us...> - 2013-12-31 15:12:36
|
Update of /cvsroot/lxr/html/en In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv6779/en Modified Files: index.shtml Log Message: */index.shtml: minor upgrade to 2.0.0 characteristics Index: index.shtml =================================================================== RCS file: /cvsroot/lxr/html/en/index.shtml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- index.shtml 3 Dec 2013 09:49:18 -0000 1.11 +++ index.shtml 31 Dec 2013 15:12:32 -0000 1.12 @@ -157,18 +157,18 @@ <h2>Demo: the LXR tree cross-referenced by LXR itself</h2> <p class="comment"> -Releases 0.9.8 to 1.2.0 can be displayed and compared. +Releases 0.9.8 to 2.0.0 can be displayed and compared. </p> <p class="comment"> This demo exhibits two tree-variants: </p> <ul> <li> -<a href="/lxr/source/">"classical" plain files tree</a> +<a href="/demo/source/lxr">"classical" plain files tree</a> containing several released versions </li> <li> -<a href="/cvs/source">CVS repository tree</a> +<a href="/demo/source/cvs">CVS repository tree</a> containing all development history <p class="normal"> Due to SourceForge restrictions, it is only a snapshot. @@ -179,18 +179,24 @@ <p class="normal"> Notes: </p> - <p class="comment"> + <ul> + <li class="comment"> Since SourceForge's Perl is 5.8.8, -LXR engines 1.0 and higher cannot be used. -You will not see the latest improvements and features. - </p> - <p class="comment"> +the LXR engine 2.0.0 has been slightly adapted. + </li> + <li class="comment"> +SourceForge's <strong>MySQl</strong> user-privileges prevent using some integrity checks +needed during source-tree indexation. +The workaround was replacement of the database by <strong>SQLite</strong>. + </li> + <li class="comment"> SourceForge has a complex configuration where some support tools are removed from web servers to improve security. Consequently, some LXR features do not work as expected (<em>e.g.</em> annotations in file display under CVS). - </p> + </li> + </ul> <h2>Download and summary information</h2> <p class=normal> |
From: Andre-Littoz <ajl...@us...> - 2013-12-04 15:05:09
|
Update of /cvsroot/lxr/lxr/doc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20617/doc Removed Files: INSTALL-0.10.txt INSTALL-0.11.txt INSTALL-0.9.9.txt INSTALL-1.0.txt Log Message: doc/INSTALL-*.txt: remove installation notices for older releases (sent to the Attic) --- INSTALL-0.10.txt DELETED --- --- INSTALL-0.11.txt DELETED --- --- INSTALL-0.9.9.txt DELETED --- --- INSTALL-1.0.txt DELETED --- |
From: Andre-Littoz <ajl...@us...> - 2013-12-04 14:59:30
|
Update of /cvsroot/lxr/lxr/doc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20004/doc Removed Files: INSTALL-0.11 Log Message: Remove obsolete files --- INSTALL-0.11 DELETED --- |
From: Andre-Littoz <ajl...@us...> - 2013-12-04 14:35:32
|
Update of /cvsroot/lxr/lxr/lib/LXR In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv18441/lib/LXR Modified Files: Common.pm Log Message: Common.pm: minor adjustment to a comment Index: Common.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Common.pm,v retrieving revision 1.109 retrieving revision 1.110 diff -u -d -r1.109 -r1.110 --- Common.pm 3 Dec 2013 09:59:54 -0000 1.109 +++ Common.pm 4 Dec 2013 14:35:29 -0000 1.110 @@ -22,7 +22,7 @@ This module contains HTTP initialisation and various HTML tag generation. -I<Note:> +B<Note:> =over |
From: Andre-Littoz <ajl...@us...> - 2013-12-03 15:13:27
|
Update of /cvsroot/lxr/lxr/templates/Apache In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24402/templates/Apache Removed Files: htaccess-apache1 htaccess-apache2 htaccess-cgi Log Message: templates/Apache/ht-access-*: remove obsolete files --- htaccess-apache1 DELETED --- --- htaccess-apache2 DELETED --- --- htaccess-cgi DELETED --- |
From: Andre-Littoz <ajl...@us...> - 2013-12-03 14:33:41
|
Update of /cvsroot/lxr/lxr/doc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20458/doc Modified Files: CHANGES CREDITS.txt HACKING INSTALL Added Files: INSTALL-0.11.txt INSTALL-1.0.txt Log Message: doc/*: amend documentation before 2.0 release --- NEW FILE: INSTALL-0.11.txt --- L X X RRRR L X X R R L X X R R L X RRRR L X X R R L X X R R LLLLL X X R R LXR First time installation for a single source-tree ------------------------------------------------- (revised January 2012 for 0.11 release) These instructions are also available on the web site at http://lxr.sourceforge.net Note: if you already know LXR, read file CHANGES for compatibility ====| issues (index database, configuration files, customised templates, | etc.). Caution, this release introduces major changes in directory | structure. Note: do not forget to download the 100+ pages user's manual which ==== covers many topics beyond first-time installation. A/ Required tools ----------------- The current version of the lxr depends on the following things: 1) Perl interpreter version 5.8 or later. Installed by default in nearly all Linux distributions, but check the version number. 2) The exuberant ctags program version 5 or later. Available as a package in nearly all Linux distributions; otherwise download from http://sf.net/projects/ctags 3) A relational database - MySQL 4.x/5.x (http://www.mysql.com), Postgresql (http://www.postgresql.org) and Oracle are supported. You will also need the right Perl DBI drivers for your particular database, usually available from CPAN. 4) A webserver - Apache httpd (http://httpd.apache.org/) with mod_perl (http://perl.apache.org/) is recommended. LXR works with Apache 1 and Apache 2. - lighttpd is also now experimentally supported. 5) For freetext searching, either Glimpse (http://webglimpse.net) or Swish-e (http://swish-e.org) version 2.1 or later. Swish-e is fully GPL'ed, while Glimpse is only free for non-commercial use. 6) The Perl database driver interface DBI and the relevant DBD driver for the database you're using. If you don't already have these, they can be installed via CPAN. See http://dbi.perl.org/index.html for more info. 7) The Perl File::MMagic module, available from CPAN 8) If using the CVS support, you will need rcs installed as well. 9) If you are using the BitKeeper support, you will need: BitKeeper (bk) installed Digest::SHA module (available from CPAN) Note: BK integration is not maintained; it is frozen in its 2005 state ==== more or less. You're on your own. Before attempting to load these resources directly (sometimes as source you must compile and install), always poke the packages of your favorite distribution to spare you pain and failures. B/ Create lxr installation directory ------------------------------------ Expand the tarball in the LXR distribution into a directory of your choice. If you just want to have a try, expand in your home directory, say /home/yourself/lxr. If you want to install system-wide, a good choice could be /usr/local/share/lxr so you would do cd ~ tar -zxf /path/to/lxr/lxr-x.y.tgz or cd /usr/local/share tar -zxf /path/to/lxr/lxr-x.y.tgz (as root or with appropriate permissions) Then, get rid of the release number in the directory name and enter into it: mv lxr-x.y lxr cd lxr At this point, the lxr directory should contain the following subdirectories: + doc : release documentation INSTALL, BUGS, CHANGES, ... + lib : private LXR library (all subs and modules) + lxrconf.d: configuration data (empty, but will soon be populated) + LXRimages: LXR graphic material (feel free to add inside) + scripts : installation aids + templates: for conguring database, web server, LXR, composing output, ... and the following files: diff, ident, search, source, showconfig : LXR engine genxref : indexing script robots.txt : bot protection directives (only for well-behaved bots, sigh!) You can check your computer configuration against LXR requirements running the following command: ./genxref --checkonly Output looks like: No URL specified - Continuing in checking mode => Checking Perl version ... 5.14.2 OK Parameter 'ectagsbin' not defined - trying to find ctags 'ectagsbin' temporarily adjusted to /usr/bin/ctags Manually update lxr.conf for permanent setting => Checking ctags version ... 5.8 OK Parameter 'glimpsebin' not defined - trying to find glimpse 'glimpsebin' temporarily adjusted to /usr/local/bin/glimpse Manually update lxr.conf for permanent setting => Checking glimpse version ... 4.18.5 Parameter 'glimpseindex' not defined - trying to find glimpseindex 'glimpseindex' temporarily adjusted to /usr/local/bin/glimpseindex Manually update lxr.conf for permanent setting => Checking glimpseindex version ... 4.18.5 Parameter 'swishbin' not defined - trying to find swish-e => swish-e not found, `which swish-e` returned a null string No matching configuration at ./genxref line 264. The commands errors out. It is normal because LXR is not yet configured. Pay special attention to the lines marked => above (this marker does not appear in the real output). These lines tell you the tools version on your system or the absence of a tool. In the example above: Perl and ctags have correct versions, glimpse is installed but not swish-e. This is acceptable since only one of them is needed. If the diagnostic is good, proceed. Otherwise, check your system and install the missing utilities or upgrade to the required version. C/ Preconfigure the master configuration file lxr.conf ------------------------------------------------------ Launch script initial-config.sh: ./scripts/initial-config.sh First, it asks if LXR should be configured for single or multiple trees operation. Answer s or m (case indifferent). This script copies some templates from the 'templates' directory to the configuration directory 'lxrconf.d' and applies some general customisation. 1- Single/multiple operation: disables/enables URL black magic to serve several trees under a single URL. 2- Writes absolute paths: LXR root directory, ctags, glimpse, swish-e 3- Warns if neither glimpse nor swish-e could be found or both of them are present. In the former case, go back to step A to install one. In the latter case, you'll have to comment out one of them in step F. D/ Create the database(s) ------------------------- You will need to create a database for lxr, and possibly create a user as well. If you are unsure how to do this, or don't have admin rights to the database, consult the documentation or your sysadmin respectively. Note: The database name, table prefix and user name can be changed to fit your ====| taste. This can be done with the script, but you must keep the database | configuration in sync with lxr.conf. This is a manual task. The steps below assume you know what you're doing. * For Postgresql: Create a user for lxr and give the user permission to create databases: createuser lxr Create a database for lxr: createdb -U lxr lxr * For MySQL: Create a user for lxr and give the user permission to create databases: mysql -u root -p (give root's password) create user 'lxr'@'localhost' identified by 'lxrpassword'; Note: it is more comfortable and less error-prone to use phpMyAdmin ==== if it is installed. * For Oracle: It seems there is no need to create user and database in advance Note: please report if this is incorrect ==== E/ Configure the database ------------------------- Launch script initial-config.sh: ./scripts/initdb-config.sh Answer the questions or hit return if you are satisfied with the default. This is recommended on first install. Advanced users: launch this script for every tree (every tree should have ==============| its own separate database). The configuration directives | are concatenated in the output file. Note: This means you must delete the output file if you want to start ==== again from scratch. The database configuration directives are written in a file inside the 'lxrconf.d' directory. Default name is initdb-DBENGINE-custom.sql. DBENGINE is one of mysql, oracle or postgres. Next configure the database: * For Postgresql: psql -U lxr lxr \i lxrconf.d/initdb-postgres-custom.sql Just ignore the errors about unimplemented functions. * For MySQL: mysql -u root -p < lxrconf.d/initdb-mysql-custom.sql (give root's password) * For Oracle: Start script in sqlplus with: sqlplus @lxrconf.d/initdb-oracle-custom.sql; Troubleshooting: if automatic configuration is causing trouble, you can ===============| revert to 0.10-style installation. The configuration | files are available in templates/initdb/ subdirectory. | They allow only for default configuration. | See older INSTALL documents and/or http://lxr.sf.net. F/ Edit the lxr config file --------------------------- The preconfigured lxr.conf file is located in the 'lxrconf.d' directory. The file is structured in sections that have been labeled for easy reference. ==> The "Global configuration section" should already be configured. Check the "Auxiliary tools subsection". Scroll to 'glimpsebin'. Both following parameters for glimpse should point to the executables: , 'glimpsebin' => '/path/to/your/glimpse/executable' , 'glimpseindex' => '/path/to/your/glimpseindex/executable' For swish-e, the parameters are: , 'swishbin' => '/path/to/your/swishe-e/executable' , 'swishconf' => '/path/to/default/templates/swish-e.conf' One of 'glimpsebin' or 'swishbin' should be commented out. If this is not the case (because you have both indexers installed on your system), comment out the one you will not use. Note: A comment line starts with a pound character (#). ==== , 'ectagsbin' => '/path/to/your/ctags/executable' , 'ectagsconf' => '/path/to/default/lib/LXR/Lang/ectags.conf' Check the correct values are already entered. You can tell so with the following shell command in a terminal: which ctags glimpse glimpseindex swish-e Its ouput should match the values; otherwise fill-in the correct locations. /path/to/default means where you've installed LXR (in our example, /home/yourself/lxr or /usr/local/share/lxr). ==> Scroll to 'host_names'. Enter the names under which your computer is known to the outside world as: , 'host_names' => [ 'http://localhost', 'http://192.168.1.1:80' , '//127.0.0.1', '//myPC.example.com' ] Note: You can omit the protocol if it is "http:". "https:" must be explicitly ==== specified if you want to use it. ==> Scroll to the "HTML subsection". Set 'htmlsearch' to either 'html-search-swish.html' or 'html-search-glimpse.html' depending on which indexer you are using. ==> Scroll to the "File content subsection". Check the 'genericconf' parameter: , 'genericconf' => '/path/to/default/lxr/lib/LXR/Lang/generic.conf' You're done with the general parameters. You proceed with parameters specific to your source tree. ----- Start of configuration for every tree ----- ==> In the "Tree configuration section", scroll to the "Server configuration subsection" This section is a long way down, after the languages definitions. Find parameter 'virtroot'. In this guide, we set it to '/lxr'. This is the name under which your tree will be accessed (i.e. you'll type "http://localhost/lxr" or "//myPC.example.com/lxr" in your browser). Of course, you can choose any other name but you need to adapt these instructions to your case. , 'virtroot' => '/lxr' Advanced users: for multiple-tree operation, use a 'virtroot' of the form ==============| '/lxr/tree-id' where tree-id is a short conventional name | different for every tree.. Give a title to be displayed in the header of every page: , 'caption' => 'First LXR installation' ==> Scroll to the "Tree location subsection" This is where you describe the location of the directory containing your source tree. We consider in this guide only the case of a source tree made of "real" ordinary files contained in a "real" directory. 'sourceroot' points to that directory: , 'sourceroot' => '/home/yourself/tree' Important note: LXR is aimed at comparing different versions of a source tree. ==============| It expects that the 'sourceroot' directory contains several | directories, each named after the version name: | | 'sourceroot' -+---- versionA -+---- file1.c | | +---- file2.c | | +---- file4.c | | | +---- versionB -+---- file1.c | +---- file3.c | +---- file4.c | | Therefore, if you have a single version, you must store it | in a dedicated directory. You can't deposit your version | directly in the 'sourceroot' directory. 'sourcerootname' is a short name to be displayed instead of the path in 'sourceroot'. If you don't specify it, it will be just /. You can use a special feature (variable substitution) to have it reflect the version name: , 'sourcerootname' => 'myTree' # fixed prefix , 'sourcerootname' => '$v' # variable -- version name , 'sourcerootname' => 'myTree-$v' # mixed case ==> Scroll to the version selection subsection. The 'v' (Version) variable needs to have the list of versions of your sourcecode that you want to index. You store this list in the 'range' attribute: , 'range' => [qw(versionA versionB)] Note: Even if you index a single version, you must give it a name and ==== create a directory for it (see above). LXR opens the first version in 'range' unless you tell it otherwise with 'default' attribute: , 'default' => 'versionB' ==> Scroll to the "Data storage subsection". Set 'dbname' to reflect the database engine you are using. A model of the line is given above 'dbname' for the 3 supported DBs: , 'dbname' => 'dbi:mysql:dbname=lxr' # for mySQL , 'dbname' => 'dbi:Pg:dbname=lxr' # for Postgres , 'dbname' => 'dbi:Oracle:host=localhost;sid=DEVMMS;port=1521' # for Oracle Note: dbname must match the name you gave in step E above. lxr is only ==== the default name. Do not forget to set the password for user lxr: , 'dbpass' => 'lxrpassword' Give your free-text search engine a directory where it can store its index and other auxiliary data in 'glimpsedir' and 'swishdir': , 'glimpsedir' => '/home/yourself/glimpse_private/myTree , 'swishdir' => '/home/yourself/swish_private/myTree Notes: 1. It doesn't harm to define both. You are then free to change the =====| free-text search engine without the risk of forgetting to update | lxr.conf (at least this section). | 2. Strictly speaking, having a /myTree subdirectory is not necessary, | but it prepares the way for multiple independent source trees. | 3. Do not forget to set appropriate access rights to these directories. | LXR is executed under Apache or lighttpd userid; therefore, | the directories need to be "world" writable. ----- End of configuration for every tree ----- This is all for a simple installation. Save your modifications. >From this rapid glance on lxr.conf, you see there are plenty of parameters that can be adjusted to customise LXR in many aspects (display, version management, path transformation, data base access, ...). The information about all these parameters and their effect is available on the website http://lxr.sf.net and in the user's manual. G/ Generate index ----------------- It is now time to generate the index. This is done using the program "genxref". genxref takes two arguments --url= and --version=. --url is equal to one of the URL used to access your tree, that is one of the 'host_names' followed by 'virtroot'. --version is the name of one of the versions as defined in { 'v' => { ... 'range' => [ ] ... } } It is also the name of a sub-directory in 'sourceroot'. ./genxref --url=http://localhost/lxr --version=versionA Note: You can drop the protocol if it is "http:" and have a shorter form: ==== ./genxref --url=//myPC.example.com/lxr --version=versionA You can also check that globally your configuration is correct with: ./genxref --url=http://localhost/lxr --checkonly Output looks like: Checking Perl version ... 5.14.2 OK Checking ctags version ... 5.8 OK Checking glimpse version ... 4.18.5 Checking glimpseindex version ... 4.18.5 Parameter 'swishbin' not defined - trying to find swish-e swish-e not found, `which swish-e` returned a null string genxref stopped without indexing by --checkonly option If the last line reads: No matching configuration at ./genxref line 264, <CONFIG> line 1. you mispelled --url or you made a mistake in 'host_names' or 'virtroot'. It is VERY IMPORTANT that the --url argument be an URL. Do not drop the //. You can also use the --allversions argument to automatically index all the versions defined in the versions variable. It is recommended to use --reindexall option to make sure the data base will not keep stray values from previous genxref executions: ./genxref --url=//localhost/lxr --allversions --reindexall Note: genxref can be a very slow process the first time it is run. ====| For example on a 4Gb source tree a full run can take several | days (the author of this statement did not mention the specifications | of his computer). Anyway, it is wise to experiment on a small tree | first and then to index versions individually. According to the result, | you'll see if it is reasonable to use --allversions. | Some experimental results: | | source tree 650Mhz-PIII-512Mb 3.4GHz-i5-4Gb | ----------- ----------------- ------------- | LXR 0.10 39s 4s | kernel 3.1 N/A 3h 43mn However, on future runs, if you don't use --reindexall, it will only index changed files, thus speeding the process. H/ Set up the webserver (Apache) ----------------------- ******** Step C above has copied a '.htaccess' into the LXR root directory. It consists of two parts: 1- Access restriction to the LXR root directory Should only be modified if you want to allow wider access. 2- Script execution configuration It uses conditional directives to be valid in all known cases. Troubleshooting: if automatic configuration is causing trouble, you can ===============| revert to 0.10-style installation. The configuration | files are available in templates/Apache/ subdirectory. | They need manual editing. | See older INSTALL documents and/or http://lxr.sf.net. Step C also created a 'apache-lxrserver.conf' file which you must copy into the /etc/httpd/conf.d directory to activate LXR service. Check however that lines marked with '----> absolute path' point to your LXR root directory. Note: if you have no /etc/httpd/conf.d directory, you must add the content ====| of lxrserver.conf to the end of /etc/httpd/conf/httpd.conf but this is | not recommended. Apache 1.x specific: LXR Perl modules must be put into a known Perl library with mod_perl | directory(typically site_perl). Launch the following ===================| commands from the LXR root directory: cp -r lib/LXR/* /usr/lib/perl5/site_perl | You may need root privileges to access/usr/lib/perl5 H/ Set up the webserver (lighttpd) -- !! EXPERIMENTAL !! -- ----------------------- ********** Step C above created a 'lighttpd-lxrserver.conf' in the lxrconf.d directory. It is based on a Fedora architecture. So you must check that directory paths are compatible with your installation. Comment lines start with a pound sign (#). Some IMPORTANT variables are defined at the very beginning of this file: - var.server_root : location of servers directory (usually /var/www/) - var.conf_dir : location of the configuration directory for your distribution. Scroll down to "Load the modules". The 'include' directive here will load lighttpd modules required by LXR. The base module list is in a template file from templates/lighttpd/. If you need a different configuration, copy file lighttpd-lxr-modules.conf to lxrconf.d directory, edit it and change the include line to point to the lxrconf.d directory. Scroll to "Basic configuration" if you need to change the port lighttpd is listening: server.port = 80 Scroll to "mimetype mapping" (circa 3/4 down). mimetype.assign += ( ".shtml" => "text/html" ) has been added in case you want to use SSI. server.follow-symlink = "enable" will allow to mimic Apache URL black magic (aka. AliasMatch) with symlinks. Scroll down to the bottom of the file. Here is an LXR specific section. - server.document-root : location of LXR root directory acting as the default server (localhost) directory. Note: if LXR is not the home site of your site, change the value to ====| var.server-root + "lighttpd/" and use alias.url for LXR service. You may add here the host names you defined in the various 'host_names' lxr.conf parameters as (one line per host name): $HTTP["host"] == "192.168.1.1" { server.document-root = "path/to/lxr" } $HTTP["host"] == "127.0.0.1" { server.document-root = "path/to/lxr" } $HTTP["host"] == "myPC.example.com" { server.document-root = "path/to/lxr" } This is good if you listen on the default port. Otherwise, it must be specified as in: $HTTP["host"] == "192.168.1.1:1234" { server.document-root = "path/to/lxr" } You can also ignore port with regexp: $HTTP["host"] =~ "(?i)mypc\.example\.com" { server.document-root = "path/to/lxr" } Note: (?i) has been added to match case-insensitive and regexp special ====| characters have been escaped. | ** The LXR maintainer has been unable to determine if string | ** comparison is done case-insensitive by default. Consequently, | ** watch your step! Next, you have a "black magic" section for the multiple trees case. Uncomment the alias.url directive lines if you need this feature. Replace '/lxr/tree*' by your different 'virtroot's. The right part should already be set to your LXR root directory location. Add (or remove) as many lines as required. The next directive tells lighttpd which files in the LXR root directory are scripts. Save the edited file. Have it checked by lighttpd: lighttpd -t -f lxrconf.d/lighttpd-lxrserver.conf If you pass the test, you are ready to launch lighttpd. For a private test, the command is: lighttpd -D -f lxrconf.d/lighttpd-lxrserver.conf To stop lighttpd server, type ctl-C. For system-wide service, a script lighttpd-init is provided in scripts/. Launch it as a single line (broken here for clarity): LIGHTTPD_CONF_PATH="/path/to/lxr/lxrconf.d/lighttpd-lxrserver.conf" \ ./scripts/lighttpd-init start lighttpd will daemonize and run in the background. To stop: ./scripts/lighttpd-init stop You may also copy this script as lighttpd in /etc/init.d cp scripts/lighttpd-init /etc/init.d/lighttpd and define system-wide variable LIGHTTPD_CONF_PATH otherwise the standard configuration file will be used. If you already run a lighttpd server, merging LXR into your configuration is left to you as an exercise. Note: the maintainer would appreciate any feedback on an elegant ====| way to integrate an LXR subsite in main configuration. H/ Other webservers ------------------- Most webservers should be capable of supporting the CGI script versions of LXR - consult the server documentation for information on how to configure this. If you are using a webserver other than Apache, you need to provide the following icons (unless you enable the 'iconfolder'/'icons' feature): /icons/back.gif /icons/folder.gif /icons/c.gif /icons/text.gif /icons/compressed.gif /icons/image2.gif /icons/generic.gif Hbis/ Security vs. web server ----------------------------- Some security enhanced OSes like SELinux may bar access to your LXR root directory if it is not located in /var/www. If you encounter such warnings or access denials, you must relabel the LXR directory with command: chcon --reference /var/www/cgi-bin/ -R LXR_root_directory/ I/ Drink a cup of coffee (or tea if you prefer) ----------------------------------------------- You went through the whole process. Relax a bit and be prepared for the ultimate bugs. That's it - lxr should now work. Fire up your webbrowser and go to http://localhost/lxr/source and you should see the listing for the top of your source tree. If you don't see the LXR page, check your Apache logs, especially the error and access logs to see what's happening. Problems are often caused by the webserver not being able to access the LXR files - make sure all the paths and file permissions are correct. Site-specific customisation --------------------------- LXR has a large amount of flexibility in behaviour, allowing control over many aspects of behaviour. The places to look for customisation are: - lxr.conf: controls most basic settings, including how filenames are mapped to languages, tab settings etc. - lxrconf.d: where you should copy every file before editing. Sources are: o templates/html/: Templates for the HTML display. This is where you can change how the website looks, e.g. by adding site logos, links, ... o templates/lxr.css: CSS for HTML output. You can change colours, fonts etc. o lib/LXR/Lang/ectags.conf: Advanced configuration for ectags when parsing various language files - this is one place to look if you want to add support for another language. o lib/LXR/Lang/generic.conf: Configures the generic language support module that handles most of the languages LXR recognises. Configuration here enables support for new languages. o lib/Local.pm: various routines that may need to be customised to provide useful file summaries in the directory and file listing views. - lxrconf.d/images: Graphic stuff, e.g. site logos. How to deal with these is explained on the website http://lxr.sf.net and in the user's manual (separate download). Getting help if it doesn't work: -------------------------------- If you can't get LXR to work then have a look at the website. Consult the support forums or ask on the mailing list. Do check the archives of both first - your question may already have been answered. By web: http://lxr.sf.net/ By web: http://sf.net/projects/lxr/forums/forum/861451 By email: Send a mail to lxr...@li... Troubleshooting: --------------- Common problems are listed on the http://lxr.sf.net/troubleshooting.shtml page. Only the most frequent for a first installation are mentioned here. ** Fatal: Couldn't open configuration file The configuration file lxr.conf does not exist, is not in the LXR root directory (it was left in the templates directory for instance) or cannot be accessed (check the file permission: it must be "world" readable). ** Fatal: Can't find config for myTree The value of the --url (or URL in your browser) matches none of the 'host-names'/'virtroot' combinations. Check the spelling of the URL. ** Fatal: Can't create index xxx This message is usually preceded by others about DB, lock or socket. Check the database description in lxr.conf and your access permissions to the database. ** Fatal: Can't find database This message comes from the DB backend. The likely cause is that the webserver url passed to the browsing scripts does not match the url in lxr.conf. This means the configuration will not be found, and thus the database will not be found HTTP headers appearing in the html, or output not being interpreted as HTML This can be caused by warning messages output before the script outputs the right headers to tell the browser that the output is HTML. This can normally be solved by changing the value of $wwwdebug to 0 in Common.pm. But please report the warning message as a bug at http://sf.net/projects/lxr first! Security advisory ----------------- LXR ships with a very restrictive robots.txt for preventing (well-behaved only) robots from crawling inside your site. You may want to allow public access. Just change the name of the file. Other sources of information ---------------------------- Read the manual available for download at SourceForge. Browse the http://lxr.sourceforge.net site. --- NEW FILE: INSTALL-1.0.txt --- L X X RRRR L X X R R L X X R R L X RRRR L X X R R L X X R R LLLLL X X R R LXR First time installation for a single source-tree ------------------------------------------------- (revised September 2012 for 1.0 release) (configuration wizard for release 1.2 modified March 2013 to cope with a change in Apache configuration; otherwise unchanged) These instructions are also available on the web site at http://lxr.sourceforge.net Note: if you already know LXR, read file CHANGES for compatibility ====| issues (index database, configuration files, customised templates, | etc.). Caution, this release introduces major changes in directory | structure. Note: do not forget to download the 150+ pages user's manual which ==== covers many topics beyond first-time installation. A/ Required tools ----------------- The current version of the lxr depends on the following things: 1) Perl interpreter version 5.10 or later. Installed by default in nearly all Linux distributions, but check the version number. 2) The exuberant ctags program version 5 or later. Available as a package in nearly all Linux distributions; otherwise download from http://sf.net/projects/ctags 3) A relational database - MySQL 4.x/5.x (http://www.mysql.com), Postgresql (http://www.postgresql.org), SQLite (http://www.sqlite.org) and Oracle are supported. You will also need the right Perl DBI drivers for your particular database, usually available from CPAN. 4) A webserver - Apache httpd (http://httpd.apache.org/) with mod_perl (http://perl.apache.org/) is recommended. LXR works with Apache 1 and Apache 2. - lighttpd (http://www.lighttpd.net) is also now experimentally supported. 5) For freetext searching, either Glimpse (http://webglimpse.net) or Swish-e (http://swish-e.org) version 2.1 or later. Swish-e is fully GPL'ed, while Glimpse is only free for non-commercial use. 6) The Perl database driver interface DBI and the relevant DBD driver for the database you're using. If you don't already have these, they can be installed via CPAN. See http://dbi.perl.org/index.html for more info. 7) The Perl File::MMagic module, available from CPAN 8) If using the CVS support, you will need rcs installed as well. 9) If you are using the BitKeeper support, you will need: BitKeeper (bk) installed Digest::SHA module (available from CPAN) Note: BK integration is not maintained; it is frozen in its 2005 state ==== more or less. You're on your own. Before attempting to load these resources directly (sometimes as source you must compile and install), always poke the packages of your favorite distribution to spare you pain and failures. B/ Create lxr installation directory ------------------------------------ Expand the tarball in the LXR distribution into a directory of your choice. If you just want to have a try, expand in your home directory, say /home/yourself/lxr. If you want to install system-wide, a good choice could be /usr/local/share/lxr so you would do cd ~ tar -zxf /path/to/lxr/lxr-x.y.tgz or cd /usr/local/share tar -zxf /path/to/lxr/lxr-x.y.tgz (as root or with appropriate permissions) Then, get rid of the release number in the directory name and enter into it: mv lxr-x.y lxr cd lxr At this point, the lxr directory should contain the following subdirectories: + custom.d : configuration data (created later by configuration script) + doc : release documentation INSTALL, BUGS, CHANGES, ... + lib : private LXR library (all subs and modules) + LXRimages: LXR graphic material (feel free to add inside) + scripts : installation aids + templates: for conguring database, web server, LXR, composing output, ... and the following files: diff, ident, search, source, showconfig : LXR engine genxref : indexing script robots.txt : bot protection directives (only for well-behaved bots, sigh!) You can check your computer configuration against LXR requirements running the following command: ./genxref --checkonly Output looks like: No URL specified - Continuing in checking mode => [ OK ] Perl version ... 5.14.2 Parameter 'ectagsbin' not defined - trying to find ctags 'ectagsbin' found at /usr/bin/ctags Manually update lxr.conf for permanent setting => [ OK ] ctags version ... 5.8 Parameter 'glimpsebin' not defined - trying to find glimpse 'glimpsebin' found at /usr/local/bin/glimpse Manually update lxr.conf for permanent setting => Checked: glimpse version ... 4.18.5 Parameter 'glimpseindex' not defined - trying to find glimpseindex 'glimpseindex' found at /usr/local/bin/glimpseindex Manually update lxr.conf for permanent setting => Checked: glimpseindex version ... 4.18.5 Parameter 'swishbin' not defined - trying to find swish-e => swish-e not found, `which swish-e` returned a null string genxref stopped without indexing by --checkonly option Pay special attention to the lines marked => above (this marker does not appear in the real output). These lines tell you the tools version on your system or the absence of a tool. In the example above: Perl and ctags have correct versions, glimpse is installed but not swish-e. This is acceptable since only one of them is needed. If the diagnostic is good, proceed. Otherwise, check your system and install the missing utilities or upgrade to the required version. C/ Configure LXR and the database --------------------------------- Launch interactive configuration script configure-lxr.pl: ./scripts/configure-lxr.pl -v Notes: 1. All choices are case-insensitive. =====| 2. You need only to type enough characters to make your choice | unambiguous. | 3. The default answer (the one you get when hitting only the | "return" key) is shown in UPPERCASE. | 4. "Open" questions are case-sensitive, of course. First, it asks for the database engine name. Answer according to what is available on your computer. Second, it asks if LXR should be configured for single or multiple trees operation. Answer s or m (case indifferent). This script copies some templates from the 'templates' directory to the configuration directory 'custom.d' and applies general customisation. 1- Single/multiple operation: disables/enables URL black magic to serve several trees under a single URL. 2- Writes absolute paths: LXR root directory, ctags, glimpse, swish-e 3- Warns if neither glimpse nor swish-e could be found or both of them are present. In the former case, go back to step A to install one. In the latter case, you'll have to comment out one of them in step F. Then, it will inquiry about the host name and its aliases. You can record as many aliases as your need, e.g.: http://localhost //192.168.1.1 //myPC.example.com Note: You can omit the protocol if it is "http:". "https:" must be explicitly ==== specified if you want to use it. Next, it will collect the description of your source-tree. Questions are usually self-explanatory and default answers are appropriate in most cases. This quick installation guide covers only the case of a source tree stored in real files and directories (as opposed to a source tree stored in a version control system -- VCS -- like CVS, Git, ...). Answer f (or just hit "return") to "How is your tree stored?". Give the name of the "Source directory?" Important note: LXR is aimed at comparing different versions of a source tree. ==============| It expects that the 'sourceroot' directory contains several | directories, each named after the version name: | | 'sourceroot' -+---- versionA -+---- file1.c | | +---- file2.c | | +---- file4.c | | | +---- versionB -+---- file1.c | +---- file3.c | +---- file4.c | | Therefore, if you have a single version, you must store it | in a dedicated directory. You can't deposit your version | directly in the 'sourceroot' directory. The "Version names?" are the names of these subdirectories. For this first installation, just hit "return" after "Directory to ignore?" and "Include directory?" questions. Give a name to the database and accept default answers for it. If you asked for a multiple tree configuration, answer n to "Configure for another tree?" to test the installation now (highly recommended if this is your very first contact with LXR). This is all for a simple installation. D/ Initialise the database ------------------------- Launch script initdb.sh: ./custom.d/initdb.sh Note: This script was built by the previous step. This why it is ==== executed from custom.d/ and not from scripts/. PostgreSQL users: to guarantee a clean DB configuration, the script ================| tries first to delete the DB objects. PostgreSQL | will emit warnig messages about non existent users,. | tables, functions, ... Ignore them (only warnings, | not errors). E/ Copy configuration file lxr.conf to its proper location ---------------------------------------------------------- cp custom.d/lxr.conf . Do not forget the final dot in this command. F/ Generate index ----------------- It is now time to generate the index. This is done using the program "genxref". genxref takes two arguments --url= and --version=. --url is equal to one of the URL used to access your tree, that is one of the 'host_names' followed by 'virtroot'. --version is the name of one of the versions as defined in { 'v' => { ... 'range' => [ ] ... } } It is also the name of a sub-directory in 'sourceroot'. ./genxref --url=http://localhost/lxr --version=versionA Note: You can drop the protocol if it is "http:" and have a shorter form: ==== ./genxref --url=//myPC.example.com/lxr --version=versionA You can also check that globally your configuration is correct with: ./genxref --url=http://localhost/lxr --checkonly Output looks like: [ OK ] Perl version ... 5.14.2 [ OK ] ctags version ... 5.8 Checked: glimpse version ... 4.18.5 Checked: glimpseindex version ... 4.18.5 Parameter 'swishbin' not defined - trying to find swish-e swish-e not found, `which swish-e` returned a null string genxref stopped without indexing by --checkonly option If the last line reads: No matching configuration at ./genxref line 264, <CONFIG> line 1. you mispelled --url or you made a mistake in 'host_names' or 'virtroot'. It is VERY IMPORTANT that the --url argument be an URL. Do not drop the //. You can also use the --allversions argument to automatically index all the versions defined in the versions variable. It is recommended to use --reindexall option to make sure the data base will not keep stray values from previous genxref executions: ./genxref --url=//localhost/lxr --allversions --reindexall Note: genxref can be a very slow process the first time it is run. ====| For example on a 4Gb source tree a full run can take several | days (the author of this statement did not mention the specifications | of his computer). Anyway, it is wise to experiment on a small tree | first and then to index versions individually. According to the result, | you'll see if it is reasonable to use --allversions. | Some experimental results: | | source tree 650MHz-PIII-512MB 3.4GHz-i5-4GB | ----------- ----------------- ------------- | LXR 1.0 39s 4s | kernel 3.1 N/A 2h 39mn However, on future runs, if you don't use --reindexall, it will only index changed files, thus speeding the process. G/ Set up the webserver (Apache) ----------------------- ******** Step C above has copied a '.htaccess' into the LXR root directory. It consists of two parts: 1- Access restriction to the LXR root directory Should only be modified if you want to allow wider access. 2- Script execution configuration It uses conditional directives to be valid in all known cases. Step C also created a 'apache-lxrserver.conf' file which you must copy into the /etc/httpd/conf.d directory to activate LXR service. Check however that lines marked with '----> absolute path' point to your LXR root directory. Note: if you have no /etc/httpd/conf.d directory, you must add the content ====| of lxrserver.conf to the end of /etc/httpd/conf/httpd.conf but this is | not recommended. Apache 1.x specific: LXR Perl modules must be put into a known Perl library with mod_perl | directory(typically site_perl). Launch the following ===================| commands from the LXR root directory: cp -r lib/LXR/* /usr/lib/perl5/site_perl | You may need root privileges to access/usr/lib/perl5 G/ Set up the webserver (lighttpd) -- !! EXPERIMENTAL !! -- ----------------------- ********** Step C above created a 'lighttpd-lxrserver.conf' in the custom.d directory. It is based on a Fedora architecture. So you must check that directory paths are compatible with your installation. Comment lines start with a pound sign (#). Some IMPORTANT variables are defined at the very beginning of this file: - var.server_root : location of servers directory (usually /var/www/) - var.conf_dir : location of the configuration directory for your distribution. Scroll down to "Load the modules". The 'include' directive here will load lighttpd modules required by LXR. The base module list is in a template file from templates/lighttpd/. If you need a different configuration, copy file lighttpd-lxr-modules.conf to custom.d directory, edit it and change the include line to point to the custom.d directory. Scroll to "Basic configuration" if you need to change the port lighttpd is listening: server.port = 80 Scroll to "mimetype mapping" (circa 3/4 down). mimetype.assign += ( ".shtml" => "text/html" ) has been added in case you want to use SSI. server.follow-symlink = "enable" will allow to mimic Apache URL black magic (aka. AliasMatch) with symlinks. Scroll down to the bottom of the file. Here is an LXR specific section. - server.document-root : location of LXR root directory acting as the default server (localhost) directory. Note: if LXR is not the home site of your site, change the value to ====| var.server-root + "lighttpd/" and use alias.url for LXR service. You may add here the host names you defined in the various 'host_names' lxr.conf parameters as (one line per host name): $HTTP["host"] == "192.168.1.1" { server.document-root = "path/to/lxr" } $HTTP["host"] == "127.0.0.1" { server.document-root = "path/to/lxr" } $HTTP["host"] == "myPC.example.com" { server.document-root = "path/to/lxr" } This is good if you listen on the default port. Otherwise, it must be specified as in: $HTTP["host"] == "192.168.1.1:1234" { server.document-root = "path/to/lxr" } You can also ignore port with regexp: $HTTP["host"] =~ "(?i)mypc\.example\.com" { server.document-root = "path/to/lxr" } Note: (?i) has been added to match case-insensitive and regexp special ====| characters have been escaped. | ** The LXR maintainer has been unable to determine if string | ** comparison is done case-insensitive by default. Consequently, | ** watch your step! Next, you have a "black magic" section for the multiple trees case. Uncomment the alias.url directive lines if you need this feature. Replace '/lxr/tree*' by your different 'virtroot's. The right part should already be set to your LXR root directory location. Add (or remove) as many lines as required. The next directive tells lighttpd which files in the LXR root directory are scripts. Save the edited file. Have it checked by lighttpd: lighttpd -t -f custom.d/lighttpd-lxrserver.conf If you pass the test, you are ready to launch lighttpd. For a private test, the command is: lighttpd -D -f custom.d/lighttpd-lxrserver.conf To stop lighttpd server, type ctl-C. For system-wide service, a script lighttpd-init is provided in scripts/. Launch it as a single line (broken here for clarity): LIGHTTPD_CONF_PATH="/path/to/lxr/custom.d/lighttpd-lxrserver.conf" \ ./scripts/lighttpd-init start lighttpd will daemonize and run in the background. To stop: ./scripts/lighttpd-init stop You may also copy this script as lighttpd in /etc/init.d cp scripts/lighttpd-init /etc/init.d/lighttpd and define system-wide variable LIGHTTPD_CONF_PATH otherwise the standard configuration file will be used. If you already run a lighttpd server, merging LXR into your configuration is left to you as an exercise. Note: the maintainer would appreciate any feedback on an elegant ====| way to integrate an LXR subsite in main configuration. G/ Other webservers ------------------- Most webservers should be capable of supporting the CGI script versions of LXR - consult the server documentation for information on how to configure this. If you are using a webserver other than Apache, you need to provide the following icons (unless you enable the 'iconfolder'/'icons' feature): /icons/back.gif /icons/folder.gif /icons/c.gif /icons/text.gif /icons/compressed.gif /icons/image2.gif /icons/generic.gif Gbis/ Security vs. web server ----------------------------- Some security enhanced OSes like SELinux may bar access to your LXR root directory if it is not located in /var/www. If you encounter such warnings or access denials, you must relabel the LXR directory with command: chcon --reference /var/www/cgi-bin/ -R LXR_root_directory/ H/ Drink a cup of coffee (or tea if you prefer) ----------------------------------------------- You went through the whole process. Relax a bit and be prepared for the ultimate bugs. That's it - lxr should now work. Fire up your webbrowser and go to http://localhost/lxr/source and you should see the listing for the top of your source tree. If you don't see the LXR page, check your Apache logs, especially the error and access logs to see what's happening. Problems are often caused by the webserver not being able to access the LXR files - make sure all the paths and file permissions are correct. I/ Beyond simple installation ----------------------------- Read the User's Manual for information on multiple trees, configuration for Linux kernel VCS storage, customisation, performance tuning and many more. Site-specific customisation --------------------------- LXR has a large amount of flexibility in behaviour, allowing control over many aspects of behaviour. The places to look for customisation are: - lxr.conf: controls most basic settings, including how filenames are mapped to languages, tab settings etc. - custom.d: where you should copy every file before editing. Sources are: o templates/html/: Templates for the HTML display. This is where you can change how the website looks, e.g. by adding site logos, links, ... o templates/lxr.css: CSS for HTML output. You can change colours, fonts etc. o templates/ectags.conf: Advanced configuration for ectags when parsing various language files - this is one place to look if you want to add support for another language. o lib/LXR/Lang/generic.conf: Configures the generic language support module that handles most of the languages LXR recognises. Configuration here enables support for new languages. o lib/Local.pm: various routines that may need to be customised to provide useful file summaries in the directory and file listing views. - LXRimages: Graphic stuff, e.g. site logos. How to deal with these is explained on the website http://lxr.sf.net and in the user's manual (separate download). Getting help if it doesn't work: -------------------------------- If you can't get LXR to work then have a look at the website. Consult the support forums or ask on the mailing list. Do check the archives of both first - your question may already have been answered. By web: http://lxr.sf.net/ By web: http://sf.net/p/lxr/discussion/?source=navbar By email: Send a mail to lxr...@li... Troubleshooting: --------------- Common problems are listed on the http://lxr.sf.net/en/troubleshooting.shtml page. Only the most frequent for a first installation are mentioned here. ** Fatal: Couldn't open configuration file The configuration file lxr.conf does not exist, is not in the LXR root directory (it was left in the templates directory for instance) or cannot be accessed (check the file permission: it must be "world" readable). ** Fatal: Can't find config for myTree The value of the --url (or URL in your browser) matches none of the 'host-names'/'virtroot' combinations. Check the spelling of the URL. ** Fatal: Can't create index xxx This message is usually preceded by others about DB, lock or socket. Check the database description in lxr.conf and your access permissions to the database. ** Fatal: Can't find database This message comes from the DB backend. The likely cause is that the webserver url passed to the browsing scripts does not match the url in lxr.conf. This means the configuration will not be found, and thus the database will not be found HTTP headers appearing in the html, or output not being interpreted as HTML This can be caused by warning messages output before the script outputs the right headers to tell the browser that the output is HTML. This can normally be solved by changing the value of $wwwdebug to 0 in Common.pm. But please report the warning message as a bug at http://sf.net/projects/lxr first! Security advisory ----------------- LXR ships with a very restrictive robots.txt for preventing (well-behaved only) robots from crawling inside your site. You may want to allow public access. Just change the name of the file. Other sources of information ---------------------------- Read the manual available for download at SourceForge. Browse the http://lxr.sourceforge.net site. Index: CHANGES =================================================================== RCS file: /cvsroot/lxr/lxr/doc/CHANGES,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- CHANGES 21 Apr 2013 07:45:25 -0000 1.6 +++ CHANGES 3 Dec 2013 14:33:37 -0000 1.7 @@ -4,6 +4,59 @@ If they result in an incompatibility, you must reindex your tree. ===================== + LXR 1.2 --> LXR 2.0 + ===================== + +This release contains major changes, notably in web server configuration +and database structure. +It is therefore highly recommended to reinstall from scratch. For sites +displaying many trees, when it is not feasible to reconfigure everything, +some workaround may be attempted (see below). + +Installation wizard +------------------- +Offers new web server installation options (LXR access, alternate servers) +More extensive user entry validation +Safer to use and more reliable than manual configuration + +Database interface +------------------ +Heavily modified and optimised for indexing speed (genxref) +A good surprise is SQLite performance (particularly on low-end computers) + +Language parsers +---------------- +Numerous fixes for parsing accuracy + +Web servers +----------- +Choice extended beyond Apache and lighttpd with Nginx, Cherokee and thttpd, +all supported through the configuration wizard + +Better error management +----------------------- +Provided the Perl run-time environment could be initialised by the server, +errors and warning are displayed on screen instead of being sent only into +log files. + +Source code reorganised +----------------------- +Many functions have moved from one file to another where they logically +belong. This is transparent to the end user unless some custom patches +have been applied to the standard release. + +Trying to keep previous LXR server: +======| In cases where it is not deemed feasible to reinstall from scratch, + | lxr.conf can be tentatively reused with this new release (but without + | 100% guarantee) after converting database structure and reindexing + | trees. + | 1/ Databases schema is rebuilt with script recreatedb.pl + | 2/ Run its ouput script initdb.sh + | ==> CAUTION! The existing databases are erased by this script! + | 3/ Reindex the trees with genxref + | For more detailed instructions, read the User's Manual + + ===================== LXR 1.1 --> LXR 1.2 ===================== @@ -41,8 +94,8 @@ 3/ Reload lxr.conf and other saved customised files 4/ Restart your web server -User'Manual ------------ +User's Manual +------------- Updated to reflect new 1.1 features; separately downloadable on SourceFourge. Please, read it; a lot of time has been invested in its writing. @@ -95,8 +148,8 @@ LXR 0.11 --> LXR 1.0 ====================== -User'Manual ------------ +User's Manual +------------- Simultaneously available; separately downloadable on SourceFourge. Please, read it; a lot of time has been invested in its writing. Index: CREDITS.txt =================================================================== RCS file: /cvsroot/lxr/lxr/doc/CREDITS.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- CREDITS.txt 25 Jan 2013 14:43:43 -0000 1.3 +++ CREDITS.txt 3 Dec 2013 14:33:37 -0000 1.4 @@ -17,25 +17,36 @@ Principal Developers -------------------- - Peder O. Klingenberg <pe...@kl...> + Contributors ------------ -Pavel Hlavnicka <pa...@gi...> CSS support -Jason Dorie Short <js...@de...> File re-org +Pavel Hlavnicka <pa...@gi...> + CSS support +Jason Dorie Short <js...@de...> + File re-org Joseph Corral <jos...@hp...> -Kristoffer Gleditsch <to...@pi...> Postgres patches -Guido Sohne Updated INSTALL document -Jens Heimann <jen...@ma...> Oracle database support -Patrick Gerlier <pag...@ya...> en & fr User's manual -Andre-Littoz <ajl...@us...> Website - " Config scripts, genxref "POST" checks - " Interactive configurator - " Revised INSTALL document - " Directory re-org - " Git, Mercurial & Subversion backends - " SQLite backend & many DB patches +Kristoffer Gleditsch <to...@pi...> + Postgres patches +Guido Sohne + Updated INSTALL document +Jens Heimann <jen...@ma...> + Oracle database support +Patrick Gerlier <pag...@ya...> + " en & fr User's manual + " en Developer's Manual + " en Documentation Guidelines and en, fr Templates for documentation +Andre-Littoz <ajl...@us...> + " Website + " Config scripts, genxref "POST" checks + " Interactive configurator + " Revised INSTALL document + " Directory re-org + " Git, Mercurial & Subversion backends + " SQLite backend & many DB patches + " lighttpd, nginx, Cherokee, thtpd web-server support + " Generic parser optimisation ------------------------------------------------------------------------- Index: HACKING =================================================================== RCS file: /cvsroot/lxr/lxr/doc/HACKING,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- HACKING 30 Sep 2012 08:09:37 -0000 1.3 +++ HACKING 3 Dec 2013 14:33:37 -0000 1.4 @@ -1,7 +1,10 @@ Hacking LXR ----------- -The internals of LXR will be explained in an Impementation Manual -to be provided in the future (not too long I hope). +The internals of LXR are described in the Developer's Manual +separately downloadable. -In the mean time, source code has been heavily commented. \ No newline at end of file +Information can also be grabbed from the comments in the source code +or from embedded POD, aka. Perl's Plain Old Documentation +(see http://lxr.sourceforge.net/lxr_internal_doc for a copy of this +documentation). \ No newline at end of file Index: INSTALL =================================================================== RCS file: /cvsroot/lxr/lxr/doc/INSTALL,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- INSTALL 21 Apr 2013 07:45:25 -0000 1.3 +++ INSTALL 3 Dec 2013 14:33:37 -0000 1.4 @@ -9,9 +9,7 @@ LXR First time installation for a single source-tree ------------------------------------------------- -(revised September 2012 for 1.0 release) -(configuration wizard for release 1.2 modified March 2013 to cope with -a change in Apache configuration; otherwise unchanged) +(revised November 2013 for 2.0 release) These instructions are also available on the web site at http://lxr.sourceforge.net @@ -19,10 +17,10 @@ Note: if you already know LXR, read file CHANGES for compatibility ====| issues (index database, configuration files, customised templates, - | etc.). Caution, this release introduces major changes in directory - | structure. + | etc.). Caution, this release introduces major changes in many + | areas. It is highly recommended to reinstall from scratch -Note: do not forget to download the 150+ pages user's manual which +Note: do not forget to download the 200+ pages User's Manual which ==== covers many topics beyond first-time installation. @@ -36,7 +34,7 @@ 2) The exuberant ctags program version 5 or later. Available as a package in nearly all Linux distributions; otherwise download from - http://sf.net/projects/ctags + http://sourceforge.net/projects/ctags 3) A relational database - MySQL 4.x/5.x (http://www.mysql.com), Postgresql (http://www.postgresql.org), SQLite (http://www.sqlite.org) and @@ -45,10 +43,13 @@ usually available from CPAN. 4) A webserver - - Apache httpd (http://httpd.apache.org/) with mod_perl + - Apache httpd (http://httpd.apache.org/) with mod_perl and mod_version (http://perl.apache.org/) is recommended. LXR works with Apache 1 and Apache 2. - - lighttpd (http://www.lighttpd.net) is also now experimentally supported. + - lighttpd (http://www.lighttpd.net) + - Cherokee (http://cherokee-project.com) + - nginx (http://nginx.org) + - thttpd (http://www.acme.com/software/thttpd) 5) For freetext searching, either Glimpse (http://webglimpse.net) or Swish-e (http://swish-e.org) version 2.1 or later. @@ -145,7 +146,7 @@ --------------------------------- Launch interactive configuration script configure-lxr... [truncated message content] |
From: Andre-Littoz <ajl...@us...> - 2013-12-03 13:38:27
|
Update of /cvsroot/lxr/lxr/lib/LXR/Files In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv15286/lib/LXR/Files Modified Files: BK.pm GIT.pm Mercurial.pm Subversion.pm Log Message: Files/*.pm, templates/global.conf.part: new 'xxxpath' parameters (similar to 'cvspath') These parameters allow to use privately installed source code management utilities if not system provided (changes to BK [valid?], git, mercurial and subversion modules). Index: BK.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Files/BK.pm,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- BK.pm 7 Nov 2013 17:58:48 -0000 1.12 +++ BK.pm 3 Dec 2013 13:38:23 -0000 1.13 @@ -68,6 +68,7 @@ $self = bless({}, $self); $self->{'rootpath'} = substr($config->{'sourceroot'}, 3); $self->{'rootpath'} =~ s!/*$!!; + $self->{'path'} = $config->{'cvspath'}; die 'Must specify a cache directory when using BitKeeper' if !(ref($params) eq 'HASH'); $self->{'cache'} = $config->{'sourceparams'}{'cachepath'}; return $self; @@ -200,6 +201,7 @@ my $dir = getcwd(); chdir($self->{'rootpath'}); my $fileh = IO::File->new(); + $ENV{'PATH'} = $self->{'path'}; $fileh->open($command) or die "Can't execute $command"; chdir($dir); return $fileh; Index: GIT.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Files/GIT.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- GIT.pm 8 Nov 2013 14:22:25 -0000 1.16 +++ GIT.pm 3 Dec 2013 13:38:23 -0000 1.17 @@ -71,6 +71,7 @@ || $config->{'sourceparams'}{'git_blame'}; # Blame support will only work when commit IDs are available, # called annotations here... + $self->{'path'} = $config->{'gitpath'}; return $self; } @@ -367,6 +368,7 @@ } my $git; $! = ''; + $ENV{'PATH'} = $self->{'path'}; open ( $git , '-|' , 'git' Index: Mercurial.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Files/Mercurial.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Mercurial.pm 8 Nov 2013 14:22:25 -0000 1.4 +++ Mercurial.pm 3 Dec 2013 13:38:23 -0000 1.5 @@ -60,6 +60,7 @@ . ';HGRCPATH=' . $rootpath . '/hg.rc hg '; $cmd =~ m/(.*)/; $self->{'hg-cmd'} = $1; # Untaint string + $self->{'path'} = $config->{'hgpath'}; return $self; } @@ -73,6 +74,7 @@ # Paths on the hg command lines must not start with a slash # to be relative to 'rootpath'. Changes LXR convention. $hgpath =~ s,^/+,,; + $ENV{'PATH'} = $self->{'path'}; open(DIR, $$self{'hg-cmd'} . "ls-onelevel -r \"$releaseid\" \"$hgpath\" |") or die ("hg subprocess died unexpectedly: $!"); @@ -120,6 +122,7 @@ my ($self, $filename, $releaseid) = @_; my ($rev, $outrev); + $ENV{'PATH'} = $self->{'path'}; $filename =~ s,^/+,,; $self->parsehg($filename); if ($releaseid !~ m/^\d+$/) { @@ -168,8 +171,9 @@ # checked out content can be read. sub getfilehandle { my ($self, $filename, $releaseid, $withannot) = @_; - my ($fileh); + my $fileh; + $ENV{'PATH'} = $self->{'path'}; $filename =~ s,^/+,,; $filename =~ m/(.*)/; $filename = $1; @@ -241,6 +245,7 @@ my $rev = $self->filerev($filename, $releaseid); $rev =~ m/(.*)/; $rev = $1; + $ENV{'PATH'} = $self->{'path'}; my $fsize = `$$self{'hg-cmd'} fsize -r $rev $filename`; return $fsize; } @@ -302,6 +307,7 @@ my ($self, $filename) = @_; my @tags; + $ENV{'PATH'} = $self->{'path'}; open(TAGS, $$self{'hg-cmd'} . 'tags |') or die("hg subprocess died unexpextedly: $!"); @@ -334,6 +340,7 @@ my ($self, $filename) = @_; my @brch; + $ENV{'PATH'} = $self->{'path'}; open(BRANCH, $$self{'hg-cmd'} . 'branches |') or die("hg subprocess died unexpextedly: $!"); @@ -380,6 +387,7 @@ $filename =~ m/(.*)/; $filename = $1; my $file = ''; + $ENV{'PATH'} = $self->{'path'}; # This log request with a template retrieves only the LXR-relevant # data, i.e. changeset-id and commit time. open(HG, $$self{'hg-cmd'} Index: Subversion.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Files/Subversion.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Subversion.pm 8 Nov 2013 14:22:25 -0000 1.8 +++ Subversion.pm 3 Dec 2013 13:38:23 -0000 1.9 @@ -52,6 +52,7 @@ $self->{'svn_annotations'} = $config->{'sourceparams'}{'svn_annotations'} # Blame support will only work when annotations are available, or $config->{'sourceparams'}{'svn_blame'}; + $self->{'path'} = $config->{'svnpath'}; return $self; } @@ -66,6 +67,7 @@ $path = $self->revpath($pathname, $releaseid); $path =~ m/(.*)/; $path = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; open(DIR, "svn list $path |") or die("svn subprocess died unexpextedly: $!"); @@ -92,6 +94,7 @@ $uri = $self->revpath($filename,$releaseid); $uri =~ m/(.*)/; $uri = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; open(ANNO,"svn blame $uri |") or die("svn subprocess died unexpextedly: $!"); while( <ANNO> ) { @@ -133,6 +136,7 @@ my $path = $self->revpath($filename, $releaseid); $path =~ m/(.*)/; $path = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; my $res = `LANGUAGE=en svn info $path|grep 'Last Changed Rev'`; $res =~ m/(\d+)/; return $1; @@ -146,6 +150,7 @@ my ($self, $filename, $releaseid, $withannot) = @_; my $fileh; + $ENV{'PATH'} = $self->{'path'}; my $path = $self->revpath($filename, $releaseid); $path =~ m/(.*)/; $path = $1; # Untaint path @@ -212,6 +217,7 @@ my $path = $self->revpath($filename,$releaseid); $path =~ m/(.*)/; $path = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; $res = `svn list -v $path`; $res =~ m/\s*\d+\s+\w+\s+(?:O\s+)?(\d+)/; return $1; @@ -225,6 +231,7 @@ my $path = $self->revpath($filename,$releaseid); $path =~ m/(.*)/; $path = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; $line = `LANGUAGE=en svn info $path|grep 'Last Changed Date'`; $line =~ m/(\d[\d-+ :]+)/; $line = $1; @@ -250,6 +257,7 @@ my $path = $self->revpath($pathname,$releaseid); $path =~ m/(.*)/; $path = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; my $res = `LANGUAGE=en svn info $path 2>/dev/null|grep 'Node Kind'`; return index($res, 'directory') >= 0; } @@ -260,6 +268,7 @@ my $path = $self->revpath($pathname,$releaseid); $path =~ m/(.*)/; $path = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; my $res = `LANGUAGE=en svn info $path 2>/dev/null|grep 'Node Kind'`; return index($res, 'file') >= 0; } @@ -300,6 +309,7 @@ $uri = $self->{'rootpath'} . '/trunk' . $filename; $uri =~ m/(.*)/; $uri = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; open(LOG,"svn log $uri |") or die("svn subprocess died unexpextedly: $!"); while(<LOG>){ @@ -319,6 +329,7 @@ $uri = $self->{'rootpath'} . '/branches'; $uri =~ m/(.*)/; $uri = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; open(BRCH,"svn list $uri |") or die("svn subprocess died unexpextedly: $!"); while(<BRCH>){ @@ -352,6 +363,7 @@ $uri = $self->{'rootpath'} . '/tags'; $uri =~ m/(.*)/; $uri = $1; # Untaint path + $ENV{'PATH'} = $self->{'path'}; open(TAGS,"svn list $uri |") or die("svn subprocess died unexpextedly: $!"); while(<TAGS>){ |
From: Andre-Littoz <ajl...@us...> - 2013-12-03 13:38:26
|
Update of /cvsroot/lxr/lxr/templates In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv15286/templates Modified Files: global.conf.part Log Message: Files/*.pm, templates/global.conf.part: new 'xxxpath' parameters (similar to 'cvspath') These parameters allow to use privately installed source code management utilities if not system provided (changes to BK [valid?], git, mercurial and subversion modules). Index: global.conf.part =================================================================== RCS file: /cvsroot/lxr/lxr/templates/global.conf.part,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- global.conf.part 26 Nov 2013 08:49:14 -0000 1.6 +++ global.conf.part 3 Dec 2013 13:38:23 -0000 1.7 @@ -70,8 +70,11 @@ #- Location of the ectags.conf file , 'ectagsconf' => '%LXRroot%/templates/ectags.conf' - #- Paths for CVS module + #- Paths for VCS storage modules , 'cvspath' => '/bin:/usr/local/bin:/usr/bin:/usr/sbin' + , 'gitpath' => '/bin:/usr/local/bin:/usr/bin:/usr/sbin' + , 'hgpath' => '/bin:/usr/local/bin:/usr/bin:/usr/sbin' + , 'svnpath' => '/bin:/usr/local/bin:/usr/bin:/usr/sbin' # Computer DNS names subsection # #================================ |
From: Andre-Littoz <ajl...@us...> - 2013-12-03 09:59:57
|
Update of /cvsroot/lxr/lxr/lib/LXR In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv2303/lib/LXR Modified Files: Common.pm Log Message: Common.pm: sync comment for sub warning with new debugging possibility Index: Common.pm =================================================================== RCS file: /cvsroot/lxr/lxr/lib/LXR/Common.pm,v retrieving revision 1.108 retrieving revision 1.109 diff -u -d -r1.108 -r1.109 --- Common.pm 9 Nov 2013 19:37:11 -0000 1.108 +++ Common.pm 3 Dec 2013 09:59:54 -0000 1.109 @@ -119,6 +119,27 @@ may not yet have been emitted if this is an error on the page header template.> +B<Note:> + +=over + +=item + +I<Since it proved a valuable debuging aid, the function has been modified +so that it can be used very early in LXR initialisation. +Variable C<$HTMLheadOK> tells if the "standard" header part of the +page has already been sent to screen. +If not, some general purpose header is emitted to support HTML layout +of the warning message.> + +I<Of course, when the standard header part is later emitted, +some of its components will be discarded (or not properly set) by the browser +because they occur at an inappropriate location (not HTML-compliant). +This happens only in exceptional circumstances, usually requiring +fix by the LXR administrator.> + +=back + =cut sub warning { @@ -170,7 +191,7 @@ are printed before the message and the HTML page is properly closed. -I<Note>: +B<Note>: =over @@ -339,7 +360,7 @@ =back -Notes: +B<Notes:> =over |