LubomirKundrak/OpenGrok

= Fedora OpenGrok instance = [[TableOfContents]

= Overview =

Open Grok supports most of common Version Control Systems, including Subversion, Mercurial, RCS and CVS and can provide user with the way to browse multiple revisions of file.

= Benefit to Fedora =

Developers and Maintainers will be able to find inspirations and educate themselves by inspecting existing source code for clever programming constructs.

When a certain programming construct is found to be problematic, its occurrences throughout the Fedora code can be spotted easily. This is especially useful for Security Response together with the code that is reused verbatim in multiple packages (think ).

= Technical description =

Disk space
This is total size of all Open is the index and cross-referenced source and   is the packages. Note that what is currently indexed is the resulting packages, not source packages. Apart from binaries, this is also  with the source code.

$ du -sh --apparent-size * 91G    data 52G    src $

Actual space requirement may be around 25% bigger, since this does not count unused space in last block of file. Given the number of files, this can lead to considerably big waste of space. With 4096 bytes blocks the files occupied bigger space than their actual sizes even after compression. 1024 bytes seems optimal.

For the curious, after compression the actual disk usage looks like this:

/dev/mapper/norkiavg-opengrok on /.compressed/opengrok type ext3 (rw,noatime,acl) fuse on /var/lib/opengrok type fuse (rw,nosuid,nodev,allow_other,default_permissions)

Filesystem           Size  Used Avail Use% Mounted on /dev/mapper/norkiavg-opengrok 79G  53G   23G  71% /.compressed/opengrok

CVS
Open 'ed CVS working directories. In this case full source code would be indexed, as well as all the bits taken care of by the maintainer (SPEC file and patched). History from CVS would be kept from these.

PkgDB and FAS
In case CVS were used as described above, maintainer names in CVS file history view can be configured to link to arbitrary place, such as PkgDB or FAS.

Koji
Alternatively (with regard to CVS s), buildroots from koji could be used as a source for files to index.

= Implementation =

Testing instance
A testing instance was set up by me (LubomirKundrak) at. Please note that it runs on a low-end hardware with some compromises made, such as compressing the storage, which hurts performance considerably. With this said, please do not abuse it, and expect the reply to come withing 5-10 seconds for single-keyword searches that were never done before.

The software used is from repository at. As Java Packaging Guidelines were approved this Thursday, expect it to hit Fedora soon.

Screenshots




More here and here.