[Fedora-packaging] New package help

Patrice Dumas pertusus at free.fr
Mon Jun 16 09:21:38 UTC 2008

On Sun, Jun 15, 2008 at 09:27:20PM -0400, Juan Carlos Cornejo wrote:
> Hello all,
> The program is called ROOT, it is a whole analysis framework developed by
> CERN that is currently in use in most high energy to medium energy physics
> laboratories, and released under the LGPv2+. However, it is written general

It would indeed be very nice to have ROOT in fedora. I'd be happy to
review it.

> enough that it can be applied to other fields that require a complex
> analysis framework.  Additionally, ROOT makes use of an internal C/C++
> Interpreter, which allows for on the fly scripting of C/C++ code.

I guess it is similar with comis from the cernlib? Though there doesn't
seems to be a corresponding interpreter in the cernlib it seems to do
the same.

> 1) the C/C++ interpreter called CINT, produces, as output, DLL files.  I
> don't know why, but this is their solution to dynamic libraries that will be
> shared across all supported OS's.  

The dynamic libraries cannot be shared accross different OS? They have
to be recompiled? In any case it is a bit strange for an interpreter to 
produce long lived output. Is a cmopiler used while interpreting, that
would defeat the interpretation?

> They support Linux and many Unices, as
> well as Mac OS X and Windows.  These DLL files are compiled by the code, so
> we have the source code available, though rpmlint seems to give a warning
> about them.  And essentially, I don't know what to make of it.
> Here is a sample error: root-devel.x86_64: W: unstripped-binary-or-object
> /usr/lib64/root/cint/include/stdcxxfunc.dll

dll on linux are in general called along stdcxxfunc.so. I guess that the
script that does the stripping and collect the debugging informations
don't know about objects ending in .dll. Also the objects should be
executables. In that case, you'll have to either have cint do .so files
or tweak the debuginfo generating script such that it also find files
ending in .dll.

> 2) Because rpmlint used to complain about header files being in a non devel
> package, I moved all header files to the devel package.  But the devel
> _MUST_ be installed along with the main package, CINT requires them to be
> there.  So if I don't create a devel package, I get hundreds of warnings for
> the header files.  If I do create a devel package, and require this devel
> package from the core files, I get an error out of rpmlint.

Is cint really needed for root to work? This seems wrong to me.

Anyway, there are some exceptions for cases like this one. In that case
you have to end up ignoring some rpmlint errors. I don't think it is
possible to have guidelines about these cases since they are all
different. Sometime it is better to have the headers in a non-devel
package, sometime it is better to have a non devel package depend on a
devel package and there are certainly onter cases.

There were some discussions about thosdee issues in the past, but there
seems to be nothing in the guidelines reflecting it. In the 
it is a MUST to have header files in devel packages, for example.

> 3) This one is not really an I issue I guess, but I figured I might as well
> mention it now.  ROOT ships with MS TrueType fonts, for some reason.  So I
> just removed them from the package, as I have not had any problems without
> them on Fedora.  And I use root extensively.  Also, I've removed some
> windows DLL's that were included in the package.  Also not needed for a
> Fedora release.  I am hoping that this will not be a problem, having a tar
> archive that is slightly different than the upstream one.

It is covered in 

> Thank you all for your advanced help.  I really hope this program can be
> made fit to include in the distribution.

I hope too.

I think that the best would be that you begin a submission, even with
somthing you know isn't ready for acceptation, such that the issues can
be tracked in bugzilla, and that we can see the actual code.


More information about the Fedora-packaging mailing list