Just in case anyone is interested in following this, I'll
try and document what I'm doing here

I have a forked repo and added a branch here

https://github.com/vuw-ecs-kevin/ompi/tree/make-specfile-scl-capable

and have applied a series of small changes that allow for the building
of an RPM that appears to be an SCL-enabled one.

Couple of small things to iron out, mostly as regards naming, to whit:

An SCL rpmbuild, using

--define 'scl openmpi-openmpi'

produces

openmpi-openmpi-openmpi-2.0.2-1.el6.x86_64.rpm

where the rpm -qip info shows

==============
Name        : openmpi-openmpi-openmpi      Relocations:
/opt/OpenMPI/openmpi-openmpi/root/usr
Version     : 2.0.2                             Vendor: redhat
Release     : 1.el6                         Build Date: Wed 05 Apr
2017 12:20:45 PM NZST
Install Date: (not installed)               Build Host: lochostname.vuw.ac.nz
Group       : Development/Libraries         Source RPM:
openmpi-openmpi-openmpi-2.0.2-1.el6.src.rpm
Size        : 50459297                         License: BSD
Signature   : (none)
Packager    : redhat
================

Note, with reference to:

https://www.softwarecollections.org/en/docs/guide/

that this assumes that

Section 2.3's The Software Collection Root Directory

is

/opt/OpenMPI/

and that

Section 2.4's. The Software Collection Prefix

is

openmpi-openmpi

because the "myorganisation" is openmpi

as is the package name.


I am less than convinced that those SCL guidelines add anything extra
that might be lost if the Relocation simply occured at

/opt/OpenMPI/openmpi/root/usr

which I believe would result from building from the same SPEC-file
with just

-define 'scl openmpi'

but I'm not clainging to be an SCL expert.


I also note that as things stand, the Relocation is used for all
files except the Environment Module file, resulting from the
rpmbuild beig done as follows

    --define 'install_shell_scripts 1' \
    --define 'install_modulefile 1' \
    --define 'use_mpi_selector 1' \
    --define 'scl openmpi-openmpi' \
    -bc openmpi-2.0.2.spec

remains in the "system" tree, as

/usr/share/Modules/modulefiles/openmpi-openmpi-openmpi/2.0.2

although, because of the ACL naming, it would no longer clash with
the path to a non-SCL built module file.

Some thought needed on the module file location, perhaps not all
that surprising, given that was where this thread stared.


Anyroad, some initial progress, which might ellicit some comments ?
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to