When attempting to register the HBA providers with tog-pegasus using the provider-register.sh script the providers fail to register.
[root@iopx3550hgcf0 sblim-smis-hba]# ./provider-register.sh -r /usr/share/sblim-smis-hba/Linux_SMIS_HBA_HDR.reg -m /usr/share/sblim-smis-hba/Linux_SMIS_HBA_HDR.mof
Failed to read registration files
Failed to build pegasus registration MOF.
The root cause is that the provider-register.sh script tries to parse the registration file with the assumption that a single space is the delimiter between each entry in a row. The HBA registration files use multiple spaces to make them human readable.
There are two possible fixes here. Modify the registration files to use single space delimiters, or modify provider-register.sh to cope with multiple spaces in is tokenizing shell commands in "pegasus_transform()". The first option is the easist while the second requires modifying all instances of provider-register.sh for consistency (ideally we should move it to some sort of common package).
The following sed command will do the trick.
sed 's/[ \t]\+/ /g'
Modifying provider-register.sh seems like the better approach, even if it it's just this one file to start with.
Committed to CVS head.
Patch for smis-hba 1.0.0