Bug 523545 - Fix location of Fortran module
Summary: Fix location of Fortran module
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: matio
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Nicolas Chauvet (kwizart)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-15 21:18 UTC by Susi Lehtola
Modified: 2009-09-30 19:53 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-09-30 19:53:24 UTC
Type: ---


Attachments (Terms of Use)

Description Susi Lehtola 2009-09-15 21:18:35 UTC
Currently you are shipping the Fortran module of matio in
/usr/include/matio.mod.

According to the Fortran packaging guidelines, module files MUST be placed in %{_fmoddir}. Please fix this issue ASAP.
http://fedoraproject.org/wiki/Packaging:Fortran

(gcc-gfortran should own the %{_fmoddir} directory, so you just need to own the module file within.)

Comment 1 Nicolas Chauvet (kwizart) 2009-09-15 22:23:58 UTC
Im' sorry but this guideline is totally miss-leading:
From one side matio.mod. is considered architecture dependant, but from the other side, that's fine to have it in an architecture independant directory such as /usr/include (or any subdir) ?!

About the library, this package can be built either with of without gfortran. I don't understand why the same library would be available in different place.
I cannot see the benefit of using such sub-directory, whereas requiring an isa gcc-fortran is a big job (what that coudn't be rpm dependency extracted if ever that would makes sense). Furthermore, I was not aware that gcc (and as such gcc-fortran) would become multiarch... This guideline is seriously broken

Comment 2 Susi Lehtola 2009-09-16 07:57:20 UTC
(In reply to comment #1)
> Im' sorry but this guideline is totally miss-leading:
> From one side matio.mod. is considered architecture dependant, but from the
> other side, that's fine to have it in an architecture independant directory
> such as /usr/include (or any subdir) ?!

Uhh, what? Fortran headers refer to '.inc' or '.h' type, C style headers. That statement does not apply to modules:

"As Fortran modules are architecture and GCC version specific, they MUST be placed into %{_fmoddir} (or its package-specific subfolder in case the modules have generic names), which is owned by 'gcc-gfortran'. For directory ownership any packages containing Fortran modules MUST Requires: gcc-gfortran%{_isa}."

> About the library, this package can be built either with of without gfortran. I
> don't understand why the same library would be available in different place.
> I cannot see the benefit of using such sub-directory, whereas requiring an isa
> gcc-fortran is a big job (what that coudn't be rpm dependency extracted if ever
> that would makes sense). Furthermore, I was not aware that gcc (and as such
> gcc-fortran) would become multiarch... This guideline is seriously broken  

You are shipping the module file in -devel anyway. If you don't require gcc-gfortran%{_isa} then you aren't able to compile against matio, so the packaging of matio is broken. For some reason you don't have any problems requiring zlib-devel...

If you have problems with the guideline, make your complaints to the FPC or FESCo. No-one else has had any problems with it.

**

By the way, you also must Requires: pkgconfig for -devel, as you are shipping a pkgconfig file. http://fedoraproject.org/wiki/Packaging/Guidelines#PkgconfigFiles

Comment 3 Susi Lehtola 2009-09-24 18:59:23 UTC
ping.

Comment 4 Susi Lehtola 2009-09-30 11:06:32 UTC
Ping again. If you don't react, I will commit the change to cvs and push the updates.

Comment 5 Nicolas Chauvet (kwizart) 2009-09-30 19:16:28 UTC
I'm really busy now, so It's rather hard to answear properly.

Moving the default libdir for fortran to %{_fmoddir} is as weid as would be to move every c++ library to _libdir/c++, that's pointless and I cannot understand the reasoning behind this. (so please explain the reasons behing).

I can understand that fortran module need a rebuild on each compiler update, I cannot understand why this move will answear that question.

Also I expect this move to lead to problem with libtool and rpath. Specially as the path to avoid rpath on /lib64 and /usr/lib64/ directories aren't upstreamed until now:
http://cvs.fedoraproject.org/viewvc/rpms/libtool/devel/libtool-2.2.6a-rpath.patch?view=log

Comment 6 Susi Lehtola 2009-09-30 19:52:34 UTC
! This has nothing to do with libraries ! Just the placement of the Fortran module file, which is architecture specific and as such cannot be placed in /usr/include.

As the change is rather trivial and shouldn't affect anything (%{_fmoddir} is included by %configure), I've committed the change to the -devel branch. I also added the missing pkgconfig require.

Comment 7 Susi Lehtola 2009-09-30 19:53:24 UTC
Closing.


Note You need to log in before you can comment on or make changes to this bug.