[Bug 451744] New: Review Request: root - The CERN analyzer for high to medium energy physics

bugzilla at redhat.com bugzilla at redhat.com
Tue Jun 17 01:55:22 UTC 2008


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.




https://bugzilla.redhat.com/show_bug.cgi?id=451744

           Summary: Review Request: root - The CERN analyzer for high to
                    medium energy physics
           Product: Fedora
           Version: rawhide
          Platform: All
        OS/Version: Linux
            Status: NEW
          Severity: medium
          Priority: low
         Component: Package Review
        AssignedTo: nobody at fedoraproject.org
        ReportedBy: juanucleus at gmail.com
         QAContact: extras-qa at fedoraproject.org
                CC: fedora-package-review at redhat.com,notting at redhat.com


This is my first package submitted for review.  I am looking for a sponsor.

Spec URL: http://www.jlab.org/~cornejo/fedora/root/root.spec
SRPM URL: http://www.jlab.org/~cornejo/fedora/root/root-5.19.04-1.fc9.src.rpm
Description:
The ROOT system provides a set of OO frameworks with all the functionality
needed to handle and analyse large amounts of data in a very efficient way.
Having the data defined as a set of objects, specialised storage methods are
used to get direct access to the separate attributes of the selected objects,
without having to touch the bulk of the data. Included are histograming methods
in 1, 2 and 3 dimensions, curve fitting, function evaluation, minimisation,
graphics and visualization classes to allow the easy setup of an analysis
system that can query and process the data interactively or in batch mode.

Thanks to the builtin CINT C++ interpreter the command language, the scripting,
or macro, language and the programming language are all C++. The interpreter
allows for fast prototyping of the macros since it removes the time consuming
compile/link cycle. It also provides a good environment to learn C++. If more
performance is needed the interactively developed macros can be compiled using
a C++ compiler.

The system has been designed in such a way that it can query its databases in
parallel on MPP machines or on clusters of workstations or high-end PC's. ROOT
is an open system that can be dynamically extended by linking external
libraries. This makes ROOT a premier platform on which to build data
acquisition, simulation and data analysis systems.

After running rpmlint on the 3 main package ( source, main, and devel), both source and the main package produced no output, and devel produced these warnings:

root-devel.x86_64: W: no-documentation
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/include/stdcxxfunc.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/include/stdfunc.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/include/posix.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/include/ipc.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/list.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/exception.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/vectorbool.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/queue.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/climits.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/multimap.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/stdexcept.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/complex.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/stack.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/valarray.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/multiset.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/set.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/map.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/multimap2.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/vector.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/deque.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/stl/map2.dll
root-devel.x86_64: W: unstripped-binary-or-object /usr/lib64/root/cint/lib/posix/mktypes

Some issues:
1) The name is very generic, simply called root in upstream.  I understand that system administrators may be weary of installing and running a program called root.  Specially since it includes 3 daemons: rootd, xrootd, and prootd, which a system admin might not like seeing running.  Name can be changed, and I am open to suggestions.

2) One of the included features of ROOT is the internal C/C++ interpreter called CINT.  CINT uses, as shared libraries, DLL's.  As of now I do not understand why, but these produce the majority of the warnings in rpmlint.  From the packaging mailing list two suggestions were brought up:
    a) Change the stripping script so that it includes files ending in .dll
    b) Change CINT so that it can read .so files, even dll.so similar to how wine handle's DLL's.

3) Based on my experience from running and using ROOT, I strongly suspect that CINT requires the .h files to function properly.  I recall receiving a lot of errors when these were not present, particularly when I was forced to compile the code inside of root to get templates to work.  So ideally, one will also need to install the -devel package along with the main package.  If I include it, it produces an error in rpmlint.  I have to admit, that I don't know how to approach this problem.

4) Not an issue, but I will mention it upfront. Upstream includes the MS TrueType fonts and some binary dll files, which I've removed and documented.  It is from my experience that Fedora already includes the necessary fonts to properly display any GUI that root produces.

5) The main component of ROOT is terminal based, though, during use various GUIs do pop up.  One is also free to code in GUI using the ROOT API.  Does this constitute as a GUI and as such a proper .desktop file must be written and included?

6) This is almost a plain ROOT build, missing most of the extra plug-ins that ROOT includes.  One of the main features I guess are the Qt bindings, as well as the MySQL drivers.  I will be more than happy to include these, and encourage their inclusion.  I was just eager to get, at the very least, a fully working copy of ROOT into Fedora.  Though, if the review goes well, I will look into properly packaging and including all plug-in components.

Thank you all for your time.  I hope that ROOT may be made fit for inclusion in Fedora, and that it may be helpful for others.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




More information about the Fedora-package-review mailing list