doc/CHANGES: update for 2.3.7 release
templates/initdb/initdb-p-template.sql: fix bad erasable comment
scripts/LCLInterpreter.pm: improve interpreter robustness and fix
Lang/generic.conf: update to meet Universal Ctags expectations
Lang/Cobol.pm: missing closing parentheses
Templates/initdb/initdb-p-template.sql: upgrade to Postgress 14
templates/ectags.conf: upgrade to ctags 5.9.0
templates/ectags.conf.documentation: fix typo
git submodule reference support in LXR
This is not at all a patch submission. Question should go either to "Feature requests" if you have a good specification for it (a description of the initial context and a suggestion about how to handle it) or to "Discussion"/lxr-general. And it is not a bugfix as it does not address any open bug report. I close the ticket as inappropriate. Please ask in "Discussion"/lxr-general where it seems fit.
Hi, Am using GIT type of source project, is LXR support the git submodule reference ?
git submodule reference support in LXR
A lot of effort has been invested in LXR configuration process. The present release has a configuration script configure-lxr.pl which dramatically simplifies the task. For a simple tree, it is a matter of less than one minute, compared to the former tedious manual configuration of lxr.conf. Only for that, you should upgrade. There are also lots of new features and an impressive performance boost in generating the cross-references. Not the least, there is a comprehensive manual (albeit too verbos...
0.9.5, I would expect to uptake latest. On Thu, May 6, 2021, 4:49 AM Andre-Littoz ajlittoz@users.sourceforge.net wrote: Out of curiosity, which LXR version was installed on your lost server? Does anyone have instructions on how to install swish-e along with the LXR install? It seems the Swish-e site no longer exists. https://sourceforge.net/p/lxr/discussion/86144/thread/e2562a66af/?limit=25#fbeb Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/lxr/discussion/86144/...
Out of curiosity, which LXR version was installed on your lost server?
I still have a copy of swish-e 2.4.7 and I can send it to you but I rather recommend using Glimpse for source tree indexing. Swish-e will hit on the file without any detail. Glimpse is more accurate as it returns file + line number. From personal experience, Swish-e is a tool for indexing HTML sites where the relevant information is the page containing the queried text and your browser will display the page. Glimpse returns the line number and LXR can immediately scroll to the line of interest. This...
Yep. LXRSwishe is a backup plan. We lost our server and I have to rebuild it. I'm doing a trial on openGROK at the moment. but if that doesn't pan out, we may return to LXR/Swish-e. I very much appreciate your reply. On Tue, May 4, 2021, 2:44 AM Andre-Littoz ajlittoz@users.sourceforge.net wrote: I still have a copy of swish-e 2.4.7 and I can send it to you but I rather recommend using Glimpse for source tree indexing. Swish-e will hit on the file without any detail. Swish-e is more accurate as it...
I still have a copy of swish-e 2.4.7 and I can send it to you but I rather recommend using Glimpse for source tree indexing. Swish-e will hit on the file without any detail. Swish-e is more accurate as it returns file + line number. From personal experience, Swish-e is a tool for indexing HTML sites where the relevant information is the page containing the queried text and your browser will display the page. Glimpse returns the line number and LXR can immediately scroll to the line of interest. This...
The LXR site https://lxr.sourceforge.io has a section called "Tips" (access from the home page). One of the tips is Downloading a file from an LXR site. Follow the recipe.
I would like to wget a file from LXR (https://cmssdt.cern.ch/lxr/source/RecoLocalFastTime/FTLRecProducers/test/runMTDRecoDump.py) How should I write the command?
Common.pm, Config.pm, Template.pm: webserver interaction
search: fix minor misspellings
scripts/configure-lxr.pl,ContextMgr.pm,templates/*: port restriction
templates/*: cosmetic changes
Markup.pm: fix graphic file recognition
unparenthesized multiple regular image file patterns
occurence typo fix
Unable to tell. Does the error really contains $somepath ? With an explicit $ sign? In which case, this means template expansion went wrong, but there is no "somepath" variable in any template. Usually, this error is a consequence of a faulty lxr.conf configuration file or bad access rights on the source tree (a priori, I wave out this latter case).
Hi, Any update?
Thanks for the typo notice (minor because it is in a comment) Could you edit your report to mention LXR version? This will help me to check my source code.
occurence typo fix
Hi, I'm getting an error such as "the directory /$somepath does not exist or is hidden by exclusive rule" But all the files present in the directory & it's not displaying in browser. I'm using ubuntu 18.04, apache server. Thanks Gaviraju
Hi, I'm able to install successfully on my ubuntu machine & I don't how to verify. The command used to run the service is Sudo systemctl start apache2.service. In the bowser not showing the list of files or directory . Thanks Gaviraju On Thu, 7 Jan, 2021, 2:44 PM Andre-Littoz, ajlittoz@users.sourceforge.net wrote: Do you mean you succeeded in installing LXR on your computer and have it running? but when you click on a file name, this does not work? How to create a lxr project for C & C++ source indexing...
Thanks, I'll check it out & I will let you know if I have any questions. Thanks Gaviraju On Thu, 7 Jan, 2021, 2:59 PM Andre-Littoz, ajlittoz@users.sourceforge.net wrote: I had a look at your lxr.conf. You probably did not understand how to store your source tree and designate it. Here is how it should be organised: /-- home -- / -- ubuntu -- / -- tree -- / -- v1 -- | | / -- v2 -- | | -- other -- | -- user -- Then parameter sourceroot contains /home/ubuntu/tree without any version subdirectory. The...
I had a look at your lxr.conf. You probably did not understand how to store your source tree and designate it. Here is how it should be organised: /-- home -- / -- ubuntu -- / -- tree -- / -- v1 -- | | / -- v2 -- | / -- other -- / -- user -- Then parameter sourceroot contains /home/ubuntu/tree without any version subdirectory. The Version variable designates all versions, including the first one. Consequently, it should list v1 and v2, not only v2 as you did. Consider reconfiguring your tree. This...
I had a look at your lxr.conf. You probably did not understand how to store your source tree and designate it. Here is how it should be organised: /-- home -- / -- ubuntu -- / -- tree -- / -- v1 -- | | / -- v2 -- | | -- other -- | -- user -- Then parameter sourceroot contains /home/ubuntu/tree without any version subdirectory. The Version variable designates all versions, including the first one. Consequently, it should list v1 and v2, not only v2 as you did. Consider reconfiguring your tree. This...
I had a look at your lxr.conf. You probably did not understand how to store your source tree and designate it. Here is how it should be organised: /-- home -- / -- ubuntu -- / -- tree -- / -- v1 -- | | / -- v2 -- | | -- other -- | -- user -- Then parameter sourceroot contains /home/ubuntu/tree without any version subdirectory. The Version variable designates all versions, including the first one. Consequently, it should list v1 and v2, not only v2 as you did. Consider reconfiguring your tree. This...
I had a look at your lxr.conf. You probably did not understand how to store your source tree and designate it. Here is how it should be organised: /-- home -- / -- ubuntu -- / -- tree -- / -- v1 -- | | / -- v2 -- | | -- other -- | -- user -- Then parameter sourceroot contains /home/ubuntu/tree without any version subdirectory. The Version variable designates all versions, including the first one. Consequently, it should list v1 and v2, not only v2 as you did. Consider reconfiguring your tree. This...
Hi, I'm able to configure successfully & after installation I run the below command to the start the apche2 web service sudo systemctl start apache2.services Thanks Gaviraju
I'm able to open the link http://localhost/lxr/source & other link is not working
Hi, According to the user-guide I followed the instructions but unfortunately I'm not able to view the source file in the browser. Can you please check my configuration? I'm using Ubuntu 18.04 Thanks Gaviraju
There are two main sources of information: http://lxr.sourceforge.net (redirected to the https: site) the User's Manual downloadable from the File tab, doc folder The first one contains pages about installation and the third step is called Configuration. This is where you customise LXR after having installed it to apply it against your source code tree. This is very concise information. Extensive information is given in the User's Manual. Unfortunately, it is no longer possible to play a demo directly...
Hi, I am new to the LXR project so can I know any video tutorials or documentation for the C & C++ source code project creation Thanks Gaviraju
Dear LXR developers, The default ctags used in Linux system is Exuberant Ctags (v5.8). And its development has stopped since 2009. Should LXR switch to use the forked ctags, Universal Ctags? It has many improvements, and new features/languages added. I tried it and found the LXR configuration works fine with it except the kind letter 'F' used for SQL2 in the file templates/ectags.conf, because the kind letter 'F' is reserved in the Universal Ctags. And LXR could make use of the new development in...
Thanks for drawing my attention on this. This is a very good idea. As you noticed, Exuberant Ctags is ageing. I'll evaluate this. But be patient, I am presently on a heavy project which is accumulating delays. So it might be some months before I issue a new release. Note that LXR does not provide Ctags which must be installed by users. Consequently, if Universal Ctags works seamlessly in the present LXR, don't hesitate to use it as a replacement.
Dear LXR developers, The default ctags used in Linux system is Exuberant Ctags (v5.8). And its development has stopped since 2009. Should LXR switch to use the forked ctags, Universal Ctags? It has many improvements, and new features/languages added. I tried it and found the LXR configuration works fine with it except the kind letter 'F' used for SQL2 in the file templates/ectags.conf, because the kind letter 'F' is served in the Universal Ctags. And LXR could make use of the new development in the...
unparenthesized multiple regular image file patterns
I didn't understand your point and you're awfully right. Shame on me! Your fix is the correct one. Thanks for report the bug and providing a fix. I'll incorporate it in the next release.
Sorry, again I missed the backslash \ in the ful expanded expression. Without a parenthesis, the full expanded regular expression would become '\.bitmap|bmp|gif|icon?|jp2|jpe?g|pjpe?g|png|svg|tiff?|xbm|xpm$' Thus it could match any string containing ".bitmap", "gif" or "tif", or string ending with "xpm", right? Best, Shuwei
Hi Andre-Littoz, Sorry, when I copied the line onto the bug report page, the backslach \ was somehow removed by the system? Since the value graphicfile in the configuration file lxr.conf is set to 'bitmap|bmp|gif|icon?|jp2|jpe?g|pjpe?g|png|svg|tiff?|xbm|xpm' Without a parenthesis, the full expanded regular expression would become '.bitmap|bmp|gif|icon?|jp2|jpe?g|pjpe?g|png|svg|tiff?|xbm|xpm$' Thus it could match any file with an extension ".bitmap", or any string containing "gif" or "tif". etc, right?...
In source line #382, the "dot" is escaped as my $isgraphic = $pathname =~ m/\.$config->{'graphicfile'}$/; If this is not the case, "dot" means "any character" and, indeed, tif, gif or any other extension string can be recognised in last position ($ marker) without being necessarily an extension by itself. Check the reverse solidus \ precedes the dot in your copy. Your proposed fix is not the right syntax. Enclosing the variable name in parentheses only creates a capture group. In this case, the (...
In source line #382, the "dot" is escaped as my $isgraphic = $pathname =~ m/\.$config->{'graphicfile'}$/; If this is not the case, "dot" means "any character" and, indeed, tif, gif or any other extension string can be recognised in last position ($ marker) without being necessarily an extension by itself. Check the reverse solidus \\ precedes the dot in your copy. Your proposed fix is not the right syntax. Enclosing the variable name in parentheses only creates a capture group. In this case, the...
unparenthesized multiple regular image file patterns
If it works "locally" and you get 401 Forbidden from the LAN, it is a matter of 1) Apache security, 2) firewall configuration or 3) SELinux (security enhancements on Linux) protections. Th <ifmodule> you removed has no effect because you have ModPerl installed and the block is effective only when ModPerl is not installed. File .htaccess has a complex conditional data flow to cope automatically with the various possible Apache configurations so that user needs not care for that aspect of installation....
Hi (please be kind I am level 0 with linux ) trying to use LXR to Referece openwrt (cloned with git clone https://git.openwrt.org/openwrt/openwrt.git) Using Ubuntu 16.04LTS with Apache 2.4 Main problem is everything works fine if I try to browse the code with http://localhost/lxr/source from hosting machine while http://172.16.0.4/lxr/source from hosting machine gives me a Unrecoverable error No known root for source-tree $target http://172.16.0.4 from hosting machine gives me the Apache2 Ubuntu...
genxref: error when pêrmuting glimpse index files
The cause is not in the mv itself. If mv command is reverted, bug #275 reoccurs. What is really needed is to prevent extra directories from being created in the temporary indexing directory. For that, the cp command used to allow incremental indexing must be corrected. The present cp -r <index_dir>/<version> <tempd_dir> always creates a version/ subdirectory resulting in the form of the final mv command. cp must be modified to only copy the index files, but those are "hidden" files (name starting...
genxref: error when pêrmuting glimpse index files
doc/CHANGES: update for 2.3.5 release
genxref: fix permutation of glimpse databases
We are using docker container to deploy lxr. Unfortunately, if I blindly overwrite to verions 2.3.3, genxref fails to index new changes. Everything else works. This is the main issue preventing me from upgrade.
Released 2.3.4 with bug fix Thanks for reporting the bug. I'd advise you to update to latest release because all releases prior to 2.3.1 are plagued by a major vulnarability risk. DB schema did not change, you can substitute LXR source and don't need to reindex tree.
LXR goes in to infinite loop if '#include path//to/src.h' is found in source code.
Released 2.3.4 with bug fix
doc/CHANGES: update for 2.3.4 release
I confirm that after replacing Lang.pm with your version in 2.2.1, path generation works as expected with various type of paths ('//////', './' '../').
I've pushed a patch to the git repository. It works for me but my test is quite artificial. Could you test it on your real tree? Note: just substitute Lang.pm and restart the web server. Empty the caches in the browser for added reliability. No need to reindex. If it works fine also for you, I'll upload a fixed release.
Lang.pm: fix for bug 276, endless loop on multiple path separator
Everything is working fine with single seperator. The patch needs some improvement procesing '//' though (but at least it does not hang). http://snpy.in/ZeAGiZ
LXR goes in to infinite loop if '#include path//to/src.h' is found in source code.
The double slash is an excellent reason for the bad behaviour. Can you confirm that everything works fine with single / separator? I had similar problems in other language scanners but never thought to check C/C++ (because they're so heavily used in cross-referencing the Linux kernel).
LXR goes in to infinite loop if '#include path//to/src.h' is found in source code.
Just released new 2.3.3 version to fix this bug (and another one with event Apache MPM module). Download it and replace your existing LXR root directory. Backup first lxr.conf and reinstall it. This will save you the configuration step. Run genxref with --reindexall option to get rid of all spurious subdirectories. For the record: this bug plagues releases 2.2.0 to 2.3.2.
Calling genxref Multiple Times Results in Broken Directory Structure
Just released new 2.3.3 version to fix this bug (and another one with event Apache MPM module). Download it and replace your existing LXR root directory. Backup first lxr.conf and reinstall it. This will save you the configuration step. Run genxref with --reindexall option to get rid of all spurious subdirectories.
genxref: fix duplication of glimpse databases
doc/CHANGES: update for 2.3.3 release
templates/Apache/htaccess-generic: handle event MPM module
I found the culprit. When I modified genxref to allow uninterrupted service on huge trees (i.e. users can still access the LXR service while reindexing the tree, which lasted in this cases up to 5 hours), I enabled glimpseindex incremental mode. Since it is incremental, I make a copy of the glimpse databases and indexing occurs on this copy, not disturbing live LXR service. When this is done, the new databases are substituted for the older ones. This is where I made a mistake: I used a "standard"...
There's nothing weird in your lxr.conf, it is fully "standard". Since I don't understand this strange behaviour, I looked at my own glimpse directory and found the same bug (which I never noticed because the glimpse directory are usually hidden). I investigate and report back here. Thanks for notifying this bug.
Attached my lxr.conf.
I frequently call genxref several times in a row and don't get this erroneous behaviour. The gimpse directories are created only if they don't exist. Consequently, something in your configuration causes genxref to think they are not present. Please attach your lxr.conf so that I can study it.
Calling genxref Multiple Times Results in Broken Directory Structure
templates/Apache/htaccess-generic: handle event MPM module
Pythom from/import causing infinite loop
Lang.pm: trailing / in include path causes infinite loop
search: fix for vulnerability JVN#72589538 (OS command injection)
doc/CHANGES,INSTALL: update for 2.3.0 release