I have been looking at adjusting the openmpi
package to allow it to build and install on
case-sensitive HFS filesystems. I am stuck on
how to properly steer mpiCC into the openmpi-dev
Files list without breaking the build on the
standard HFS filesystem. Perhaps we need some
way of flagging files that only are to be
packaged if the filesystem is case sensitive?
My initial idea was to have...

Package: openmpi
Version: 1.3.2
Revision: 1003
GCC: 4.0
Description: MPI implementation for parallel computing
License: BSD
Maintainer: Jack Howarth <howa...@bromo.msbb.uc.edu>
Depends: %N-shlibs (= %v-%r)
BuildDepends: gcc44
BuildConflicts: lammpi (<< 7.1.2-1000), lammpi-shlibs (<< 7.1.2-1000), 
lammpi-dev
Conflicts: lammpi (<< 7.1.2-1000), lammpi-shlibs (<< 7.1.2-1000), lammpi-dev  
(<< 7.1.2-1000)
Source: http://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-%v.tar.bz2
Source-MD5: 75781dc31255cd841701c065e239d994
ConfigureParams: --prefix=%p --libexecdir=%p/lib/%n --datadir=%p/share/doc/%n 
--sysconfdir=%p/etc/%n --sharedstatedir=%p/var/%n/shared 
--localstatedir=%p/var/%n/local --libdir=%p/lib/%n --includedir=%p/include 
--infodir=%p/share/info --mandir=%p/share/man/%n --enable-shared 
--enable-static --disable-dependency-tracking FFLAGS=-O3 --with-devel-headers 
--build=%m-apple-darwin`uname -r|cut -f1 -d.` --host=%m-apple-darwin`uname 
-r|cut -f1 -d.`
NoSetLDFLAGS: true
SetLDFLAGS: -Wl,-search_paths_first
SetLIBRARY_PATH: %p/lib
InstallScript: <<
#!/bin/sh -ev
make install DESTDIR=%d
mv %i/bin/mpic++ %i/bin/om-mpic++
mv %i/bin/mpicc %i/bin/om-mpicc
if [ -f %i/bin/mpiCC ]; then
mv %i/bin/mpiCC %i/bin/om-mpiCC
ln -s %p/bin/om-mpiCC %i/bin/mpiCC
fi
mv %i/bin/mpicxx %i/bin/om-mpicxx
mv %i/bin/mpiexec %i/bin/om-mpiexec
mv %i/bin/mpif77 %i/bin/om-mpif77
mv %i/bin/mpif90 %i/bin/om-mpif90
mv %i/bin/mpirun %i/bin/om-mpirun
ln -s %p/bin/om-mpic++ %i/bin/mpic++
ln -s %p/bin/om-mpicc %i/bin/mpicc
ln -s %p/bin/om-mpicxx %i/bin/mpicxx
ln -s %p/bin/om-mpif77 %i/bin/mpif77
ln -s %p/bin/om-mpif90 %i/bin/mpif90
ln -s %p/lib/%N/libopen-pal.0.dylib %i/lib/%N/libopal.0.dylib
ln -s %p/lib/%N/libopen-pal.0.dylib %i/lib/%N/libopal.dylib
ln -s %p/lib/%N/libopen-rte.0.dylib %i/lib/%N/liborte.0.dylib
ln -s %p/lib/%N/libopen-rte.0.dylib %i/lib/%N/liborte.dylib
<<
DocFiles: AUTHORS INSTALL LICENSE README VERSION
SplitOff: <<
 Package: %N-shlibs
 Depends: gcc44-shlibs
 Files: <<
   lib/%N/lib*.0.dylib
 <<
 Shlibs: <<
    %p/lib/%N/libopen-pal.0.dylib 1.0.0 %n (>= 1.2.2-1000)
    %p/lib/%N/libmpi.0.dylib 1.0.0 %n (>= 1.2.2-1000)
    %p/lib/%N/libopen-rte.0.dylib 1.0.0 %n (>= 1.2.2-1000)
    %p/lib/%N/libmpi_cxx.0.dylib 1.0.0 %n (>= 1.2.2-1000)
    %p/lib/%N/libmpi_f77.0.dylib 1.0.0 %n (>= 1.2.2-1000)
    %p/lib/%N/libmpi_f90.0.dylib 1.0.0 %n (>= 1.2.3-1000)
 <<
 DocFiles: AUTHORS INSTALL LICENSE README VERSION
 Description: Shared libraries for openmpi package
<<
SplitOff2: <<
 Package: %N-dev
 Depends: %N (= %v-%r)
 Conflicts: lammpi-dev
 Replaces: lammpi-dev
 BuildDependsOnly: true
 Files: <<
     include
     lib/%N/libopen-pal.dylib
     lib/%N/libopal.dylib
     lib/%N/libmpi.dylib
     lib/%N/libopen-rte.dylib
     lib/%N/liborte.dylib
     lib/%N/libmpi_cxx.dylib
     lib/%N/libmpi_f77.dylib
     lib/%N/libmpi_f90.dylib
     lib/%N/lib*.a
     lib/%N/lib*.la
     bin/mpic++
     bin/mpicxx
     bin/mpicc
     bin/mpiCC
     bin/mpif77
     bin/mpif90
 <<
 DocFiles: AUTHORS INSTALL LICENSE README VERSION
 Description: Development files for openmpi package 
<<
DescDetail: <<
Open MPI is a project combining technologies and resources from
several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in
order to build the best MPI library available.
<< 
DescPackaging: <<
The include and library files have been placed in subdirectories named
"openmpi" to avoid file collisions with those from the lammpi packages.
Executables which collide with those in lammpi have been renamed
with an "om-" prefix and symlinks provided to the original names 
through the openmpi-dev package.
<<
DescUsage: <<
The Open-MPI system is started with the command...
    orted --seed --persistent --scope public
<<
Homepage: http://www.open-mpi.org

...however the bin/mpiCC entry in the Files list of openmpi-dev
will break the build on stock HFS (since it will try move mpicc
twice on that filesystem). Any ideas on how to handle this?
             Jack
ps We also have a -m validation failure of...

Validating .deb file 
/sw/fink/10.6/local/main/binary-darwin-x86_64/openmpi_1.3.2-1003_darwin-x86_64.deb...
Error: Pathname collision on case-insensitive filesystems
        Offending file: /sw/bin/mpicc-vt
        Offending file: /sw/bin/om-mpicc
        Offending file: /sw/share/doc/openmpi/openmpi/mpicc-vt-wrapper-data.txt
        Offending file: /sw/share/doc/openmpi/openmpi/mpicc-wrapper-data.txt
        Offending file: /sw/share/man/openmpi/man1/mpicc.1

------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.devel

Reply via email to