#289 Request for permission for usage of autogenerated sources
Closed: Invalid None Opened 10 years ago by jussilehtola.

As has been discussed on the packaging list, I have had some minor problems with the libint2 package related to the packaging guidelines. As requested by Toshio, I'm opening up this ticket.

libint is a mathematical library for computing special types of integrals that arise in quantum chemistry. The integrals are evaluated via mathematical recursion relations, but there are many possible ways to use the relations to end up at the wanted target.

The idea behind libint is to use a "compiler" to determine the shortest path to the wanted integral, and generate the code that implements this path of recursion relations. The resulting library will depend on the arguments given to the compiler (sizes, vectorization lengths etc), but the result is the same regardless of the system used to generate it.

Compiling the program that generates the sources requires a very recent C++ compiler (gcc 4.7 or clang 3.1) because the compiler is written in C++11. The generated sources are standard C++ code, and can be compiled on pretty much any system; I'm also targetting EPEL-5 and EPEL-6, since they're still widely used on servers and cluster computers.

It is possible to generate the library on-the-fly, i.e. to
1. compile and run the "compiler" to generate the library sources
2. compile the library sources to form the library
but this has some shortcomings, notably that
a) building the package takes a lot longer because all the sources have to be regenerated
b) debuginfo packages end up missing the sources
c) this can only be done on >= F18 because of the C++11 code

Thus, use of pregenerated source tarballs is anyway mandatory for the EPEL branches. I'd like to be able to use the same pregenerated tarball also in the Fedora branches. This is a highly specialized package with no security implications. Also I cannot see why the source code would need Fedora specific modifications, because the underlying math is always the same.

You can find the script for generating the source tarball in the git branch.

I might also mention that upstream only has stable tarball releases of the generated sources, since other people than developers of the library have no reason to modify the "compiler" itself.


In reviewing the logs, I realize we didn't take a formal vote on this so I'll summarize what the feeling seemed to be:

  • Use of pregenerated tarballs in Fedora branches -- I see 4 opposed and one for allowing this. If you want a formal vote, let us know but my feeling from rereading the summary is the request would be denied.
  • For the EPEL branches, the FPC decided that rather than denying the request (which would have the effect of preventing the package from branching for EPEL) the choice should be left up to the EPEL Steering Committee/Community/release engineers. Probably best to send email to the epel mailing list to get their decision. Possible options that we were able to identify for them to take:
  • Add the developer toolkit addon for RHEL 5/6 which has a gcc4.7 package to the buildroot. This would allow building in EPEL from the base upstream sources.
  • Allow building in EPEL using the pregenerated sources.
  • Allow building in EPEL from the base upstream source if a gcc47 compat package is maintained in EPEL. This might be a simple sync and rebuild of the developer toolkit SRPM.
  • Disallow building in EPEL -- gcc is too old there so we just have to accept the fact that some things can't be packaged there.

The option of what they want to do is up to EPEL so they could choose to do something that we haven't thought of. They do not need to consult us unless they want our input.

Yes, I read the logs yesterday.

I'm finishing up a new Fedora package that builds from scratch, which also has good debuginfo contents.

For EPEL I'd prefer the first two options; if GCC 4.7 would be available in the buildroot I could generate the library using it, and build it with the system compiler, otherwise I'm happy with a pregenerated tarball.

I guess this should have been closed forever ago as there was nothing further for FPC to do.

Login to comment on this ticket.

Metadata