#! /bin/bash

# default libexecdir used to bootstrap scripts
libexecdir=${GLOBUS_LOCATION}/libexec

# load MDS-specific script initializer
. ${libexecdir}/grid-info-common


# hacked merge of overlapping host object fragments.
# 
# requires environment intialization for:
#    hostname
#    libexecdir
#    
#    grid_info_platform
#    grid_info_os
#    grid_info_cpu
#    grid_info_mem
#    grid_info_fs
#    grid_info_net

{
  if [ "X${_mds_want_glue}" = "Xtrue" ]
  then
    _platform_glue_suffix="-glue";
  else
    _platform_glue_suffix="";
  fi
  # run standard providers (substituted at configure time)

  if [ ! "X${_mds_want_glue}" = "Xtrue" ]
  then
  ${libexecdir}/${grid_info_platform}  -dn "${_suffix}" \
    -hostobj -classify ${_platform_glue_suffix}
  fi

  ${libexecdir}/${grid_info_os}  -dn "${_suffix}" \
    -hostobj -classify ${_platform_glue_suffix}

  ${libexecdir}/grid-info-cpufast-uptime  -dn "${_suffix}" \
    -hostobj -classify ${_platform_glue_suffix}

  ${libexecdir}/${grid_info_mem}  -dn "${_suffix}" \
    -hostobj -classify ${_platform_glue_suffix}

  if [ ! "X${_mds_want_glue}" = "Xtrue" ]
  then
    ${libexecdir}/${grid_info_fs} -dn "${_suffix}" \
      -hostobj -classify ${_platform_glue_suffix}
  fi

  ${libexecdir}/${grid_info_net}  -dn "${_suffix}" \
    -hostobj -classify ${_platform_glue_suffix}

} | sort | uniq | \
{
  while read class line
  do
    if [ ! "X$class" = "X" ]
    then
      echo "$line"
    fi
  done
  echo ""
}

