diff options
Diffstat (limited to 'sys-cluster')
125 files changed, 5658 insertions, 0 deletions
diff --git a/sys-cluster/dapl/ChangeLog b/sys-cluster/dapl/ChangeLog new file mode 100644 index 000000000..a75719e6f --- /dev/null +++ b/sys-cluster/dapl/ChangeLog @@ -0,0 +1,17 @@ +# ChangeLog for sys-cluster/dapl +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*dapl-1.2.2 (27 Nov 2007) +*dapl-2.0.1 (27 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + converted to standalone package + -dapl-1.1.ebuild: removed + +dapl-1.2.2.ebuild, dapl-2.0.1.ebuild: added + +*dapl-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/dapl/Manifest b/sys-cluster/dapl/Manifest new file mode 100644 index 000000000..f2f993efd --- /dev/null +++ b/sys-cluster/dapl/Manifest @@ -0,0 +1,6 @@ +DIST dapl-1.2.2-1.tar.gz 608847 RMD160 734b50a0ee17905b416cd77ae907e84de64c7b33 SHA1 320a1adfe910798a110fc2ecabbd73e5ba7ffe4e SHA256 8c1fe853751be3947add8481184b1693a1d83d672cc3f308e36f20af71473c09 +DIST dapl-2.0.1-1.tar.gz 627831 RMD160 0653c5aac44b967dccdcdeb3d1ef54bebd3b77ed SHA1 16bfa0c6685c04447ecde6aadb90c1a7baaa7f72 SHA256 d3a26feb90fdd1d5606f37675931271393dbf6e405156d2eb431ee9ebf32a40a +EBUILD dapl-1.2.2-r1.ebuild 679 RMD160 087080f9bc20b66471219ac67834a8345d568560 SHA1 24520fbc79b5d53c5896d53815cccf5328c035d0 SHA256 340d1ba043b96e31347614883d5de56a0fbc2036dc96c6f4eafefb7f8516fb19 +EBUILD dapl-2.0.1-r1.ebuild 679 RMD160 087080f9bc20b66471219ac67834a8345d568560 SHA1 24520fbc79b5d53c5896d53815cccf5328c035d0 SHA256 340d1ba043b96e31347614883d5de56a0fbc2036dc96c6f4eafefb7f8516fb19 +MISC ChangeLog 449 RMD160 82e63d591351bbe22d06ea59d76cb4b8f4339d71 SHA1 9ebbf68b38ca73bffb853f26b4fbe576edd1bb86 SHA256 ef168ff1a660a784c6923aa2ec3b5ffd34f7087e877196c786767ddca719f648 +MISC metadata.xml 424 RMD160 c16767c70c8e51dc14be9351de7163d4fdf745ac SHA1 a3a795c400517aefbca9fa2eea0ee5aeee0ef344 SHA256 ac9d1419598872d9a32ea439ba6dc04425f17c2bf9d096dab8e258eed66b7a4e diff --git a/sys-cluster/dapl/dapl-1.2.2-r1.ebuild b/sys-cluster/dapl/dapl-1.2.2-r1.ebuild new file mode 100644 index 000000000..1d8a0bd11 --- /dev/null +++ b/sys-cluster/dapl/dapl-1.2.2-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 CPL-1.0 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB - Direct Access Provider Library" +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/dapl/${P}-1.tar.gz" +S="${WORKDIR}/${P}-1" + +IUSE="" + +RDEPEND="sys-cluster/libibverbs + sys-cluster/librdmacm" +DEPEND="${RDEPEND}" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS + docinto doc + dodoc doc/dat.conf + doman man/* +} + diff --git a/sys-cluster/dapl/dapl-2.0.1-r1.ebuild b/sys-cluster/dapl/dapl-2.0.1-r1.ebuild new file mode 100644 index 000000000..1d8a0bd11 --- /dev/null +++ b/sys-cluster/dapl/dapl-2.0.1-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 CPL-1.0 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB - Direct Access Provider Library" +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/dapl/${P}-1.tar.gz" +S="${WORKDIR}/${P}-1" + +IUSE="" + +RDEPEND="sys-cluster/libibverbs + sys-cluster/librdmacm" +DEPEND="${RDEPEND}" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS + docinto doc + dodoc doc/dat.conf + doman man/* +} + diff --git a/sys-cluster/dapl/metadata.xml b/sys-cluster/dapl/metadata.xml new file mode 100644 index 000000000..00fc9ed6a --- /dev/null +++ b/sys-cluster/dapl/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +uDAPL is a transport neutral infrastructure that provides RDMA capabilities in +user space. It is the user space component of DAPL, the Direct Access Provider +Library for RDMA transports. See http://www.datcollaborative.org/ +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/empi/ChangeLog b/sys-cluster/empi/ChangeLog new file mode 100644 index 000000000..21c63131e --- /dev/null +++ b/sys-cluster/empi/ChangeLog @@ -0,0 +1,7 @@ +# ChangeLog for sys-cluster/empi +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog: + Initial import + diff --git a/sys-cluster/empi/Manifest b/sys-cluster/empi/Manifest new file mode 100644 index 000000000..2fe171df5 --- /dev/null +++ b/sys-cluster/empi/Manifest @@ -0,0 +1,6 @@ +AUX README.txt 2780 RMD160 18c9057b4a536716ae19d41f153df17021e2c4bf SHA1 29814c97d88d695b1aa3027790a3763806821443 SHA256 693a10fa9eb7ab0ec74f83fdbf326a320e69be979b13ca00b5416a539145073a +AUX empi 10260 RMD160 696101bbbcf318d152fe10e690af86fd49bbe139 SHA1 d21d0ab2338c3adfbfdd6f4ad059b81018d15051 SHA256 3c344cde5daa717e3cd779cb2792a58e99d098b9da81b6e00604e70528672569 +AUX empi-0.2.patch 4089 RMD160 265c6a4c887c3006294b430bc7c3aa2891e612a4 SHA1 42d90cc6a6aa4b5cfc544a7a98cf55c5f48dffc8 SHA256 4bd20fb11e0fdc4661836b5cf346224875ce7803b43b32fde2e425b3679c27b8 +EBUILD empi-0.1.ebuild 356 RMD160 da691cd5e6d0efa60610e924afdf9f575d0c0af7 SHA1 82158037d357ab1995115606fc6e65ab644846ce SHA256 2e2f296e101e79207e02c55834ee38eb2eb8d375306bce5dc5bef0b8044a9242 +EBUILD empi-0.2.ebuild 467 RMD160 c67402c1eeba84f93319648605a0720184c19cb5 SHA1 1565fa234b6d7beb193df96400264586a792eaa1 SHA256 48c53593c8859beefc475c9f4c6ebe113972a54efe33f6983351c8cd8d8f3f93 +MISC ChangeLog 199 RMD160 d19235676502c09e9970dcade1e6953561bb0de0 SHA1 3a3b206b2e37e8299fca13c4e1b4d7029df9654e SHA256 3e5879a45cb8cf45883aae0fa0a39eae2a3d7b4a82f77ec03bcc264a75d23d27 diff --git a/sys-cluster/empi/empi-0.1.ebuild b/sys-cluster/empi/empi-0.1.ebuild new file mode 100644 index 000000000..1a8508f8d --- /dev/null +++ b/sys-cluster/empi/empi-0.1.ebuild @@ -0,0 +1,19 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +DESCRIPTION="empi" +HOMEPAGE="http://dev.gentoo.org/~jsbronder" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64" +IUSE="" +RDEPEND="app-admin/eselect-mpi" + +src_install() { + dobin "${FILESDIR}"/empi + dodoc "${FILESDIR}"/README.txt +} + diff --git a/sys-cluster/empi/empi-0.2.ebuild b/sys-cluster/empi/empi-0.2.ebuild new file mode 100644 index 000000000..a17388a0a --- /dev/null +++ b/sys-cluster/empi/empi-0.2.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +DESCRIPTION="empi" +HOMEPAGE="http://dev.gentoo.org/~jsbronder" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64" +IUSE="" +RDEPEND="app-admin/eselect-mpi" + +src_unpack() { + mkdir -p "${S}" + cp "${FILESDIR}"/empi "${S}" + cd "${S}" + epatch "${FILESDIR}"/${P}.patch +} + +src_install() { + dobin empi + dodoc "${FILESDIR}"/README.txt +} diff --git a/sys-cluster/empi/files/README.txt b/sys-cluster/empi/files/README.txt new file mode 100644 index 000000000..47d93a071 --- /dev/null +++ b/sys-cluster/empi/files/README.txt @@ -0,0 +1,75 @@ += Introduction = +Empi is basically a reworking of vapier's crossdev script to +handle installing multiple mpi implementations and applications +that depend on them. This is done through trickery involving +adding categories that portage will recognize, moving mpi-enabled +packages (defined as those using mpi.eclass) to a local overlay +directory and then emerging these packages using the new +category. + +Empi handles getting mpi application ebuilds into the overlay, +copying anything in package.{use,keywords}, and wrapping the +emerge process. The eclass handles putting the package files +into separate "root" directories based on the category name as +well as making sure the applications build against the +appropriate environment. + +I also provide eselect-mpi, which unlike every other eselect +module I've ever used, is designed to manage a users personal +environment by writing to ${HOME}/.env.d/mpi. This provides a +quick and easy way for users to experiment with various +implementations while imposing on any other user's ability to +use their preferred implementation. + +The newly written mpi.eclass should handle empi-based and standard +emerging of packages in a manner that enables package maintainers +to quickly port their applications without much knowledge of the +underlying mechanics. At least, that was my intent, maybe I +succeeded. + + += Definitions = +Implementation: Fake category name used by empi. Must be + prefixed with mpi- +Base Implementation: Actual mpi-implementation package that will + provide all mpi functionality to the above. + + += Instructions = + +The following creates an implementation called "mpi-openmpi" +using sys-cluster/openmpi as the base implementation. We also +set some USE flags and make sure to unmask the appropriate +version of sys-cluster/openmpi. Long options and full package +atoms are used, but not required. + +1.) Sync the overlay located at rsync://cold-front.ath.cx/mpi + +2.) Emerge empi + +3.) Setup /etc/portage/package stuff. + # echo ">=sys-cluster/openmpi-1.2.5-r1 pbs fortran romio smp" >> /etc/portage/package.use + # echo ">=sys-cluster/openmpi-1.2.5-r1" >> /etc/portage/package.keywords + +4.) Create the implementation. + # empi --create --implementation mpi-openmpi =sys-cluster/openmpi-1.2.5-r1 + +5.) Add packages. + # empi --add --implementation mpi-openmpi hpl mpi-examples + +6.) Setup your user. + $ eselect mpi set mpi-openmpi + $ echo <<-EOF >> .bash_profile +for i in $(ls ${HOME}/.env.d/*); do + source ${HOME}/.env.d/${i} +done +EOF + $ source .bash_profile + +7.) Do stuff, or decide this is all worthless and cleanup the mess. + # empi --delete mpi-openmpi + + += Links = +http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO +http://archives.gentoo.org/gentoo-cluster/msg_f29032b0d85f7f47d9e52940e9322d91.xml diff --git a/sys-cluster/empi/files/empi b/sys-cluster/empi/files/empi new file mode 100755 index 000000000..839e41c34 --- /dev/null +++ b/sys-cluster/empi/files/empi @@ -0,0 +1,326 @@ +#!/bin/bash + +source /etc/init.d/functions.sh +#[ -f /etc/empi.conf ] && source /etc/empi.conf +MPI_IMPS="openmpi lam-mpi" +MPI_ALL_IMPS="mpich mpich2 openmpi lam-mpi" +VERBOSE=0 + +[[ -z ${MPI_PORTDIR} ]] \ + && MPI_PORTDIR="$(portageq portdir_overlay)" \ + && MPI_PORTDIR="${MPI_PORTDIR%% *}" \ + +[[ -z ${COMPILER} ]] && COMPILER=gcc +# imp (category) Implementation we're installing for. mpi-* +# targets Packages to run action on. When creating, the implementation to use. +# action create, add, update, remove. + +die(){ + if [ -n "${1}" ]; then + echo; eerror $1; echo + fi + exit 1 +} + +usage(){ + local rc=${1:-0} + shift +cat <<-EOF +Usage: ${HILITE}empi${NORMAL} ${GOOD}[options]${NORMAL} ${BRACKET}--implementation IMPLEMENTATION pkgspec${NORMAL} + +Options: + ${GOOD}-c, --create${NORMAL} (Re)Initialize setup for implementation. + ${GOOD}-a, --add${NORMAL} pkgspec(s) Add packages using specified implementation. + ${GOOD}-i, --implementation${NORMAL} imp Implementation to use. + ${GOOD}-l, --list${NORMAL} List installed implementations. + ${GOOD}-t, --tree${NORMAL} path Path to portage tree to use ebuilds from. + ${GOOD}-d, --delete${NORMAL} imp Remove everything related to specified implementation. + +pkgspec is specified by a package string. Without a version, the best_visible is used. + openmpi, sys-cluster/openmpi, =sys-cluster/openmpi-1.2.5 +implementation (-i) is user defined but must be prefixed with "mpi-" + +EOF + [[ -n $* ]] && echo && eerror "Error: $*" + exit ${rc} +} + +imp_is_valid() { + [[ -z ${imp} ]] && usage 1 "No implementation defined." + [[ ${imp} != mpi-* ]] && usage 1 "Implementations must be prefixed with mpi-" + [[ ${imp//./} != ${imp} ]] && usage 1 "Implementations cannot contain . (period)" +} + +is_imp_category() { + local i + for i in $(eselect mpi list -p); do + [[ ${1} == ${i} ]] && return 0 + done + return 1 +} + +split_atom() { + local cpv c pf pn pv + cpv=$(portageq best_visible / ${1}) + if [[ -z ${cpv} || ${rc} -ne 0 ]]; then + cpv=$(portageq best_visible / =${1}) + [[ -z ${cpv} || ${rc} -ne 0 ]] && return 1 + fi + c=${cpv%/*}; pf=${cpv#${c}/}; pn=${pf%%-[0-9]*}; pv=${pf#${pn}-} + echo "${c} ${pn} ${pv}" +} + +parse_pkgspecs() { + local atom i + for ((i=0; i<${#targets[@]}; i++)); do + atom=($(split_atom ${targets[i]})) + if [[ $? -ne 0 ]]; then + eerror "Unable to find a unique package or valid version for ${targets[i]}" + eerror "Is the package unmasked and unblocked normally?" + die "" + fi + targets[i]=${atom[0]}/${atom[1]}-${atom[2]} + done +} + +# handle_etc_portage package_spec +# parses /etc/portage/package.{keywords,use}. If ${imp}/${pn} is seen, we don't +# do a thing. Otherwise copy any lines that have ${cat}/${pn} inserting them again +# with the new category. +handle_etc_portage() { + local atom=( $(split_atom ${1}) ) + local ext line gfiles f + + for ext in "keywords" "use"; do + if [ -d /etc/portage/package.${ext} ]; then + gfiles="/etc/portage/package.${ext}/*" + f=/etc/portage/package.${ext}/${imp} + else + gfiles="/etc/portage/package.${ext}" + f=/etc/portage/package.${ext} + fi + + if ! grep "[>=<]*${imp}/${atom[1]}" ${gfiles} &>/dev/null; then + grep "[>=<]*${atom[0]}/${atom[1]}" ${gfiles} \ + | sed "s,${atom[0]},${imp}," \ + | while read line; do + echo "${line}" >> ${f} + [[ ${VERBOSE} -ne 0 ]] \ + && einfo "Addition to ${f}: ${line}" + done + elif [[ ${VERBOSE} -ne 0 ]]; then + ewarn "Keys for ${imp}/${atom[1]} already exist in ${f}. Will not replicate them." + fi + done +} + + + +get_ebuild_dir() { + local d a + local want_uses_mpi=${2:-0} + local found=0 + + a=($(split_atom ${1})) + [[ $? -ne 0 ]] && die "Unable to find a unique package or valid version for ${1}." + is_imp_category ${a[0]} && die "It makes no sense to build a new mpi-implementation from a current one." + + if [[ -z ${portage_tree} ]]; then + for d in $(portageq portdir_overlay) $(portageq portdir); do + if [[ ${want_uses_mpi} -ne 0 ]]; then + [[ -f "${d}/${a[0]}/${a[1]}/${a[1]}-${a[2]}.ebuild" ]] \ + && ebuild_uses_mpi ${d}/${a[0]}/${a[1]} ${a[1]}-${a[2]} \ + && found=1 + else + [[ -f "${d}/${a[0]}/${a[1]}/${a[1]}-${a[2]}.ebuild" ]] && found=1 + fi + [[ ${found} -ne 0 ]] && break + done + if [[ ${found} -ne 0 ]]; then + portage_tree=${d} + else + die "Could not find an ebuild for ${a[0]}/${a[1]}-${a[2]}." + fi + fi + + ebuild_dir="${portage_tree}/${a[0]}/${a[1]}" +} + +ebuild_uses_mpi() { + grep 'inherit .*mpi' "${1}/${2##*/}.ebuild" &>/dev/null +} + +setup_portage_vars() { + export PORTDIR_OVERLAY="${MPI_PORTDIR} $(portageq portdir_overlay)" + export PKGDIR="$(portageq envvar PKGDIR)/mpi/${imp}" +} + +link_ebuild_dir() { + ln -snf "${ebuild_dir}" "${MPI_PORTDIR}"/${imp}/${ebuild_dir##*/} \ + || die "Failed to link ${ebuild_dir} to ${MPI_PORTDIR}/${imp}/${ebuild_dir##*/}" +} + +do_emerge() { + ebegin "Emerging $*" + setup_portage_vars + emerge ${emerge_opts} $* || die "emerge failed!" + eend +} + +# We should have only one target here. +create_implementation() { + local mpi_imp_pkg d mpi_imp_pn + + [[ ${#targets[@]} -ne 1 ]] && die "Can only create one implementation at a time." + + # Prevent laziness + [[ ${targets[0]} == ${targets[0]##*/} ]] \ + && targets[0]="sys-cluster/${targets[0]}" + + parse_pkgspecs + get_ebuild_dir ${targets[0]} 1 + mpi_imp_pn=${ebuild_dir##*/} + mpi_imp_pkg=${targets[0]} + handle_etc_portage ${targets[0]} + targets[0]="=${imp}/${targets[0]##*/}" + + # Refuse to break systems. If there is already an implementation + # installed in that directory, we're not going to add another one as + # the eclass doesn't fix one problem just to introduce a bigger one. + for d in $(find ${MPI_PORTDIR}/${imp} -maxdepth 1 -mindepth 1 -type l);do + d=${d##*/} + [[ ${d} == ${mpi_imp_pn} ]] && continue + for i in ${MPI_ALL_IMPS}; do + [[ ${i} == ${d} ]] \ + && die "${imp} already has MPI implementation ${d}, refusing to add ${mpi_imp_pn}" + done + done + + if [[ -d "${MPI_PORTDIR}"/${imp} ]]; then + [[ ${VERBOSE} -ne 0 ]] && ewarn "${imp} has already been created." + else + mkdir -p ${MPI_PORTDIR}/${imp} + link_ebuild_dir + fi + if ! grep "^${imp}$" /etc/portage/categories &>/dev/null; then + echo "${imp}" >> /etc/portage/categories + fi + + +cat << EOF +Creating ${HILITE}${imp}${NORMAL} + Implementation: ${GOOD}${imp}${NORMAL} + MPI Package: ${GOOD}${mpi_imp_pkg}${NORMAL} + Source: ${GOOD}${ebuild_dir}${NORMAL} + Destination: ${GOOD}${MPI_PORTDIR}/${imp}${NORMAL} +EOF + do_emerge ${targets[0]} +} + + +add_packages(){ + local i j deps + + [[ -d "${MPI_PORTDIR}"/${imp} ]] || die "Implementation ${imp} has not been created yet." + [[ ${#targets[@]} -lt 1 ]] && die "You need to specify at least one package" + + parse_pkgspecs + for ((i=0;i<${#targets[@]};i++)); do + get_ebuild_dir ${targets[i]} + if ebuild_uses_mpi ${ebuild_dir} ${targets[i]}; then + link_ebuild_dir + handle_etc_portage ${targets[i]} + targets[i]="=${imp}/${targets[i]##*/}" + else + targets[i]="=${targets[i]}" + fi + + # I don't know about this, but do you have a better idea? + deps="$(emerge --color=n --onlydeps -p --quiet ${targets[i]})" + if [[ $? -ne 0 ]]; then + emerge --onlydeps -p ${targets[i]} + die "Unable to calculate deps for ${targets[i]}" + fi + deps=( $(echo ${deps} | sed -e 's:\[[a-z]* [A-Z] \] :=:g') ) + for ((j=0;j<${#deps[@]};j++)); do + get_ebuild_dir ${deps[j]} + if ebuild_uses_mpi ${deps[i]}; then + link_ebuild_dir + fi + done + done +cat << EOF +Adding packages to ${HILIGHT}${imp}${NORMAL} + Packages: ${GOOD}${targets[@]}${NORMAL} +EOF + do_emerge ${targets[@]} +} + + +delete_implementation() { + local pkgs=( $(ls /var/db/pkg/${imp}/) ) + local ext d i + [[ -d "${MPI_PORTDIR}"/${imp} ]] || die "Implementation ${imp} has not been created yet." + + for (( i=0; i<${#pkgs[@]}; i++)); do + pkgs[i]="=${imp}/${pkgs[i]}" + done + + if ! emerge -C ${emerge_opts/-u/} ${pkgs[@]}; then + die "Failed to unmerge ${pkgs[@]}" + fi + + for ext in "keywords" "use"; do + if [ -d /etc/portage/package.${ext} ]; then + rm /etc/portage/package.${ext}/${imp} &>/dev/null + else + sed -i -e "/${imp}\//d" /etc/portage/package.${ext} + fi + done + sed -i -e "/^${imp}$/d" /etc/portage/categories + + for d in $(ls "${MPI_PORTDIR}"/${imp}/); do + rm "${MPI_PORTDIR}"/${imp}/${d} + done + rmdir "${MPI_PORTDIR}"/${imp} + rmdir /var/db/pkg/${imp} +} + + +[[ ${UID} -ne 0 ]] && die "You must be root." +targets="" +emerge_opts="-u -a -v" +portage_tree="" +action="" +while [[ $# -gt 0 ]]; do + case $1 in + -h|--help) + usage;; + -c|--create) + action="${action}create";; + -a|--add) + action="${action}add";; + -d|--delete) + action="${action}delete" + shift; imp=${1};; + -i|--implementation) + shift; imp=${1};; + -t|--tree) + shift; portage_tree=${1};; + -v|--verbose) + VERBOSE=1;; + -*) + emerge_opts="${emerge_opts} ${1}";; + *) + targets=( $(echo ${targets[@]}) ${1} );; + esac + shift +done + +[[ -z ${action} ]] && usage 1 "No action defined." +[[ -z ${imp} ]] && usage 1 "No implementation defined." +imp_is_valid + +[[ ${action} == *create* ]] && create_implementation +[[ ${action} == *add* ]] && add_packages +[[ ${action} == *delete* ]] && delete_implementation diff --git a/sys-cluster/empi/files/empi-0.2.patch b/sys-cluster/empi/files/empi-0.2.patch new file mode 100644 index 000000000..6076034fd --- /dev/null +++ b/sys-cluster/empi/files/empi-0.2.patch @@ -0,0 +1,110 @@ +diff -urN a/empi b/empi +--- a/empi 2008-03-10 19:52:32.000000000 -0400 ++++ b/empi 2008-03-10 19:53:31.000000000 -0400 +@@ -1,16 +1,8 @@ + #!/bin/bash + + source /etc/init.d/functions.sh +-#[ -f /etc/empi.conf ] && source /etc/empi.conf +-MPI_IMPS="openmpi lam-mpi" +-MPI_ALL_IMPS="mpich mpich2 openmpi lam-mpi" + VERBOSE=0 + +-[[ -z ${MPI_PORTDIR} ]] \ +- && MPI_PORTDIR="$(portageq portdir_overlay)" \ +- && MPI_PORTDIR="${MPI_PORTDIR%% *}" \ +- +-[[ -z ${COMPILER} ]] && COMPILER=gcc + # imp (category) Implementation we're installing for. mpi-* + # targets Packages to run action on. When creating, the implementation to use. + # action create, add, update, remove. +@@ -32,9 +24,9 @@ + ${GOOD}-c, --create${NORMAL} (Re)Initialize setup for implementation. + ${GOOD}-a, --add${NORMAL} pkgspec(s) Add packages using specified implementation. + ${GOOD}-i, --implementation${NORMAL} imp Implementation to use. +- ${GOOD}-l, --list${NORMAL} List installed implementations. + ${GOOD}-t, --tree${NORMAL} path Path to portage tree to use ebuilds from. + ${GOOD}-d, --delete${NORMAL} imp Remove everything related to specified implementation. ++ ${GOOD}-o, --overlaydir${NORMAL} path Directory to use for the empi portage overlay. + + pkgspec is specified by a package string. Without a version, the best_visible is used. + openmpi, sys-cluster/openmpi, =sys-cluster/openmpi-1.2.5 +@@ -150,11 +142,6 @@ + grep 'inherit .*mpi' "${1}/${2##*/}.ebuild" &>/dev/null + } + +-setup_portage_vars() { +- export PORTDIR_OVERLAY="${MPI_PORTDIR} $(portageq portdir_overlay)" +- export PKGDIR="$(portageq envvar PKGDIR)/mpi/${imp}" +-} +- + link_ebuild_dir() { + ln -snf "${ebuild_dir}" "${MPI_PORTDIR}"/${imp}/${ebuild_dir##*/} \ + || die "Failed to link ${ebuild_dir} to ${MPI_PORTDIR}/${imp}/${ebuild_dir##*/}" +@@ -162,7 +149,6 @@ + + do_emerge() { + ebegin "Emerging $*" +- setup_portage_vars + emerge ${emerge_opts} $* || die "emerge failed!" + eend + } +@@ -172,7 +158,11 @@ + local mpi_imp_pkg d mpi_imp_pn + + [[ ${#targets[@]} -ne 1 ]] && die "Can only create one implementation at a time." +- ++ ++ for d in $(eselect mpi list -p); do ++ [ "${d}" == "${imp}" ] && die "${imp} has already been created." ++ done ++ + # Prevent laziness + [[ ${targets[0]} == ${targets[0]##*/} ]] \ + && targets[0]="sys-cluster/${targets[0]}" +@@ -187,7 +177,7 @@ + # Refuse to break systems. If there is already an implementation + # installed in that directory, we're not going to add another one as + # the eclass doesn't fix one problem just to introduce a bigger one. +- for d in $(find ${MPI_PORTDIR}/${imp} -maxdepth 1 -mindepth 1 -type l);do ++ for d in $(find ${MPI_PORTDIR}/${imp} -maxdepth 1 -mindepth 1 -type l 2>/dev/null);do + d=${d##*/} + [[ ${d} == ${mpi_imp_pn} ]] && continue + for i in ${MPI_ALL_IMPS}; do +@@ -197,7 +187,7 @@ + done + + if [[ -d "${MPI_PORTDIR}"/${imp} ]]; then +- [[ ${VERBOSE} -ne 0 ]] && ewarn "${imp} has already been created." ++ [[ ${VERBOSE} -ne 0 ]] && ewarn "Overlay for ${imp} has already been created." + else + mkdir -p ${MPI_PORTDIR}/${imp} + link_ebuild_dir +@@ -307,6 +297,8 @@ + shift; imp=${1};; + -t|--tree) + shift; portage_tree=${1};; ++ -o|--overlaydir) ++ shift; MPI_PORTDIR=${1};; + -v|--verbose) + VERBOSE=1;; + -*) +@@ -317,6 +309,18 @@ + shift + done + ++if [ -z "${MPI_PORTDIR}" ]; then ++ MPI_PORTDIR="$(portageq portdir_overlay)" ++ MPI_PORTDIR="${MPI_PORTDIR%% *}" ++fi ++ ++if [ ! -d "${MPI_PORTDIR}" ]; then ++ mkdir -p "${MPI_PORTDIR}" || die "Failed to mkdir ${MPI_PORTDIR}" ++fi ++ ++export PORTDIR_OVERLAY="${MPI_PORTDIR} $(portageq portdir_overlay)" ++export PKGDIR="$(portageq envvar PKGDIR)/mpi/${imp}" ++ + [[ -z ${action} ]] && usage 1 "No action defined." + [[ -z ${imp} ]] && usage 1 "No implementation defined." + imp_is_valid diff --git a/sys-cluster/hpl/ChangeLog b/sys-cluster/hpl/ChangeLog new file mode 100644 index 000000000..7033a849a --- /dev/null +++ b/sys-cluster/hpl/ChangeLog @@ -0,0 +1,46 @@ +# ChangeLog for sys-cluster/hpl +# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/hpl/ChangeLog,v 1.11 2007/04/26 06:04:44 dberkholz Exp $ + + 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog: + Use mpi.eclass for empi support. Add ~amd64 + + 26 Apr 2007; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml: + Update for cluster herd split to hp-cluster and ha-cluster. + + 09 Feb 2007; Diego Pettenò <flameeyes@gentoo.org> ChangeLog: + Regenerate digest in Manifest2 format. + + 28 Jan 2006; Simon Stelling <blubb@gentoo.org> + -files/Make.gentoo_hpl_cblas_x86.diff.bz2: + remove unneeded files + + 21 Nov 2005; Michael Imhof <tantive@gentoo.org> -hpl-1.0.ebuild, + -hpl-1.0-r1.ebuild: + Cleaned out old ebuilds. + + 17 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog: + Converted to UTF-8, fixed encoding screwups + +*hpl-1.0-r2 (01 Sep 2005) + + 01 Sep 2005; Peter Bienstman <pbienst@gentoo.org> +hpl-1.0-r2.ebuild: + Move to virtual/blas and virtual/lapack. + +*hpl-1.0-r1 (06 Jul 2005) + + 06 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> +hpl-1.0-r1.ebuild: + Update hpl build to work with virtual/mpi including fixing it to compile via + mpicc so it works with lam-mpi. Also include parameters to /usr/share/hpl + and force the user to copy them instead of polluting /usr/bin. + + 28 Dec 2004; Olivier Fisette <ribosome@gentoo.org> hpl-1.0.ebuild: + Dependency update: dev-libs/atlas -> sci-libs/atlas. + + 27 Apr 2004; Aron Griffis <agriffis@gentoo.org> hpl-1.0.ebuild: + Add inherit eutils + +*hpl-1.0 (26 Mar 2004) + + 26 Mar 2004; Michael Imhof <tantive@gentoo.org> hpl-1.0.ebuild: + Initial release. Made with the help of Kristian Jerpetjøn <unsolo@sysrq.no>. diff --git a/sys-cluster/hpl/Manifest b/sys-cluster/hpl/Manifest new file mode 100644 index 000000000..521421514 --- /dev/null +++ b/sys-cluster/hpl/Manifest @@ -0,0 +1,4 @@ +DIST hpl.tgz 523139 RMD160 3a2baecfe746d8ab5b5a9d6e1579a1aa5d249294 SHA1 42ae3b5173b22be41282568effccf46041079c1c SHA256 c0a08079a4c54e0ac32901d68d135fe17fffc3df322c95fbd9b23cb5d400827e +EBUILD hpl-1.0-r3.ebuild 1930 RMD160 ee1f0b3a4f13baeb6c92ca762909f65b343ffff6 SHA1 af28d2fc34b5327b3d9e69216134111e7ac21fff SHA256 8f1c4ca7dd00540ff741fb680fe82c6e2fc6ad444c0370bb4a68064220e10e52 +MISC ChangeLog 1750 RMD160 5b22e29ff7cc0dbfd43a3508b0f37dbdfa6a54c3 SHA1 02f432ba400ec04eff6fbe8b305fb3d35aa7b1bf SHA256 a058874be27eee0c726d4a0dfada6ffd4b6711aab277a6195f5f09a075940d9d +MISC metadata.xml 315 RMD160 12fe02dce4baa2046922f5865314c98555bd4132 SHA1 14bfa132c839c12f26e4ac1106227d2303c69e43 SHA256 d95f6835d819d4bf1bb74ac46c8259d1db23b0cfb8cd49a2a436b601f8953bd5 diff --git a/sys-cluster/hpl/hpl-1.0-r3.ebuild b/sys-cluster/hpl/hpl-1.0-r3.ebuild new file mode 100644 index 000000000..bd0ac0056 --- /dev/null +++ b/sys-cluster/hpl/hpl-1.0-r3.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/hpl/hpl-1.0-r2.ebuild,v 1.1 2005/09/01 11:59:18 pbienst Exp $ + +inherit eutils mpi + +DESCRIPTION="HPL - A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers" +HOMEPAGE="http://www.netlib.org/benchmark/hpl/" +SRC_URI="http://www.netlib.org/benchmark/hpl/hpl.tgz" +LICENSE="HPL" +SLOT="0" +KEYWORDS="~x86 ~amd64" +S="${WORKDIR}/${PN}" + +DEPEND="$(mpi_pkg_deplist) + virtual/blas + virtual/lapack" + +src_unpack() { + local mpicc_path="$(get_eselect_var MPI_CC)" + unpack ${A} + cd ${S} + + cp setup/Make.Linux_PII_FBLAS Make.gentoo_hpl_fblas_x86 + sed -i \ + -e '/^HPL_OPTS\>/s,=,= -DHPL_DETAILED_TIMING -DHPL_COPY_L,' \ + -e '/^ARCH\>/s,= .*,= gentoo_hpl_fblas_x86,' \ + -e '/^MPdir\>/s,= .*,=,' \ + -e '/^MPlib\>/s,= .*,=,' \ + -e "/^LAlib\>/s,= .*,= /usr/$(get_libdir)/libblas.so /usr/$(get_libdir)/liblapack.so," \ + -e "/^LINKER\>/s,= .*,= ${mpicc_path}," \ + -e "/^CC\>/s,= .*,= ${mpicc_path}," \ + Make.gentoo_hpl_fblas_x86 + +} + +src_compile() { + # do NOT use emake here + mpi_make_cmd="make" + mpi_make_args="arch=gentoo_hpl_fblas_x86" + HOME=${WORKDIR} mpi_do_make || die +} + +src_install() { + local d=$(get_mpi_dir) + mpi_dobin bin/gentoo_hpl_fblas_x86/xhpl || die "Failed to install bins" + mpi_dolib.a lib/gentoo_hpl_fblas_x86/libhpl.a || die "Failed to install lib" + mpi_dodoc INSTALL BUGS COPYRIGHT HISTORY README TUNING \ + bin/gentoo_hpl_fblas_x86/HPL.dat + mpi_dohtml -r www/* + mpi_doman man/man3/*.3 +} + +pkg_postinst() { + einfo "Remember to copy $(get_mpi_dir)/usr/share/doc/${PF}/HPL.dat to your working directory first!" + einfo "For mpich, run linpack by executing this in your working directory" + einfo "\"mpirun -np 4 /usr/bin/xhpl\"" + einfo "where -np specifies the number of processes." + einfo "Other methods are needed lam-mpi etc." +} diff --git a/sys-cluster/hpl/metadata.xml b/sys-cluster/hpl/metadata.xml new file mode 100644 index 000000000..8123ac072 --- /dev/null +++ b/sys-cluster/hpl/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>hp-cluster</herd> +<maintainer> + <email>tantive@gentoo.org</email> + <name>Michael Imhof</name> + <description>Release manager, patch manager</description> +</maintainer> +</pkgmetadata> diff --git a/sys-cluster/lam-mpi/ChangeLog b/sys-cluster/lam-mpi/ChangeLog new file mode 100644 index 000000000..22ec4c8e2 --- /dev/null +++ b/sys-cluster/lam-mpi/ChangeLog @@ -0,0 +1,302 @@ +# ChangeLog for sys-cluster/lam-mpi +# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/lam-mpi/ChangeLog,v 1.65 2008/01/31 07:07:18 dberkholz Exp $ + + 29 Feb 2008; Jeff Gardner <je_fro@gentoo.org> Manifest: + fix manifest + + 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog: + Use mpi.eclass for empi support. Fix the docdir fixes. + + 31 Jan 2008; Donnie Berkholz <dberkholz@gentoo.org>; + -lam-mpi-7.0.6.ebuild: + Clean up. + +*lam-mpi-7.1.4 (17 Jan 2008) + + 17 Jan 2008; Justin Bronder <jsbronder@gentoo.org> +lam-mpi-7.1.4.ebuild: + Version bump (Bug #199932). Add romio, examples to IUSE. Depend on Torque as + it's the only pbs imp in the tree. Fix license. Add warning lam-mpi is not + being developed. Fix USE=pbs (Bug #177065) and remove other unneeded boot + modules. + + 02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org> lam-mpi-7.1.2.ebuild: + (QA) RESTRICT clean up. + + 21 May 2007; Jeroen Roovers <jer@gentoo.org> lam-mpi-7.1.2.ebuild: + Stable for HPPA (bug #178510). + + 18 May 2007; Raúl Porcel <armin76@gentoo.org> lam-mpi-7.1.2.ebuild: + ia64 stable + + 27 Apr 2007; Jeroen Roovers <jer@gentoo.org> lam-mpi-7.1.2.ebuild: + Marked ~hppa. + + 26 Apr 2007; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml: + Update for cluster herd split to hp-cluster and ha-cluster. + + 06 Apr 2007; Tobias Scherbaum <dertobi123@gentoo.org> + lam-mpi-7.1.2.ebuild: + ppc stable, bug #157799 + + 31 Mar 2007; Raúl Porcel <armin76@gentoo.org> lam-mpi-7.1.2.ebuild: + Add ~ia64 + + 22 Feb 2007; Markus Ullmann <jokey@gentoo.org> ChangeLog: + Redigest for Manifest2 + + 10 Feb 2007; Steve Dibb <beandog@gentoo.org> lam-mpi-7.1.2.ebuild: + amd64 stable, bug 157799 + + 28 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org> lam-mpi-7.1.2.ebuild: + Stable on sparc wrt #157799 + + 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.1.2.ebuild: + Stop PROVIDEing mpi virtual, we're on a new-style virtual now. + + 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.0.4.ebuild, + lam-mpi-7.0.6.ebuild, lam-mpi-7.1.2.ebuild: + Block all MPI providers. + + 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -files/lam-mpi-7.1.1-shared-romio.patch, -lam-mpi-7.0.4-r1.ebuild, + -lam-mpi-7.1.ebuild, -lam-mpi-7.1.1-r3.ebuild: + Clean up. + + 03 Dec 2006; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.2.ebuild: + Stable on ppc64 + + 26 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.1.2.ebuild: + Stable on x86. + + 26 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/7.1.2-liblam-use-extra-libs.patch, lam-mpi-7.1.2.ebuild: + Fix for -Wl,--as-needed. + + 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + lam-mpi-7.1.1-r3.ebuild, lam-mpi-7.1.2.ebuild: + Look in /usr/$(get_libdir)/pbs/lib instead of /usr/lib/pbs. + + 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; lam-mpi-7.1.2.ebuild: + (#119480) Add USE=xmpi to build support for the external XMPI GUI utility. + + 31 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/7.1.2-lam_prog_f77.m4.patch: + (#141152) Add missing patch. + +*lam-mpi-7.1.2 (20 Jul 2006) + + 20 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +lam-mpi-7.1.2.ebuild: + (#140725) Bump (Eric Thibodeau). (#135168) Add gcc-4 fix. (#136071) rsh + should boot now. + + 03 Oct 2005; Christian Zoffoli <xmerlin@gentoo.org> lam-mpi-7.1.1-r3.ebuild: + fixed bug #106443. + +*lam-mpi-7.1.1-r3 (15 Aug 2005) + + 15 Aug 2005; Danny van Dyk <kugelfang@gentoo.org> + files/lam-mpi-7.1.1-shared-romio.patch, -lam-mpi-7.1.1.ebuild, + -lam-mpi-7.1.1-r1.ebuild, -lam-mpi-7.1.1-r2.ebuild, + +lam-mpi-7.1.1-r3.ebuild: + Fixed BUG #88110 (finally). Removed obsolete versions of 7.1.1. + + 03 Aug 2005; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.1.1-r2.ebuild: + Add ~sparc keyword. Builds without incident (with ssh interface) + and seems to be fine. + + 12 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> + lam-mpi-7.1.1-r2.ebuild: + Move where fortran_pkg_setup runs, as it is not needed for merging a binary + package in pkg_setup. + + 07 Jul 2005; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.1-r2.ebuild: + added ~ppc64 + + 06 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> + lam-mpi-7.1.1-r2.ebuild: + Update ebuild to actually use functionality from fortran.eclass. + +*lam-mpi-7.1.1-r2 (05 Jul 2005) + + 05 Jul 2005; Robin H. Johnson <robbat2@gentoo.org> + +lam-mpi-7.1.1-r2.ebuild: + Implement virtual/mpi. Bug #96537: examples. Bug #96543: documentation + location. Bug #97417: Fix fortran support. + +*lam-mpi-7.1.1-r1 (06 Jul 2005) + + 06 Jul 2005; Danny van Dyk <kugelfang@gentoo.org> lam-mpi-7.1.1-r1.ebuild: + Bumped to circumvent my broken romio patch. Sorry :-/ + + 24 May 2005; Donnie Berkholz <spyderous@gentoo.org>; + files/lam-mpi-7.1.1-shared-romio.patch: + (#92832) Fix misformatted patch. + + 18 May 2005; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.1.ebuild: + Stable on ppc64 + + 15 May 2005; Danny van Dyk <kugelfang@gentoo.org> lam-mpi-7.1.1.ebuild: + Marked stable on amd64. + + 15 May 2005; Danny van Dyk <kugelfang@gentoo.org> + +files/lam-mpi-7.1.1-shared-romio.patch, lam-mpi-7.1.1.ebuild: + Fixed BUG #88110. liblammpio will now be built as static and shared library. + + 06 May 2005; David Holm <dholm@gentoo.org> lam-mpi-7.1.1.ebuild: + Readded to ~ppc. Please don't remove it without filing a proper bug report. + + 09 Apr 2005; Markus Rothe <corsair@gentoo.org> lam-mpi-7.1.1.ebuild: + Added ~ppc64 to KEYWORDS + +*lam-mpi-7.1.1 (21 Feb 2005) + + 21 Feb 2005; Donnie Berkholz <spyderous@gentoo.org>; + +lam-mpi-7.1.1.ebuild: + Version bump. (#66291) Build Fortran stuff. (#62561) Check for Fortran + compiler. + + 07 Feb 2005; Jeremy Huddleston <eradicator@gentoo.org> lam-mpi-7.1.ebuild: + Adding ~amd64 as it was mistakenly removed. + + 05 Oct 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.1.ebuild: + Add ~sparc keyword. (Runs lamtests-7.1.1 (configured 2x3), pyMPI (2x2), + hardened, with USE='crypt' (=ssh).) + + 04 Oct 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.0.6.ebuild: + Stable for sparc. + + 23 Sep 2004; Donnie Berkholz <spyderous@gentoo.org>; lam-mpi-7.0.6.ebuild: + x86. + +*lam-mpi-7.1 (23 Sep 2004) + + 23 Sep 2004; Donnie Berkholz <spyderous@gentoo.org>; +lam-mpi-7.1.ebuild: + Bump. See HISTORY in source tarball for changes. + + 19 Sep 2004; Michael Imhof <tantive@gentoo.org> lam-mpi-7.0.4-r1.ebuild: + Added local use flag for f77. + + 19 Sep 2004; Michael Imhof <tantive@gentoo.org> -lam-mpi-6.5.6-r1.ebuild, + -lam-mpi-6.5.9-r1.ebuild, -lam-mpi-7.0.2.ebuild, -lam-mpi-7.0.3.ebuild: + Cleaned out old ebuilds. + + 02 Sep 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.0.6.ebuild: + Add ~sparc keyword. Builds for sparc and runs lamtests-7.0.6 in a cluster + of 2 smp systems (2xSMP(2)), with USE=crypt (ssh). + +*lam-mpi-7.0.4-r1 (13 Jul 2004) + + 13 Jul 2004; Michael Imhof <tantive@gentoo.org> +lam-mpi-7.0.4-r1.ebuild: + Fixed the ebuild. Added more config options. Closes #55046. + +*lam-mpi-7.0.6 (13 Jul 2004) + + 13 Jul 2004; Michael Imhof <tantive@gentoo.org> +lam-mpi-7.0.6.ebuild: + Version bumped. Closes #55047. + + 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> + lam-mpi-6.5.6-r1.ebuild, lam-mpi-6.5.9-r1.ebuild, lam-mpi-7.0.2.ebuild, + lam-mpi-7.0.3.ebuild, lam-mpi-7.0.4.ebuild: + virtual/glibc -> virtual/libc + + 15 Jun 2004; Michael Sterrett <mr_bones_@gentoo.org> + lam-mpi-6.5.6-r1.ebuild, lam-mpi-6.5.9-r1.ebuild, lam-mpi-7.0.2.ebuild, + lam-mpi-7.0.3.ebuild, lam-mpi-7.0.4.ebuild: + PROVIDE is for virtuals + + 24 Apr 2004; Tom Gall <tgall@gentoo.org> lam-mpi-7.0.4.ebuild: + Marked stable for ppc64 + + 16 Apr 2004; Ferris McCormick <fmccor@gentoo.org> lam-mpi-7.0.4.ebuild: + Mark stable for sparc + + 02 Apr 2004; Donnie Berkholz <spyderous@gentoo.org>; lam-mpi-7.0.4.ebuild: + Move mpich from DEPEND to RDEPEND. + + 24 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org> + lam-mpi-6.5.9-r1.ebuild: + don't use deprecated ? : use syntax + + 04 Mar 2004; Patrick Kursawe <phosphan@gentoo.org> lam-mpi-7.0.4.ebuild: + Added ~ppc and ~sparc since older versions were ok, bumped others to stable + +*lam-mpi-7.0.4 (04 Mar 2004) + + 04 Mar 2004; Michael Imhof <tantive@gentoo.org> lam-mpi-7.0.4.ebuild: + Version bumped. + + 17 Feb 2004; Aron Griffis <agriffis@gentoo.org> lam-mpi-7.0.3.ebuild: + add ~alpha + +*lam-mpi-6.5.6-r1 (07 Jan 2004) + + 07 Jan 2004; Jason Wever <weeve@gentoo.org> lam-mpi-6.5.6-r1.ebuild: + Added 6.5.6-r1 back into the repository as it was the last stable version for + sparc and broke dependencies by being removed. + +*lam-mpi-7.0.3 (07 Jan 2004) + + 07 Jan 2004; Olivier Crete <tester@gentoo.org> lam-mpi-7.0.3.ebuild: + Version bump as reported by JFMuggs on irc + + 14 Nov 2003; Brad House <brad_mssw@gentoo.org> lam-mpi-7.0.2.ebuild: + add ~amd64 flag + +*lam-mpi-7.0.2 (02 Nov 2003) + + 02 Nov 2003; Donnie Berkholz <spyderous@gentoo.org>; lam-mpi-7.0.2.ebuild, + metadata.xml: + Bump to close bug #31288. Added metadata.xml for cluster herd. + + 07 Jul 2003; George Shapovalov <george@gentoo.org> : + moved from dev-libs into sys-cluster + +*lam-mpi-6.5.9-r1 (03 Jun 2003) + + 03 Jun 2003; Michael Imhof <imhofml@gentoo.org> lam-mpi-6.5.9-r1.ebuild, files/digest-lam-mpi-6.5.9-r1 : + corrected ebuild submitted by Marc St-Pierre <marc@cyberlogic.ca> + +*lam-mpi-6.5.7.ebuild (23 Mar 2003) + + 23 Mar 2003; George Shapovalov <george@gentoo.org> lam-mpi-6.5.9.ebuild, files/digest-lam-mpi-6.5.9 : + new version + + 20 Jan 2003; Jon Nall <nall@gentoo.org> lam-mpi-6.5.7.ebuild : + added ~ppc + + 06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords + +*lam-mpi-6.5.7.ebuild (08 Nov 2002) + + 08 Nov 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.7.ebuild, files/digest-lam-mpi-6.5.7 : + new version + +*lam-mpi-6.5.6-r1.ebuild (21 Oct 2002) + + 21 Oct 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.6-r1.ebuild, files/digest-lam-mpi-6.5.6-r1 : + upped the revision number, because Chad persuaded me, that the previous fix (by 18 Oct) was + important enugh to forse a rebuild. + +*lam-mpi-6.5.6.ebuild (29 Jul 2002) + + 18 Oct 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.6.ebuild : + fix to make mpi++.h a local symlink (seems to happen with newver binutils?), + see #9236 for detail. + Thanks Chad Schmutzer for report. + + 29 Jul 2002; George Shapovalov <george@gentoo.org> lam-mpi-6.5.6.ebuild : + + Initial release (and rework of submitted ebuild) + + form the web site: + LAM (Local Area Multicomputer) is an MPI programming environment and development + system for heterogeneous computers on a network. With LAM, a dedicated cluster + or an existing network computing infrastructure can act as one parallel + computer solving one problem. + LAM features extensive debugging support in the application development cycle + and peak performance for production applications. LAM features a full + implementation of the MPI communication standard. + + ebuild submitted by Tibor Rudas <tibi@mdy.univie.ac.at> diff --git a/sys-cluster/lam-mpi/Manifest b/sys-cluster/lam-mpi/Manifest new file mode 100644 index 000000000..b5373b6c2 --- /dev/null +++ b/sys-cluster/lam-mpi/Manifest @@ -0,0 +1,8 @@ +AUX 7.1.2-lam_prog_f77.m4.patch 529 RMD160 1693107a9e2fa7fbef0e6b59f082ab8082a61522 SHA1 263b63c1ca7a32621338e54bcf98cee8e4345eb6 SHA256 5164b1f5d6abffc93f1ec113ca1711e34938246d9d3f43318375ecc90201bf9b +AUX 7.1.2-liblam-use-extra-libs.patch 490 RMD160 f52c0c3490a5d7dd9fa3993032c64c5fd7ef4295 SHA1 dad163d483a8a35cf4cb3a5cb7c572e7f21fabf8 SHA256 580a84ef0364d9ea9bf204024906d18b7b00338e48cfafdc04f2d82d9c4b6870 +AUX 7.1.4-as-needed.patch 3702 RMD160 ba3dd579d482d67ec47721a764ebe5cf9c12de6f SHA1 635660a50dcd4bb176fd62a234895383e37ebcb4 SHA256 8e2792244742180ca5f9e829c16597ad9a85e955f8fd512a81515c304ed4e2cf +AUX eselect.mpi.lam-mpi 201 RMD160 bd458925228222b1109f6d8902132348c6e32571 SHA1 9b36f2b9ea10d578d183f3388fd0e149957f8bc9 SHA256 42aeba404585d0da00948029735239fe3fab30549f0ec9f99ae07ec0b73d3319 +DIST lam-7.1.4.tar.bz2 7865813 RMD160 6c9c6338391472d4cd2572c409cb92360e7fd799 SHA1 ce8a983004f31d5960d34efe3ed9ac489e9dfc9d SHA256 d66c205f57d9ffc38dbfb81faef8b586ef2b9e08853034c0472ef4ae45803d2e +EBUILD lam-mpi-7.1.4-r1.ebuild 3542 RMD160 bbf24f2d3ece58be628644c57f66608adec4e5f5 SHA1 b4828c2018f1a34bb68481fef6c5a6c5bc39ef05 SHA256 87d31157927a5c62effe68bf7be95630e9a6ab2e18a559ebe0c481467ed1091d +MISC ChangeLog 10977 RMD160 eadf368276a0ed6d576ce2080077758cfa3e987b SHA1 b705af310367ef6392fba64e5dd91aa4f4c08df0 SHA256 2dd08fc6ef549ff67a48f1fe892e5737e6cdf07a507f01f411063ea738afcbda +MISC metadata.xml 163 RMD160 ea1530cd45b9e04e8693261b9a94b5988e4b09a1 SHA1 443b7a3d8fb76c8d20647b165032ad358bfa3b6a SHA256 5a03bf3074b07158dffe793af69f7b0cd1e5c785537574713f9a7978032363a3 diff --git a/sys-cluster/lam-mpi/files/7.1.2-lam_prog_f77.m4.patch b/sys-cluster/lam-mpi/files/7.1.2-lam_prog_f77.m4.patch new file mode 100644 index 000000000..79969846a --- /dev/null +++ b/sys-cluster/lam-mpi/files/7.1.2-lam_prog_f77.m4.patch @@ -0,0 +1,11 @@ +--- lam-7.1.2.orig/config/lam_prog_f77.m4 2006-07-19 22:43:12.000000000 -0700 ++++ lam-7.1.2/config/lam_prog_f77.m4 2006-07-19 22:43:18.000000000 -0700 +@@ -58,7 +58,7 @@ + + # If the user did not specify one, look for all the common names + +- AC_CHECK_PROGS(F77, [g77 f77 fort77 f90], no) ++ AC_CHECK_PROGS(F77, [gfortran g77 f77 fort77 f90], no) + if test -z "$F77" -o "$F77" = "no"; then + AC_MSG_WARN([*** Could not find FORTRAN compiler. Either use]) + AC_MSG_WARN([*** --with-fc to specify the FORTRAN compiler, or]) diff --git a/sys-cluster/lam-mpi/files/7.1.2-liblam-use-extra-libs.patch b/sys-cluster/lam-mpi/files/7.1.2-liblam-use-extra-libs.patch new file mode 100644 index 000000000..9b4b722ee --- /dev/null +++ b/sys-cluster/lam-mpi/files/7.1.2-liblam-use-extra-libs.patch @@ -0,0 +1,10 @@ +--- lam-7.1.2.orig/share/liblam/Makefile.am 2006-09-25 22:52:17.000000000 -0700 ++++ lam-7.1.2/share/liblam/Makefile.am 2006-09-25 22:52:04.000000000 -0700 +@@ -35,5 +35,6 @@ + $(top_builddir)/share/ssi/libssi_lam.la \ + $(top_builddir)/share/threads/liblamthreads.la \ + $(top_builddir)/share/trillium/liblamtrillium.la \ +- $(top_builddir)/share/tstdio/liblamtstdio.la ++ $(top_builddir)/share/tstdio/liblamtstdio.la \ ++ $(LIBLAM_EXTRA_LIBS) + liblam_la_LDFLAGS = $(EXTRA_LDFLAGS) diff --git a/sys-cluster/lam-mpi/files/7.1.4-as-needed.patch b/sys-cluster/lam-mpi/files/7.1.4-as-needed.patch new file mode 100644 index 000000000..6050f1a7b --- /dev/null +++ b/sys-cluster/lam-mpi/files/7.1.4-as-needed.patch @@ -0,0 +1,100 @@ +diff -urN lam-7.1.4/configure.in lam-7.1.4-patched/configure.in +--- lam-7.1.4/configure.in 2006-06-24 16:42:47.000000000 -0400 ++++ lam-7.1.4-patched/configure.in 2008-03-11 00:03:26.000000000 -0400 +@@ -2482,6 +2482,7 @@ + + share/libmpi/Makefile + share/liblam/Makefile ++ share/liblamf77mpi/Makefile + + share/dynamic-ssi/Makefile + share/dynamic-ssi/boot/Makefile +diff -urN lam-7.1.4/share/liblamf77mpi/Makefile.am lam-7.1.4-patched/share/liblamf77mpi/Makefile.am +--- lam-7.1.4/share/liblamf77mpi/Makefile.am 1969-12-31 19:00:00.000000000 -0500 ++++ lam-7.1.4-patched/share/liblamf77mpi/Makefile.am 2008-03-11 00:37:26.000000000 -0400 +@@ -0,0 +1,32 @@ ++# -*- makefile -*- ++# ++# Copyright (c) 2001-2003 The Trustees of Indiana University. ++# All rights reserved. ++# Copyright (c) 1998-2001 University of Notre Dame. ++# All rights reserved. ++# Copyright (c) 1994-1998 The Ohio State University. ++# All rights reserved. ++# ++# This file is part of the LAM/MPI software package. For license ++# information, see the LICENSE file in the top level directory of the ++# LAM/MPI source distribution. ++# ++# $Id: Makefile.am,v 1.1 2003/11/15 14:09:55 jsquyres Exp $ ++# ++ ++include $(top_srcdir)/config/Makefile.options ++ ++if WANT_FORTRAN ++fortran_lib = liblamf77mpi.la ++else ++fortran_lib = ++endif ++ ++lib_LTLIBRARIES = $(fortran_lib) ++ ++liblamf77mpi_la_SOURCES = ++liblamf77mpi_la_LIBADD = \ ++ $(top_builddir)/share/libmpi/libmpi.la \ ++ $(top_builddir)/share/liblam/liblam.la \ ++ $(top_builddir)/share/mpi/f77/liblamf77mpi.la ++liblamf77mpi_la_LDFLAGS = $(EXTRA_LDFLAGS) +diff -urN lam-7.1.4/share/libmpi/Makefile.am lam-7.1.4-patched/share/libmpi/Makefile.am +--- lam-7.1.4/share/libmpi/Makefile.am 2006-06-24 16:42:43.000000000 -0400 ++++ lam-7.1.4-patched/share/libmpi/Makefile.am 2008-03-11 00:12:32.000000000 -0400 +@@ -42,5 +42,6 @@ + $(top_builddir)/share/mpi/libmpiextra.la \ + $(top_builddir)/share/ssi/libssi_mpi.la \ + $(top_builddir)/share/memory/libmemory.la \ ++ $(top_builddir)/share/liblam/liblam.la \ + $(impi_lib) $(pmpi_lib) + libmpi_la_LDFLAGS = $(EXTRA_LDFLAGS) +diff -urN lam-7.1.4/share/Makefile.am lam-7.1.4-patched/share/Makefile.am +--- lam-7.1.4/share/Makefile.am 2006-06-24 16:42:43.000000000 -0400 ++++ lam-7.1.4-patched/share/Makefile.am 2008-03-10 23:32:04.000000000 -0400 +@@ -24,4 +24,4 @@ + SUBDIRS = include args boot etc freq kreq impi memory mpi \ + $(LIBLTDL_SUBDIR) nreq pmpi rreq ssi \ + threads $(TOTALVIEW_DLL_DIR) trillium tstdio \ +- liblam libmpi dynamic-ssi ++ liblam libmpi liblamf77mpi dynamic-ssi +diff -urN lam-7.1.4/share/mpi/f77/Makefile.am lam-7.1.4-patched/share/mpi/f77/Makefile.am +--- lam-7.1.4/share/mpi/f77/Makefile.am 2006-06-24 16:42:35.000000000 -0400 ++++ lam-7.1.4-patched/share/mpi/f77/Makefile.am 2008-03-10 23:41:30.000000000 -0400 +@@ -16,6 +16,8 @@ + + include $(top_srcdir)/config/Makefile.options + ++noinst_LTLIBRARIES = liblamf77mpi.la ++ + # This kinda sucks. The "ar" command in IRIX 6.5 has a upper limit + # on the total number of characters in its arguments. If we include + # all these fortran files in making libmpi.a, with all the +@@ -34,12 +36,6 @@ + # no extra subdirectories, so it doesn't run into the same character + # limit with ar. Ugh. + +-if WANT_FORTRAN +-fortran_lib = liblamf77mpi.la +-else +-fortran_lib = +-endif +- + + # Files with stubs of MPI functions that LAM has not yet implemented. + # These are here because the default action is to *not* compile them +@@ -61,8 +57,6 @@ + mpi_stub_sources = + endif + +- +-lib_LTLIBRARIES = $(fortran_lib) + liblamf77mpi_la_SOURCES = \ + $(mpi_stub_sources) \ + abort_f.c \ diff --git a/sys-cluster/lam-mpi/files/eselect.mpi.lam-mpi b/sys-cluster/lam-mpi/files/eselect.mpi.lam-mpi new file mode 100644 index 000000000..848fc0daf --- /dev/null +++ b/sys-cluster/lam-mpi/files/eselect.mpi.lam-mpi @@ -0,0 +1,7 @@ +MPI_CC=@ROOT@/usr/bin/mpicc +MPI_CXX=@ROOT@/usr/bin/mpic++ +MPI_F77=@ROOT@/usr/bin/mpif77 +MPI_BUILT_WITH=@BUILT_WITH@ +PATH=@ROOT@/usr/bin +MANPATH=@ROOT@/usr/share/man +LD_LIBRARY_PATH=@ROOT@/usr/@LIBDIR@ diff --git a/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild b/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild new file mode 100644 index 000000000..ce6db4ca9 --- /dev/null +++ b/sys-cluster/lam-mpi/lam-mpi-7.1.4-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils fortran flag-o-matic multilib portability mpi + +IUSE="crypt pbs fortran xmpi romio examples" + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="the LAM MPI parallel computing environment" +SRC_URI="http://www.lam-mpi.org/download/files/${MY_P}.tar.bz2" +HOMEPAGE="http://www.lam-mpi.org" +DEPEND="pbs? ( sys-cluster/torque ) + $(mpi_imp_deplist)" +RDEPEND="${DEPEND} + crypt? ( net-misc/openssh ) + !crypt? ( net-misc/netkit-rsh )" + +SLOT="6" +KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +LICENSE="lam-mpi" + +src_unpack() { + local docdir=${D}$(get_mpi_dir)/usr/share/doc/${PF} + unpack ${A} + + cd "${S}" + sed -i \ + "s|docdir=\"\$datadir/lam/doc\"|docdir=\"${docdir}\"|" \ + romio/util/romioinstall.in + + sed -i "s|^\(docdir.*= \)\$(datadir)/lam/doc|\1\"${docdir#${D}}\"|" \ + share/memory/{ptmalloc,ptmalloc2,darwin7}/Makefile.am + + epatch "${FILESDIR}"/7.1.2-lam_prog_f77.m4.patch + epatch "${FILESDIR}"/7.1.2-liblam-use-extra-libs.patch + epatch "${FILESDIR}"/7.1.4-as-needed.patch + # Isn't needed yet, but is probably the right place to look. + # sed -i 's:^\(WRAPPER_EXTRA_LDFLAGS=.*\)":\1 -Wl,--no-as-needed":' configure.in + eautoreconf +} + +pkg_setup() { + MPI_ESELECT_FILE="eselect.mpi.lam-mpi" + einfo + elog "LAM/MPI is now in a maintenance mode. Bug fixes and critical patches" + elog "are still being applied, but little real new work is happening in" + elog "LAM/MPI. This is a direct result of the LAM/MPI Team spending the" + elog "vast majority of their time working on our next-generation MPI" + elog "implementation, http://www.openmpi.org" + elog " ---From the lam-mpi hompage. Please consider upgrading." + einfo + + # fortran_pkg_setup should -not- be run here. + mpi_pkg_setup +} + +src_compile() { + if use crypt; then + mpi_conf_args="${mpi_conf_args} --with-rsh=ssh" + else + mpi_conf_args="${mpi_conf_args} --with-rsh=rsh" + fi + + if ! use pbs; then + # See: http://www.lam-mpi.org/MailArchives/lam/2006/05/12445.php + rm -rf "${S}"/share/ssi/boot/tm + elif has_version "<=sys-cluster/torque-2.1.6"; then + # Newer versions dropped the conflicting names and can + # be installed to nice directories. + append-ldflags -L/usr/$(get_libdir)/pbs/lib + fi + + # Following the above post to the mailing list, we'll get + # rid of bproc, globus and slurm as well, none of which are + # in the current tree. + rm -rf "${S}"/share/ssi/boot/{bproc,globus,slurm} + + if use fortran; then + fortran_pkg_setup + # this is NOT in pkg_setup as it is NOT needed for RDEPEND right away it + # can be installed after merging from binary, and still have things fine + mpi_conf_args="${mpi_conf_args} --with-fc=${FORTRANC}" + else + mpi_conf_args="${mpi_conf_args} --without-fc" + fi + + mpi_conf_args=" + $(use_with xmpi trillium) + --enable-shared + --with-threads=posix + $(use_with romio) + ${mpi_conf_args}" + mpi_src_compile +} + +src_install () { + mpi_src_install + + # There are a bunch more tex docs we could make and install too, + # but they are replicated in the pdfs! + mpi_dodoc README HISTORY VERSION + mpi_dodoc "${S}"/doc/{user,install}.pdf + + # It's your fault if you install lam-mpi multiple times and keep this + # flag turned on, there's -a lot- of examples. + if use examples; then + cd "${S}"/examples + mpi_dodir /usr/share/${P}/examples + find -name README -or -iregex '.*\.[chf][c]?$' >"${T}"/testlist + while read p; do + treecopy $p "${D}"/$(get_mpi_dir)/usr/share/${P}/examples ; + done < "${T}"/testlist + fi +} diff --git a/sys-cluster/lam-mpi/metadata.xml b/sys-cluster/lam-mpi/metadata.xml new file mode 100644 index 000000000..8f0aa7fc4 --- /dev/null +++ b/sys-cluster/lam-mpi/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>hp-cluster</herd> +</pkgmetadata> diff --git a/sys-cluster/libehca/ChangeLog b/sys-cluster/libehca/ChangeLog new file mode 100644 index 000000000..e287278ad --- /dev/null +++ b/sys-cluster/libehca/ChangeLog @@ -0,0 +1,9 @@ +# ChangeLog for sys-cluster/libehca +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libehca-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/libehca/Manifest b/sys-cluster/libehca/Manifest new file mode 100644 index 000000000..41b58f85d --- /dev/null +++ b/sys-cluster/libehca/Manifest @@ -0,0 +1,4 @@ +DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a +EBUILD libehca-1.1.ebuild 725 RMD160 b1e2552a954b16991f8afa40861238559c2b173b SHA1 419db972d441e5967fb175ec3b91973bbc940441 SHA256 2fab921ce8aee966d21c5f850d027e82dbdaaef69b2c8b8656fcbc7e0ab9ebc1 +MISC ChangeLog 229 RMD160 173e2eff9d2a5ba2fd18f0c2aecefe9b419807cb SHA1 053146edc98cc780a118e4e76fbdff073988f0d7 SHA256 b2fbf14c1bf32db3c57560f8d7f0fca6911eb7b8ac42b67ccb6781dddc147e43 +MISC metadata.xml 268 RMD160 b9ad624fa453134e7070265231890b5834717483 SHA1 093332fd523364fdfed959f2ed828b59e92db471 SHA256 375ee8b5598c7090139d3c272fb75276ee2f9cecd2c87e08b667914de8f69693 diff --git a/sys-cluster/libehca/libehca-1.1.ebuild b/sys-cluster/libehca/libehca-1.1.ebuild new file mode 100644 index 000000000..ace63ff51 --- /dev/null +++ b/sys-cluster/libehca/libehca-1.1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB - IBM eServer eHCA Infiniband device driver for Linux on +POWER" +HOMEPAGE="http://www.openfabrics.org/" +#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz" +SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz" +S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}" + +IUSE="" + +DEPEND="=sys-cluster/libibverbs-${PV}" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc COPYING +} + diff --git a/sys-cluster/libehca/metadata.xml b/sys-cluster/libehca/metadata.xml new file mode 100644 index 000000000..3276c6fdb --- /dev/null +++ b/sys-cluster/libehca/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB - IBM eServer eHCA Infiniband device driver for Linux on POWER. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libibcm/ChangeLog b/sys-cluster/libibcm/ChangeLog new file mode 100644 index 000000000..4b8f29cb2 --- /dev/null +++ b/sys-cluster/libibcm/ChangeLog @@ -0,0 +1,16 @@ +# ChangeLog for sys-cluster/libibcm +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libibcm-1.0.1 (27 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + converted to standalone package + -libibcm-1.1.ebuild: removed + +libibcm-1.0.1.ebuild: added + +*libibcm-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/libibcm/Manifest b/sys-cluster/libibcm/Manifest new file mode 100644 index 000000000..474b46f22 --- /dev/null +++ b/sys-cluster/libibcm/Manifest @@ -0,0 +1,4 @@ +DIST libibcm-1.0.1.tar.gz 318991 RMD160 c263fa1cdb9b2ea7dced2d2d9bdf5181c83479e3 SHA1 ba613a74de6f6c49aeb937aec31f4eb022e9b19e SHA256 a8b7f7bbc43dafb39bc00f1e1e1b333ae34b88ec568e9d91746cebcd86518ffd +EBUILD libibcm-1.0.1.ebuild 578 RMD160 3f843f78be00d1f09bcb52263e4f8b4929a04aea SHA1 a1cbd0d10fb82562b4fcdb078bf2878119071230 SHA256 9768c12e4cc1c5636e913868bcba1f132dde81f48e1e82443504fb6b9233909b +MISC ChangeLog 419 RMD160 09fe652bda5f5c5d4714a2dadd2251c8508a60bc SHA1 d7782089527ddab7e1de34e9dd4430b5b978af1a SHA256 e03799619c4ba6b7adb4672bcbf8fef7ca1ed6a041607b335511a95e6863af51 +MISC metadata.xml 225 RMD160 b67ae9b3dfb94a62234aa189d57ce40e5c46b0b0 SHA1 96710bdc512030840adf0958a5409afb6d9a8474 SHA256 f967801055d7bdf11aa1a121654a256cd74c3c5699302138a9120963b3960dac diff --git a/sys-cluster/libibcm/libibcm-1.0.1.ebuild b/sys-cluster/libibcm/libibcm-1.0.1.ebuild new file mode 100644 index 000000000..9b61d7967 --- /dev/null +++ b/sys-cluster/libibcm/libibcm-1.0.1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB Userspace CM library" +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/rdmacm/${P}.tar.gz" + +IUSE="" + +RDEPEND="sys-cluster/libibverbs" +DEPEND="${RDEPEND}" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS ChangeLog +} + diff --git a/sys-cluster/libibcm/metadata.xml b/sys-cluster/libibcm/metadata.xml new file mode 100644 index 000000000..d6f4b8601 --- /dev/null +++ b/sys-cluster/libibcm/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB Userspace CM library +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libibcommon/ChangeLog b/sys-cluster/libibcommon/ChangeLog new file mode 100644 index 000000000..1d6dbc38a --- /dev/null +++ b/sys-cluster/libibcommon/ChangeLog @@ -0,0 +1,16 @@ +# ChangeLog for sys-cluster/libibcommon +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libibcommon-1.0.5 (27 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + converted to standalone package + -libibcommon-1.1.ebuild: removed + +libibcommon-1.0.5.ebuild: added + +*libibcommon-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/libibcommon/Manifest b/sys-cluster/libibcommon/Manifest new file mode 100644 index 000000000..b91d8c155 --- /dev/null +++ b/sys-cluster/libibcommon/Manifest @@ -0,0 +1,4 @@ +DIST libibcommon-1.0.5.tar.gz 326920 RMD160 3601e2f90de744f59662ce58b8b88537dd24358b SHA1 a9b001701ff8dd3fb1f8c3bcf1377dc777860e2d SHA256 984e3c31551081742e2c188840e2d9d69b25e9dc3580dab300887d1919456d5a +EBUILD libibcommon-1.0.5.ebuild 627 RMD160 c3f9c18e567393a5facd31f4568d1b62aa0314e1 SHA1 9fddfcf38578621db786c4927d50500cae3600cc SHA256 576a2e0fe9322202df838fc0c16c7e4c9b4ea5f057c83cdb370c20d8d5ac6861 +MISC ChangeLog 439 RMD160 4fa39424513481cb912c622fc30f6a92e460c484 SHA1 e417eea2608ea7739036cf0285cdffaa41bbfa16 SHA256 4cc745442519f1faf035782f6b5e581dcd173542ab06b5260838c1ab6a2315ba +MISC metadata.xml 294 RMD160 77f1de3facb664ac1013b3111ecab082fbe47d9a SHA1 54c68a26e5636f2a476a5b9307466d3736898aa7 SHA256 5bb76f6e785f99b3a0ef6683660008d37d49fd13b64742c7945565d14b3ea23e diff --git a/sys-cluster/libibcommon/libibcommon-1.0.5.ebuild b/sys-cluster/libibcommon/libibcommon-1.0.5.ebuild new file mode 100644 index 000000000..c98bcf016 --- /dev/null +++ b/sys-cluster/libibcommon/libibcommon-1.0.5.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB library that provides common utility functions for the IB diagnostic and management tools" +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/management/${P}.tar.gz" + +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND} + !sys-cluster/openib-userspace" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" +} + diff --git a/sys-cluster/libibcommon/metadata.xml b/sys-cluster/libibcommon/metadata.xml new file mode 100644 index 000000000..e53757b72 --- /dev/null +++ b/sys-cluster/libibcommon/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB library that provides common utility functions for the IB diagnostic and +management tools +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libibmad/ChangeLog b/sys-cluster/libibmad/ChangeLog new file mode 100644 index 000000000..89b08bbba --- /dev/null +++ b/sys-cluster/libibmad/ChangeLog @@ -0,0 +1,16 @@ +# ChangeLog for sys-cluster/libibmad +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libibmad-1.1.2 (27 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + converted to standalone package + -libibmad-1.1.ebuild: removed + +libibmad-1.1.2.ebuild: added + +*libibmad-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/libibmad/Manifest b/sys-cluster/libibmad/Manifest new file mode 100644 index 000000000..efd28d4b9 --- /dev/null +++ b/sys-cluster/libibmad/Manifest @@ -0,0 +1,4 @@ +DIST libibmad-1.1.2.tar.gz 352898 RMD160 039e9d83407a2222814501ba5e55aaebf67875bd SHA1 3832b38b76872abdf1c618263674e8c6754cdb3a SHA256 f942436a8c4d81039f4fb5a04c1b23cbe04e8e4c48702aa16ca3d97c746064e7 +EBUILD libibmad-1.1.2.ebuild 711 RMD160 68131c48101e0c732483d765fbcf9deea8c6438b SHA1 0e41332f38a6958ca81bbd29629ddcafb17097ee SHA256 7d0fd816efdb92f5ab529dec4de378e3ad2e4596b78424c1ba544ff2ab83529b +MISC ChangeLog 424 RMD160 9e11020cfc613987e062ea999aea7db29c56c7f9 SHA1 ad3b37826fe6543d3a191df9760f9da7c72ef02b SHA256 a1a167a306c17281add94fc9d53fa49e2ab93b816e07900939b67f6dbafce7f7 +MISC metadata.xml 361 RMD160 c9e07faec64931dfdbcae2c0e0736d351da10073 SHA1 bb009860a1a59bd35a7558a41be11d6983f45978 SHA256 4a424c126404f43935a79b2c4097c40a8e5f9d8b8edb39ecd6e4b07c37a61451 diff --git a/sys-cluster/libibmad/libibmad-1.1.2.ebuild b/sys-cluster/libibmad/libibmad-1.1.2.ebuild new file mode 100644 index 000000000..637334cff --- /dev/null +++ b/sys-cluster/libibmad/libibmad-1.1.2.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB library that provides low layer IB functions for use by the IB diagnostic and management programs. These include MAD, SA, SMP, and other basic IB functions." + +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/management/${P}.tar.gz" + +IUSE="" + +RDEPEND="sys-cluster/libibcommon + sys-cluster/libibumad" +DEPEND="${RDEPEND}" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" +} + diff --git a/sys-cluster/libibmad/metadata.xml b/sys-cluster/libibmad/metadata.xml new file mode 100644 index 000000000..dbc9d5578 --- /dev/null +++ b/sys-cluster/libibmad/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB library that provides low layer IB functions for use by the IB diagnostic +and management programs. These include MAD, SA, SMP, and other basic IB +functions. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libibumad/ChangeLog b/sys-cluster/libibumad/ChangeLog new file mode 100644 index 000000000..5318bb407 --- /dev/null +++ b/sys-cluster/libibumad/ChangeLog @@ -0,0 +1,16 @@ +# ChangeLog for sys-cluster/libibumad +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libibumad-1.1.3 (27 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + converted to standalone package + -libibumad.1.1.ebuild: removed + +libibumad.1.1.3.ebuild: added + +*libibumad-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/libibumad/Manifest b/sys-cluster/libibumad/Manifest new file mode 100644 index 000000000..e819ccd60 --- /dev/null +++ b/sys-cluster/libibumad/Manifest @@ -0,0 +1,4 @@ +DIST libibumad-1.1.3.tar.gz 340580 RMD160 712c72056db0b2c6e2e63a8308115c79ee4e731c SHA1 be355182905a6f8c660f915838d953da295b4fed SHA256 0074006750f49f8cd6fbdf00c1bfe881435ea4d96e194b24514dcd4caf702444 +EBUILD libibumad-1.1.3.ebuild 691 RMD160 6c64987f46d13e1629861627faddcf65c10d71de SHA1 72c9102cf4834eda6519593bbf86f822394a36e2 SHA256 b6d2aaab60a8268ad811cbfaa995814400c36f33a42c2d0fdb5bc2a2d7f05db9 +MISC ChangeLog 429 RMD160 46fe44232cb3fdede41007fa42d66dda03bfc49a SHA1 b8d89cffe0efbe00548b170c336eaaa4444c34ff SHA256 25de6c69b51ce53a8971bcb5172a3e9df47c90c360c52ffcc97cd1959477edb8 +MISC metadata.xml 364 RMD160 b8bcb6c91bc52a35c0ba1d2f63d1eb14120bb216 SHA1 efad3cefe8ed0c8058ecffee15b901d06807e34f SHA256 114ee13c84a4f6aa6cc13f8cd91216d9bac7d504795ee4fd7b8f4598b1f82a5d diff --git a/sys-cluster/libibumad/libibumad-1.1.3.ebuild b/sys-cluster/libibumad/libibumad-1.1.3.ebuild new file mode 100644 index 000000000..bc6579d37 --- /dev/null +++ b/sys-cluster/libibumad/libibumad-1.1.3.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB User MAD library functions which sit on top of the user MAD modules in the kernel. These are used by the IB diagnostic and management tools, including OpenSM." + +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/management/${P}.tar.gz" + +IUSE="" + +RDEPEND="sys-cluster/libibcommon" +DEPEND="${RDEPEND}" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" +} + diff --git a/sys-cluster/libibumad/metadata.xml b/sys-cluster/libibumad/metadata.xml new file mode 100644 index 000000000..4d5e933a1 --- /dev/null +++ b/sys-cluster/libibumad/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB User MAD library functions which sit on top of the user MAD modules in +the kernel. These are used by the IB diagnostic and management tools, including +OpenSM. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libibverbs/ChangeLog b/sys-cluster/libibverbs/ChangeLog new file mode 100644 index 000000000..048e671eb --- /dev/null +++ b/sys-cluster/libibverbs/ChangeLog @@ -0,0 +1,28 @@ +# ChangeLog for sys-cluster/libibverbs +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libibverbs-1.1.1 (26 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> + +libibverbs-1.1.1.ebuild: version bump to 1.1.1. + -libibverbs-1.1.ebuild: removed + libibverbs-1.0.3.ebuild: + Accounted for mutually exclusive openib-userspace + ebuild. + +*libibverbs-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> + +libibverbs-1.1.ebuild ChangeLog, -libibverbs-1.1_rc6.ebuild: + added ebuild for ofed-1.1. Fixed 'LICENSE' and 'HOMEPAGE'. + + 03 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> + -libibverbs-1.0.9999.ebuild, -libibverbs-1.1.9999.ebuild: + Removed live ebuilds + + 27 Sep 2006; Bryan Green <bgreen@nas.nasa.gov> + +libibverbs-1.0.3.ebuild, +libibverbs-1.0.9999.ebuild, + +libibverbs-1.1.9999.ebuild, +libibverbs-1.1_rc6.ebuild: + Initial import + diff --git a/sys-cluster/libibverbs/Manifest b/sys-cluster/libibverbs/Manifest new file mode 100644 index 000000000..924460726 --- /dev/null +++ b/sys-cluster/libibverbs/Manifest @@ -0,0 +1,6 @@ +DIST libibverbs-1.0.3.tar.gz 349439 RMD160 e0c836ee000cf1cc833dcdab1136933d5305131a SHA1 211809c8e03bbad42dd124e6f4cd5150373da576 SHA256 9b9e26d690f53d5a7f914944acdc7ba5da50c85baced5847db06ccffac92e9bf +DIST libibverbs-1.1.1.tar.gz 384743 RMD160 8c2c703c8563f86fb00d07837ef5a2f8a5fb543e SHA1 eac666bf1080deef6e0d52810c83aa5611683828 SHA256 e42b2acbd394f3922298598f3121f32eea81dfb50f12ae8693ca963076a23d88 +EBUILD libibverbs-1.0.3.ebuild 714 RMD160 e9b38b518b88b7dc35132893f06eb2bf9ed122c1 SHA1 2bf30c7627d58a94fb2030edc918139c2a48c56f SHA256 cbd898f41b435857d8062fd39ff8fe71e04a51acc18588576e2db9df3c73173f +EBUILD libibverbs-1.1.1.ebuild 714 RMD160 e9b38b518b88b7dc35132893f06eb2bf9ed122c1 SHA1 2bf30c7627d58a94fb2030edc918139c2a48c56f SHA256 cbd898f41b435857d8062fd39ff8fe71e04a51acc18588576e2db9df3c73173f +MISC ChangeLog 914 RMD160 3b9e0260d1b5afd6d26b7ba0b45f9c84b3efb166 SHA1 356a8c491eedb971017d0176057d389f81c3174a SHA256 4e10f442c41918abfc3665e2d6e0a4c223d24a14d6c72f7974afc6ea575c126c +MISC metadata.xml 426 RMD160 9bf509ead397955652dcc89a9cff5370ccaee9bd SHA1 38090b6e7d9e6677943062b81b8ea6a29b5f698d SHA256 041eeefa57c81b2cef7450e96ead60e4d999570cfe9d62cfc4252ff904e18719 diff --git a/sys-cluster/libibverbs/libibverbs-1.0.3.ebuild b/sys-cluster/libibverbs/libibverbs-1.0.3.ebuild new file mode 100644 index 000000000..5a44b8697 --- /dev/null +++ b/sys-cluster/libibverbs/libibverbs-1.0.3.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="a library that allows programs to use InfiniBand 'verbs' for direct access to IB hardware from userspace" +SRC_URI="http://www.openfabrics.org/downloads/${P}.tar.gz" +HOMEPAGE="http://www.openfabrics.org/" + +IUSE="" + +DEPEND="sys-fs/sysfsutils" +RDEPEND="${DEPEND} + !sys-cluster/openib-userspace" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS ChangeLog + docinto examples + dodoc examples/*.[ch] +} + diff --git a/sys-cluster/libibverbs/libibverbs-1.1.1.ebuild b/sys-cluster/libibverbs/libibverbs-1.1.1.ebuild new file mode 100644 index 000000000..5a44b8697 --- /dev/null +++ b/sys-cluster/libibverbs/libibverbs-1.1.1.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="a library that allows programs to use InfiniBand 'verbs' for direct access to IB hardware from userspace" +SRC_URI="http://www.openfabrics.org/downloads/${P}.tar.gz" +HOMEPAGE="http://www.openfabrics.org/" + +IUSE="" + +DEPEND="sys-fs/sysfsutils" +RDEPEND="${DEPEND} + !sys-cluster/openib-userspace" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS ChangeLog + docinto examples + dodoc examples/*.[ch] +} + diff --git a/sys-cluster/libibverbs/metadata.xml b/sys-cluster/libibverbs/metadata.xml new file mode 100644 index 000000000..f32cc6d6c --- /dev/null +++ b/sys-cluster/libibverbs/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +libibverbs is a library that allows programs to use InfiniBand "verbs" +for direct access to IB hardware from userspace. For more information +on verbs, see the InfiniBand Architecture Specification vol. 1, +especially chapter 11. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libipathverbs/ChangeLog b/sys-cluster/libipathverbs/ChangeLog new file mode 100644 index 000000000..98ee8256e --- /dev/null +++ b/sys-cluster/libipathverbs/ChangeLog @@ -0,0 +1,9 @@ +# ChangeLog for sys-cluster/libipathverbs +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libipathverbs-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/libipathverbs/Manifest b/sys-cluster/libipathverbs/Manifest new file mode 100644 index 000000000..f97858d98 --- /dev/null +++ b/sys-cluster/libipathverbs/Manifest @@ -0,0 +1,4 @@ +DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a +EBUILD libipathverbs-1.1.ebuild 728 RMD160 5afa5f2d0f7cdc7b0955a559f73d626978b0e4ca SHA1 810a6bec35cdac7d41b921903b262283cf561704 SHA256 fa6bff4c58607abb4ee1e89d9461136d70f3f32663e8596c07563390fbf9513a +MISC ChangeLog 241 RMD160 df275dd4d22024e08360999447284075477c96b8 SHA1 35a23daebefbfac545d2026cd51de2f78f5d0550 SHA256 49ea1dbc4f932f974784066d5098de24e119e601efb3b1f2fa704d4f4cbb0bd7 +MISC metadata.xml 421 RMD160 114e8aecda6d8cc32b5e5d6e20706a752acfb247 SHA1 61db2054e6c0443a599c36d23994c71bf4795c46 SHA256 9082167e78422f279b2fa3a85ffd8a795fee49f0726f5a3f34688056eb9818b7 diff --git a/sys-cluster/libipathverbs/libipathverbs-1.1.ebuild b/sys-cluster/libipathverbs/libipathverbs-1.1.ebuild new file mode 100644 index 000000000..77ff0516e --- /dev/null +++ b/sys-cluster/libipathverbs/libipathverbs-1.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB userspace driver for the PathScale InfiniBand HCAs" +HOMEPAGE="http://www.openfabrics.org/" +#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz" +SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz" +S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}" + +IUSE="" + +DEPEND="=sys-cluster/libibverbs-${PV}" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS COPYING +} + diff --git a/sys-cluster/libipathverbs/metadata.xml b/sys-cluster/libipathverbs/metadata.xml new file mode 100644 index 000000000..1cce96be7 --- /dev/null +++ b/sys-cluster/libipathverbs/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +libipathverbs is a userspace driver for QLogic InfiniBand HCAs. It works as a +plug-in module for libibverbs that allows programs to use QLogic HCAs directly +from userspace. See the libibverbs package for more information. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libmthca/ChangeLog b/sys-cluster/libmthca/ChangeLog new file mode 100644 index 000000000..0dbf2cc44 --- /dev/null +++ b/sys-cluster/libmthca/ChangeLog @@ -0,0 +1,16 @@ +# ChangeLog for sys-cluster/libmthca +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libmthca-1.0.4 (26 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + replaced old -userspace version with standalone version. + -libmthca-1.1.ebuild: removed + +libmthca-1.0.4.ebuild: added + +*libmthca-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial import + diff --git a/sys-cluster/libmthca/Manifest b/sys-cluster/libmthca/Manifest new file mode 100644 index 000000000..4e81fc696 --- /dev/null +++ b/sys-cluster/libmthca/Manifest @@ -0,0 +1,4 @@ +DIST libmthca-1.0.4.tar.gz 338319 RMD160 1d084ab1d76fc8f1fffdb2f01ff9b09eb04958d6 SHA1 4ef250cd1f7db8386458c47a874b9ffaca3dfabf SHA256 dcc695bf88f72eaaa77058fd7676a6b49bd40ed81a07d5c1f306620498d87f38 +EBUILD libmthca-1.0.4.ebuild 626 RMD160 5556164e3c0e0717f084cbdbeb01700a81840fcb SHA1 cbe57b5cae0eae858ee7d4a8fdb616f4498b6d18 SHA256 65e2a018d7ca9e868d40e62b50955cc38e1b004c0d8aad9b55e6969544a2de45 +MISC ChangeLog 449 RMD160 f5b544f16a16a1fde662df0fb18bc79489d5012e SHA1 919f268441723eeb2348b38907f74e26f02f4305 SHA256 a3ebb71d4a4d53f738256e77b04166921d9f7d484629a29f89241dc2bfc0cf48 +MISC metadata.xml 426 RMD160 9bf509ead397955652dcc89a9cff5370ccaee9bd SHA1 38090b6e7d9e6677943062b81b8ea6a29b5f698d SHA256 041eeefa57c81b2cef7450e96ead60e4d999570cfe9d62cfc4252ff904e18719 diff --git a/sys-cluster/libmthca/libmthca-1.0.4.ebuild b/sys-cluster/libmthca/libmthca-1.0.4.ebuild new file mode 100644 index 000000000..e37162e73 --- /dev/null +++ b/sys-cluster/libmthca/libmthca-1.0.4.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB userspace driver for Mellanox InfiniBand HCAs" +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/${P}.tar.gz" + +IUSE="" + +DEPEND="sys-cluster/libibverbs" +RDEPEND="${DEPEND} + !sys-cluster/openib-userspace" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS ChangeLog +} + diff --git a/sys-cluster/libmthca/metadata.xml b/sys-cluster/libmthca/metadata.xml new file mode 100644 index 000000000..f32cc6d6c --- /dev/null +++ b/sys-cluster/libmthca/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +libibverbs is a library that allows programs to use InfiniBand "verbs" +for direct access to IB hardware from userspace. For more information +on verbs, see the InfiniBand Architecture Specification vol. 1, +especially chapter 11. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/librdmacm/ChangeLog b/sys-cluster/librdmacm/ChangeLog new file mode 100644 index 000000000..4bf9c5ab2 --- /dev/null +++ b/sys-cluster/librdmacm/ChangeLog @@ -0,0 +1,14 @@ +# ChangeLog for sys-cluster/librdmacm +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*librdmacm-1.0.3 (26 Nov 2007) + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> + -librdmacm-1.1.ebuild: removed + +librdmacm-1.0.3.ebuild: added + +*librdmacm-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/librdmacm/Manifest b/sys-cluster/librdmacm/Manifest new file mode 100644 index 000000000..e261eda58 --- /dev/null +++ b/sys-cluster/librdmacm/Manifest @@ -0,0 +1,4 @@ +DIST librdmacm-1.0.3.tar.gz 345649 RMD160 fe66cd702ce0c36fbb6ce48d46bbd7f365a5013b SHA1 3b194f054bf653ea7c70183bab146a78a0ad6dd9 SHA256 045a07b853922f4f2d24e6d88c2be2b406cbdab1858591362fccfc9a5e13735c +EBUILD librdmacm-1.0.3.ebuild 691 RMD160 c760d567ef769248d33119edd06e625077303986 SHA1 e56d209182f66cb7abf64cec3c1ab8e921ed7fe8 SHA256 dea2464afd3032ec3756293d4e44bf98726bc86e63ab247e16c9dfe3ee63746b +MISC ChangeLog 383 RMD160 0d6ebfe52a57c7a99a19e6ba5adc00a8cbfbe109 SHA1 32169eb531785e6b0365490e04d9c433556b3048 SHA256 ca82f8d9e93f82a9d8353d4174dad69188e0503fc9a941b4e72bb4fcf694d685 +MISC metadata.xml 231 RMD160 4e683cf1e4e98e12f6827c19be6b1507c66d6bc2 SHA1 4cc03d85daa352f1d0b36d7a031765ee30c9ea2e SHA256 dc582f05fc10f90c08881f52d8434a939bf12da38a73004ba0327e5b1bc0bc9d diff --git a/sys-cluster/librdmacm/librdmacm-1.0.3.ebuild b/sys-cluster/librdmacm/librdmacm-1.0.3.ebuild new file mode 100644 index 000000000..54b227afe --- /dev/null +++ b/sys-cluster/librdmacm/librdmacm-1.0.3.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB userspace RDMA CM library" +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/rdmacm/${P}.tar.gz" +#S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}" + +IUSE="" + +DEPEND="" +RDEPEND="${DEPEND} + !sys-cluster/openib-userspace" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README AUTHORS ChangeLog + docinto examples + dodoc examples/*.[ch] +} + diff --git a/sys-cluster/librdmacm/metadata.xml b/sys-cluster/librdmacm/metadata.xml new file mode 100644 index 000000000..67da2f26d --- /dev/null +++ b/sys-cluster/librdmacm/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB userspace RDMA CM library. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/libsdp/ChangeLog b/sys-cluster/libsdp/ChangeLog new file mode 100644 index 000000000..e75d3c41d --- /dev/null +++ b/sys-cluster/libsdp/ChangeLog @@ -0,0 +1,9 @@ +# ChangeLog for sys-cluster/libsdp +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*libsdp-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/libsdp/Manifest b/sys-cluster/libsdp/Manifest new file mode 100644 index 000000000..319f1b283 --- /dev/null +++ b/sys-cluster/libsdp/Manifest @@ -0,0 +1,4 @@ +DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a +EBUILD libsdp-1.1.ebuild 734 RMD160 ee03e1a94a5995a0eedf7176faac51024bb32d4b SHA1 918af8cad061728fb5f8cc8c67fe44425fcc7839 SHA256 6d1cb6c448879d10c86026abf6799df6eb491e772811994baa042ebc6ff189c9 +MISC ChangeLog 227 RMD160 ea12439169664618bd712a981feb0de855cda568 SHA1 be617fb6c000f3c3b97f4f614ef0d746961fc81e SHA256 2317e20e4cf5fb078ce72d5273af596ee7cf76a26f1f1a6faf171a8548f0ef5d +MISC metadata.xml 394 RMD160 7b931750b94fec4eb68e8af81367a330572e65cc SHA1 99bba2f1b65d3bb0c9acb110b1f094910f3211b4 SHA256 ee18115d70440110f81c65f3220beaf2dc625049875515b2716a6e31093dbb12 diff --git a/sys-cluster/libsdp/libsdp-1.1.ebuild b/sys-cluster/libsdp/libsdp-1.1.ebuild new file mode 100644 index 000000000..fbd123344 --- /dev/null +++ b/sys-cluster/libsdp/libsdp-1.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB library that enables Socket Direct Protocol for unmodified applications" +HOMEPAGE="http://www.openfabrics.org/" +#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz" +SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz" +S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}" + +IUSE="" + +DEPEND="virtual/libc" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README COPYING ChangeLog +} + diff --git a/sys-cluster/libsdp/metadata.xml b/sys-cluster/libsdp/metadata.xml new file mode 100644 index 000000000..ff86e9832 --- /dev/null +++ b/sys-cluster/libsdp/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +libsdp is a LD_PRELOAD-able library that can be used to migrate existing +applications use InfiniBand Sockets Direct Protocol (SDP) instead of TCP +sockets, transparently and without recompilations. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-diags/ChangeLog b/sys-cluster/openib-diags/ChangeLog new file mode 100644 index 000000000..744f3000b --- /dev/null +++ b/sys-cluster/openib-diags/ChangeLog @@ -0,0 +1,16 @@ +# ChangeLog for sys-cluster/openib-diags +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*openib-diags-1.3.2 (27 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + converted to standalone package + -openib-diags-1.1.ebuild: removed + +openib-diags-1.3.2.ebuild: added + +*openib-diags-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib-diags/Manifest b/sys-cluster/openib-diags/Manifest new file mode 100644 index 000000000..80395dde0 --- /dev/null +++ b/sys-cluster/openib-diags/Manifest @@ -0,0 +1,5 @@ +AUX diags-perfquery.patch 2183 RMD160 350d53985e32c2edd57a98594a05d39ef4fe59e9 SHA1 74bf519e8f81a412145b94c2c017996bc220195e SHA256 99d0e054f6aeea58e96c329bab255eacd4c738fdabc5ba8fd4d34abab5fd8199 +DIST infiniband-diags-1.3.2.tar.gz 408445 RMD160 ea2adb3837d50de5c96313ec4b833d3ebbaf3695 SHA1 cf7af097f402073d67e54be70667a5f2f0567220 SHA256 60d5be95007c76c2a7c685fbc6d51ba27f865cc7b2736f3ab1806c6436a7c55e +EBUILD openib-diags-1.3.2.ebuild 825 RMD160 187ac83521bda217f0527e43579589da75db5096 SHA1 4ed1f09975f142a11b8f872cc8e094771d1a53eb SHA256 4cb4d70334b5476f28e91c77a05df9e128d6e3b160b1a3c133eea3dcc8f467e1 +MISC ChangeLog 444 RMD160 4adc95bedc2a64b9305e5e5755724e227d11b20e SHA1 76d2840ec676a2c35c3ec931cc27d64c6ab12eb8 SHA256 3bf5e5dfe13043af3e3fbac566ddbea7b1b44193bfa79b75b540bfa7998f61c9 +MISC metadata.xml 269 RMD160 313528b9b250be3cefa43fe1e6ae748c039d23ff SHA1 2b1efb89864ecc3dc8688cfff7c17cfe450a9c8b SHA256 84569c739f3fca7d8afe1d90bc7c700cd5435f3101ae16800e1a8af3a4711eee diff --git a/sys-cluster/openib-diags/files/diags-perfquery.patch b/sys-cluster/openib-diags/files/diags-perfquery.patch new file mode 100644 index 000000000..12817c184 --- /dev/null +++ b/sys-cluster/openib-diags/files/diags-perfquery.patch @@ -0,0 +1,55 @@ +--- src/perfquery.c.orig 2007-11-27 17:05:08.000000000 -0800 ++++ src/perfquery.c 2007-11-27 17:10:01.000000000 -0800 +@@ -1,5 +1,6 @@ + /* + * Copyright (c) 2004-2007 Voltaire Inc. All rights reserved. ++ * Copyright (c) 2007 Xsigo Systems Inc. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU +@@ -96,8 +97,11 @@ + int udebug = 0; + char *ca = 0; + int ca_port = 0; +- int extended = 0; + uint16_t cap_mask, *pc2; ++ int allports = 0; ++ int node_type, num_ports; ++ uint8_t data[IB_SMP_DATA_SIZE]; ++ int extended = 0; + + static char const str_opts[] = "C:P:s:t:dGearRVhu"; + static const struct option long_opts[] = { +@@ -190,6 +194,32 @@ + /* PerfMgt ClassPortInfo is a required attribute */ + if (!perf_classportinfo_query(pc, &portid, port, timeout)) + IBERROR("classportinfo query"); ++ if (!(cap_mask & 0x100)) /* bit 8 is AllPortSelect */ ++ if (port == 255) { ++ allports = 1; ++ IBWARN("AllPortSelect not supported"); ++ } ++ ++ if (allports == 1) { ++ ++ /* ++ * Simulate all ports support in PMA ++ * Determine node type, number of (physical) ports, ++ * and, if switch, whether SP0 is enhanced ++ * to determine first and last port to query ++ */ ++ ++ /* For now, support single port CAs */ ++ if (smp_query(data, &portid, IB_ATTR_NODE_INFO, 0, 0) < 0) ++ IBERROR("smp query nodeinfo failed"); ++ node_type = mad_get_field(data, 0, IB_NODE_TYPE_F); ++ if (node_type != IB_NODE_CA) /* NodeType other than CA ? */ ++ IBERROR("smp query nodeinfo: Node type not CA"); ++ mad_decode_field(data, IB_NODE_NPORTS_F, &num_ports); ++ if (num_ports != 1) ++ IBERROR("smp query nodeinfo: %d ports; only 1 supported currently", num_ports); ++ port = num_ports; ++ } + + if (reset_only) + goto do_reset; diff --git a/sys-cluster/openib-diags/metadata.xml b/sys-cluster/openib-diags/metadata.xml new file mode 100644 index 000000000..95dca1aae --- /dev/null +++ b/sys-cluster/openib-diags/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB diagnostic programs and scripts needed to diagnose an IB subnet. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-diags/openib-diags-1.3.2.ebuild b/sys-cluster/openib-diags/openib-diags-1.3.2.ebuild new file mode 100644 index 000000000..b58b6a255 --- /dev/null +++ b/sys-cluster/openib-diags/openib-diags-1.3.2.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB diagnostic programs and scripts needed to diagnose an IB subnet." + +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/management/infiniband-diags-${PV}.tar.gz" +S="${WORKDIR}/infiniband-diags-${PV}" + +IUSE="" + +RDEPEND="sys-cluster/libibcommon + sys-cluster/libibumad + sys-cluster/libibmad + sys-cluster/openib-osm" +DEPEND="${RDEPEND}" + +src_unpack() { + unpack "${A}" + cd "${S}" + epatch "${FILESDIR}/diags-perfquery.patch" +} + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" +} + diff --git a/sys-cluster/openib-drivers/ChangeLog b/sys-cluster/openib-drivers/ChangeLog new file mode 100644 index 000000000..bd8393101 --- /dev/null +++ b/sys-cluster/openib-drivers/ChangeLog @@ -0,0 +1,15 @@ +# ChangeLog for sys-cluster/openib-drivers +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*openib-drivers-1.2 (24 Oct 2007) + + 24 Oct 2007; Bryan Green <bryan.d.green@nasa.gov> + +openib-drivers-1.2.ebuild: version bump + -openib-drivers-1.1.ebuild: removed + +*openib-drivers-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib-drivers/Manifest b/sys-cluster/openib-drivers/Manifest new file mode 100644 index 000000000..88352917d --- /dev/null +++ b/sys-cluster/openib-drivers/Manifest @@ -0,0 +1,8 @@ +AUX openib 26021 RMD160 2507367b5b588e1ef95b91ec7a2a362f592c8e15 SHA1 b043dcd891d5cef100ad4b633dc73f12ace45072 SHA256 cf26003e726832a2c48bb9a3597f1319cb0fbd3d554e0b8ab10065b3cef1976e +AUX openib.modprobe 350 RMD160 a40e8656ee1bdfc26a86b65aa3eaf5553a93b7b8 SHA1 623adbeccde3e88ce2c39d113a409c4d14091f0d SHA256 32054c7ee7caffc21ed320a9be5d0c2cd85e51295c0515521373d658f55ee68e +DIST OFED-1.2.5.1.tgz 46256516 RMD160 b19f1917b32b7b15db75aace6ed433d57dc98fc5 SHA1 9a1ff30c97c94352f70e52d7cc31328013bea1b7 SHA256 41c6408135d8707d05bef8aa0a4ec548ae64ec010224e3b38746ab6f5c1e9b78 +DIST OFED-1.2.tgz 45785235 RMD160 22abc8ea493c01f18a5ca93f24645c0b3de81f49 SHA1 e179640b8f700b6dff9cc747910d786bba986175 SHA256 05ac6c3a96902388b40b05c6af0f0ce80059fc51980a039d53bfc94874166144 +EBUILD openib-drivers-1.2.5.1.ebuild 6398 RMD160 e646bbb1e5476421bed3bee5ca5919fd31f31104 SHA1 e3b8a65ac10deb5bbc37bdc99280139bdb6037f1 SHA256 417612887dd7bc0ebd1938c8cd079b0870431f5cfc71e2107efc70d3950ae012 +EBUILD openib-drivers-1.2.ebuild 6490 RMD160 2fc8f1dbff3d96459e83d9262f454dc20daa5c25 SHA1 570f2ab5fff121923e8b934929c7314893680bb3 SHA256 25348d02dd82e3886fde2d326de6ed2f6d5401ee245cffbf21fc4023bb50b404 +MISC ChangeLog 416 RMD160 92a08a60b26f3086385142f1d32a9611e975db36 SHA1 0be0f7931add17769c4b9e654bc5866a2cf0e9d3 SHA256 d116dec293fa3016429d977ecca7feeb61715f0a506cc84cafb218807d106f40 +MISC metadata.xml 220 RMD160 d33d570d49f634b36df8f6c179b8385e25562a56 SHA1 fffa23cb3edea7fe576a0d0e470df5750547f1cb SHA256 50078f776034343d365347ef90d5a0eb49faf851ed7f46e12cf9ce71e4cb5ea7 diff --git a/sys-cluster/openib-drivers/files/openib b/sys-cluster/openib-drivers/files/openib new file mode 100755 index 000000000..759c0ff1d --- /dev/null +++ b/sys-cluster/openib-drivers/files/openib @@ -0,0 +1,792 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-drivers/files/openib,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $ + +# Based on openibd script from openfabrics.org, +# Copyright (c) 2006 Mellanox Technologies. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +depend() { + after coldplug hotplug + before net # init openib before starting any ipoib interfaces +} + +OPENIB_CONFDIR=${OPENIB_CONFDIR:-/etc/infiniband} + +if [[ -r ${OPENIB_CONFDIR}/openib.conf ]] ; then + . ${OPENIB_CONFDIR}/openib.conf +fi + +max_ports_num_in_hca=0 + +count_ib_ports() +{ + local cnt=0 + local ports_in_hca=0 + sysdir=/sys/class/infiniband + hcas=$(/bin/ls -1 ${sysdir} 2> /dev/null) + for hca in $hcas + do + ports_in_hca=$(/bin/ls -1 ${sysdir}/${hca}/ports 2> /dev/null | wc -l) + if [ $ports_in_hca -gt $max_ports_num_in_hca ]; then + max_ports_num_in_hca=$ports_in_hca + fi + cnt=$[ $cnt + $ports_in_hca ] + done + + return $cnt +} + +# Setting OpenIB start parameters +POST_LOAD_MODULES="" + +if [ "X${SDP_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_sdp" + IPOIB_LOAD="yes" +fi + +IPOIB=0 +IPOIB_MTU=${IPOIB_MTU:-65520} +if [ "X${IPOIB_LOAD}" == "Xyes" ]; then + IPOIB=1 +fi + +if [ "X${SRP_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp" +fi + +if [ "X${VNIC_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_vnic" +fi + +if [ "X${SRP_TARGET_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp_target" +fi + +if [ "X${RDMA_CM_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_cm" +fi + +if [ "X${UCM_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_ucm" +fi + +if [ "X${RDS_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES rds" +fi + +if [ "X${ISER_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_iser" +fi + +if [ "X${RDMA_UCM_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_ucm" +fi + +UNLOAD_MODULES="ib_ipoib ib_madeye ib_rds rds ib_ucm kdapl ib_srp_target scsi_target ib_srp ib_vnic" +UNLOAD_MODULES="$UNLOAD_MODULES ib_iser ib_sdp rdma_ucm rdma_cm ib_addr ib_cm ib_local_sa findex" +UNLOAD_MODULES="$UNLOAD_MODULES ib_sa ib_uverbs ib_umad ib_mthca ib_ipath ipath_core ib_ehca ib_mad ib_core" + +STATUS_MODULES="rdma_ucm ib_rds rds ib_srp ib_vnic ib_sdp rdma_cm ib_addr ib_local_sa findex ib_ipoib ib_ehca ib_ipath ipath_core ib_mthca ib_uverbs ib_umad ib_ucm ib_sa ib_cm ib_mad ib_core" + +ipoib_ha_pidfile=/var/run/ipoib_ha.pid +srp_daemon_pidfile=/var/run/srp_daemon.pid + +get_interfaces() +{ + count_ib_ports + ports_num=$? + + interfaces="" + for (( i=0 ; i < $ports_num ; i++ )) + do + interfaces="$interfaces ib${i}" + done +} + +# If module $1 is loaded return - 0 else - 1 +is_module() +{ + local RC + + /sbin/lsmod | grep -w "$1" > /dev/null 2>&1 + RC=$? + + return $RC +} + +get_sw_fw_info() +{ + INFO=/etc/infiniband/info + OFEDHOME="/usr/local" + if [ -x ${INFO} ]; then + OFEDHOME=$(${INFO} | grep -w prefix | cut -d '=' -f 2) + fi + MREAD=$(which mread 2> /dev/null) + + # Get OFED Build id + if [ -r ${OFEDHOME}/BUILD_ID ]; then + echo "Software" + echo "-------------------------------------" + printf "Build ID:\n" + cat ${OFEDHOME}/BUILD_ID + echo "-------------------------------------" + fi + + # Get FW version + if [ ! -x ${MREAD} ]; then + return 1 + fi + + vendor="15b3" + slots=$(lspci -n -d "${vendor}:" 2> /dev/null | grep -v "5a46" | cut -d ' ' -f 1) + for mst_device in $slots + do + major=$($MREAD ${mst_device} 0x82478 2> /dev/null | cut -d ':' -f 2) + subminor__minor=$($MREAD ${mst_device} 0x8247c 2> /dev/null | cut -d ':' -f 2) + ftime=$($MREAD ${mst_device} 0x82480 2> /dev/null | cut -d ':' -f 2) + fdate=$($MREAD ${mst_device} 0x82484 2> /dev/null | cut -d ':' -f 2) + + major=$(echo -n $major | cut -d x -f 2 | cut -b 4) + subminor__minor1=$(echo -n $subminor__minor | cut -d x -f 2 | cut -b 3,4) + subminor__minor2=$(echo -n $subminor__minor | cut -d x -f 2 | cut -b 5,6,7,8) + echo + echo "Device ${mst_device} Info:" + echo "Firmware:" + + printf "\tVersion:" + printf "\t$major.$subminor__minor1.$subminor__minor2\n" + + day=$(echo -n $fdate | cut -d x -f 2 | cut -b 7,8) + month=$(echo -n $fdate | cut -d x -f 2 | cut -b 5,6) + year=$(echo -n $fdate | cut -d x -f 2 | cut -b 1,2,3,4) + hour=$(echo -n $ftime | cut -d x -f 2 | cut -b 5,6) + min=$(echo -n $ftime | cut -d x -f 2 | cut -b 3,4) + sec=$(echo -n $ftime | cut -d x -f 2 | cut -b 1,2) + + printf "\tDate:" + printf "\t$day/$month/$year $hour:$min:$sec\n" + done +} + +# Create debug info +get_debug_info() +{ + trap '' 2 9 15 + DEBUG_INFO=/tmp/ib_debug_info.log + /bin/rm -f $DEBUG_INFO + touch $DEBUG_INFO + echo "Hostname: `hostname -s`" >> $DEBUG_INFO + test -e /etc/issue && echo "OS: `cat /etc/issue`" >> $DEBUG_INFO + echo "Current kernel: `uname -r`" >> $DEBUG_INFO + echo "Architecture: `uname -m`" >> $DEBUG_INFO + echo "GCC version: `gcc --version`" >> $DEBUG_INFO + echo "CPU: `cat /proc/cpuinfo | /bin/grep -E \"model name|arch\" | head -1`" >> $DEBUG_INFO + echo "`cat /proc/meminfo | /bin/grep \"MemTotal\"`" >> $DEBUG_INFO + echo "Chipset: `/sbin/lspci 2> /dev/null | head -1 | cut -d ':' -f 2-`" >> $DEBUG_INFO + + echo >> $DEBUG_INFO + get_sw_fw_info >> $DEBUG_INFO + echo >> $DEBUG_INFO + + echo >> $DEBUG_INFO + echo "############# LSPCI ##############" >> $DEBUG_INFO + /sbin/lspci 2> /dev/null >> $DEBUG_INFO + + echo >> $DEBUG_INFO + echo "############# LSPCI -N ##############" >> $DEBUG_INFO + /sbin/lspci -n 2> /dev/null >> $DEBUG_INFO + + echo >> $DEBUG_INFO + echo "############# LSMOD ##############" >> $DEBUG_INFO + /sbin/lsmod >> $DEBUG_INFO + + echo >> $DEBUG_INFO + echo "############# DMESG ##############" >> $DEBUG_INFO + /bin/dmesg >> $DEBUG_INFO + + echo >> $DEBUG_INFO + echo "############# Messages ##############" >> $DEBUG_INFO + tail -50 /var/log/messages >> $DEBUG_INFO + + echo >> $DEBUG_INFO + echo "############# Running Processes ##############" >> $DEBUG_INFO + /bin/ps -ef >> $DEBUG_INFO + echo "##############################################" >> $DEBUG_INFO + + eerror + eerror "Please open an issue in the http://openib.org/bugzilla and attach $DEBUG_INFO" + eerror +} + +errata_58() +{ +# Check AMD chipset issue Errata #58 +if test -x /sbin/lspci && test -x /sbin/setpci; then + if ( /sbin/lspci -nd 1022:1100 2> /dev/null | grep "1100" > /dev/null ) && + ( /sbin/lspci -nd 1022:7450 2> /dev/null | grep "7450" > /dev/null ) && + ( /sbin/lspci -nd 15b3:5a46 2> /dev/null | grep "5a46" > /dev/null ); then + + if ! ( grep FIX_AMD_8131_ERR58 $CONFIG > /dev/null ); then + echo >> $CONFIG + echo "# Set FIX_AMD_8131_ERR58=YES to apply AMD-8131 Errata #58 workaround" >> $CONFIG + echo "FIX_AMD_8131_ERR58=\"YES\"" >> $CONFIG + fi + + # Set default value for FIX_AMD_8131_ERR58 + if [ -z "$FIX_AMD_8131_ERR58" ]; then + FIX_AMD_8131_ERR58="YES" + fi + + CURVAL=`/sbin/setpci -d 1022:1100 69` + + for val in $CURVAL + do + if [ "${val}" != "c0" ]; then + if [ "$FIX_AMD_8131_ERR58" == "YES" ]; then + /sbin/setpci -d 1022:1100 69=c0 + if [ $? -eq 0 ]; then + # echo "AMD-8131 Errata #58 workaround applied" + break + else + echo "Failed to apply AMD-8131 Errata #58 workaround" + fi + else + echo + echo "Invalid configuration found for PCI-X chipset AMD-8131 (Errata #58)" + echo + if [ "$RUNMODE" == "manual" ]; then + read -p "Do you wish to continue anyway? [y/N]:" + if [[ "$REPLY" != "y" && "$REPLY" != "yes" ]]; then + exit 1 + fi + break + else + exit 1 + fi + fi + fi + done + + fi +fi + +} + +errata_56() +{ +# Check AMD chipset issue Errata #56 +if test -x /sbin/lspci && test -x /sbin/setpci; then + if ( /sbin/lspci -nd 1022:1100 2> /dev/null | grep "1100" > /dev/null ) && + ( /sbin/lspci -nd 1022:7450 2> /dev/null | grep "7450" > /dev/null ) && + ( /sbin/lspci -nd 15b3:5a46 2> /dev/null | grep "5a46" > /dev/null ); then + + if ! ( grep FIX_AMD_8131_ERR56 $CONFIG > /dev/null ); then + echo >> $CONFIG + echo "# Set FIX_AMD_8131_ERR56=YES to apply AMD-8131 Errata #56 workaround" >> $CONFIG + echo "FIX_AMD_8131_ERR56=\"YES\"" >> $CONFIG + fi + + # Set default value for FIX_AMD_8131_ERR56 + if [ -z "$FIX_AMD_8131_ERR56" ]; then + FIX_AMD_8131_ERR56="YES" + fi + + bus="" + + # Look for devices AMD-8131 + for amd_dev in `/sbin/setpci -v -f -d 1022:7450 19 | cut -d':' -f1,2` + do + + bus=`/sbin/setpci -s $amd_dev 19` + rev=`/sbin/setpci -s $amd_dev 8` + + + # Look for Tavor attach to secondary bus of this devices + for device in `/sbin/setpci -f -s $bus: -d 15b3:5a46 19` + do + if [ $rev -lt 13 ]; then + if [ "$FIX_AMD_8131_ERR56" == "YES" ]; then + /sbin/setpci -d 15b3:5a44 72=14 + if [ $? -eq 0 ]; then + # echo "AMD-8131 Errata #56 workaround applied" + break + else + echo "Failed to apply AMD-8131 Errata #56 workaround" + fi + else + echo + echo "Invalid configuration found for PCI-X chipset AMD-8131 (Errata #56)" + echo + + if [ "$RUNMODE" == "manual" ]; then + read -p "Do you wish to continue anyway? [y/N]:" + if [[ "$REPLY" != "y" && "$REPLY" != "yes" ]]; then + exit 1 + fi + break + else + exit 1 + fi + fi + + else + continue + fi + + # If more than one device is on the bus the issue a + # warning + num=`/sbin/setpci -f -s $bus: 0 | wc -l | sed 's/\ *//g'` + + if [ $num -gt 1 ]; then + echo "Warning: your current PCI-X configuration might be incorrect." + echo "see AMD-8131 Errata 56 for more details." + fi + + done + done + + fi +fi +} + +rotate_log() +{ + local log=$1 + if [ -s ${log} ]; then + cat ${log} >> ${log}.$(date +%Y-%m-%d) + /bin/rm -f ${log} + fi + touch ${log} +} + +set_ipoib_cm() +{ + local i=$1 + shift + + if [ ! -e /sys/class/net/${i}/mode ]; then + echo "Failed to configure IPoIB connected mode for ${i}" + return 1 + fi + + echo connected > /sys/class/net/${i}/mode + /sbin/ifconfig ${i} mtu ${IPOIB_MTU} +} + +bring_up() +{ + local i=$1 + shift + + /etc/init.d/net.$i start + + if [ "X${SET_IPOIB_CM}" == "Xyes" ]; then + set_ipoib_cm ${i} + fi + + return $? +} + +#### +PRE_UNLOAD_MODULES="ib_rds ib_ucm kdapl ib_srp_target scsi_target ib_srp ib_iser ib_sdp rdma_ucm rdma_cm ib_addr ib_cm ib_local_sa findex" + +# W/A for unloading modules +POST_UNLOAD_MODULES="$PRE_UNLOAD_MODULES ib_ipoib ib_sa ib_uverbs ib_umad" +# ib_mthca ib_ipath - dont unload unless they are in openib.conf +[[ "${MTHCA_LOAD}" == "yes" ]] && \ + POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mthca" +[[ "${IPATH_LOAD}" == "yes" ]] && \ + POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_ipath ipath_core" + +[[ "${MTHCA_LOAD}" == "yes" || "${IPATH_LOAD}" == "yes" ]] && \ + POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mad ib_core" + +#STATUS_MODULES="rdma_ucm ib_rds ib_srp ib_sdp rdma_cm ib_addr ib_local_sa findex ib_ipoib ib_ipath ipath_core ib_mthca ib_uverbs ib_umad ib_ucm ib_sa ib_cm ib_mad ib_core" + +unload() +{ + # Unload module $1 + if is_module $mod; then + /sbin/modprobe -r $mod > /dev/null 2>&1 + if [ $? -ne 0 ]; then + # Try rmmod if modprobe failed: case that previous installation included more IB modules. + /sbin/rmmod $mod > /dev/null 2>&1 + if [ $? -ne 0 ]; then + ewarn "Failed to unload $mod" + return 1 + fi + fi + fi +} + +start() { + local RC=0 + ebegin "Initializing Infiniband" + eindent + + # Load Mellanox HCA driver if explicitly requested + # (however, it should be loaded automatically by udev) + + errata_58 + + einfo "Loading HCA and Access Layer drivers" + + eindent + if [[ "${MTHCA_LOAD}" == "yes" ]]; then + ebegin "modprobe ib_mthca" + /sbin/modprobe ib_mthca > /dev/null 2>&1 + RC=$[ $RC + $? ] + eend $? + fi + if [[ "${IPATH_LOAD}" == "yes" ]]; then + ebegin "modprobe ib_ipath" + /sbin/modprobe ib_ipath > /dev/null 2>&1 + RC=$[ $RC + $? ] + eend $? + fi + if [[ "${EHCA_LOAD}" == "yes" ]]; then + ebegin "modprobe ib_ehca" + /sbin/modprobe ib_ehca > /dev/null 2>&1 + RC=$[ $RC + $? ] + eend $? + fi + eoutdent + + # Add node description to sysfs + IBSYSDIR="/sys/class/infiniband" + if [ -d ${IBSYSDIR} ]; then + declare -i hca_id=1 + for hca in ${IBSYSDIR}/*; do + if [ -e ${hca}/node_desc ]; then + echo -n "$(hostname -s) HCA-${hca_id}" >> ${hca}/node_desc + fi + let hca_id++ + done + fi + + eindent + if [ $RC -eq 0 ]; then + ebegin "modprobe ib_umad" + /sbin/modprobe ib_umad > /dev/null 2>&1 + RC=$[ $RC + $? ] + eend $RC + fi + if [ $RC -eq 0 ]; then + ebegin "modprobe ib_uverbs" + /sbin/modprobe ib_uverbs > /dev/null 2>&1 + RC=$[ $RC + $? ] + eend $RC + fi + eoutdent + + if [ $RC -eq 0 ] && [ $IPOIB -eq 1 ]; then + # this section is not necessary if all ip-over-ib devices are + # aliased properly in /etc/modules.d/openib + ebegin "modprobe ib_ipoib" + /sbin/modprobe ib_ipoib > /dev/null 2>&1 + RC=$[ $RC + $? ] + eend $? + fi + + if [ $RC -ne 0 ]; then + eerror "Loading HCA driver and Access Layer: " + get_debug_info + eoutdent + eend $RC + return + fi + + if [ $IPOIB -eq 1 ]; then + # start the ipoib devices automatically... + # this is probably a bad idea (the concept is taken from the + # original SUSE/Redhat-based initscript), and should be removed. + # But it works, and is not enabled by default. So I leave it here + # for second opinions. + get_interfaces + for i in $interfaces + do + if [ -e /etc/init.d/net.$i ]; then + einfo "starting ipoib device $i" + bring_up $i + fi + done + + # leaving out the "Bring up child interfaces if configured" section. + + if [ "X${IPOIBHA_ENABLE}" == "Xyes" ]; then + ipoib_ha_log="/var/log/ipoib_ha.log" + rotate_log ${ipoib_ha_log} + # Added sleep in order to wait for IPoIB interfaces to be UP + sleep 1 + if [ ! -z "${PRIMARY_IPOIB_DEV}" ] && [ ! -z "${SECONDARY_IPOIB_DEV}" ]; then + ipoib_ha.pl -p ${PRIMARY_IPOIB_DEV} -s ${SECONDARY_IPOIB_DEV} --with-arping --with-multicast -v > ${ipoib_ha_log} 2>&1 & + else + ipoib_ha.pl --with-arping --with-multicast -v > ${ipoib_ha_log} 2>&1 & + fi + ipoib_ha_pid=$! + echo ${ipoib_ha_pid} > ${ipoib_ha_pidfile} + elif [ "X${IPOIBBOND_ENABLE}" == "Xyes" ]; then + if ( test ! -z $IPOIB_BONDS && which ib-bond &>/dev/null ) ; then + echo Setting up bonding interfaces: + for bond in $(echo $IPOIB_BONDS|tr , " ") ; do + eval bond_ip=\$${bond}_IP + if [ -z $bond_ip ]; then + echo No IP address defined for $bond + continue + fi + eval bond_slaves=\$${bond}_SLAVES + if [ -z $bond_slaves ]; then + echo No slaves defined for $bond + continue + fi + ib-bond --bond-name $bond --bond-ip $bond_ip --slaves $bond_slaves + RC=$? + if [ $RC -eq 0 ] ; then + einfo "Bringing up interface $bond" + else + eerror "Bringing up interface $bond" + fi + if [ "X${SET_IPOIB_CM}" == "Xyes" ]; then + for slave in $(echo $bond_slaves|tr , " ") ; do + set_ipoib_cm ${slave} + done + /sbin/ifconfig $bond mtu ${IPOIB_MTU} + fi + done + fi + fi + fi + + # Devices for ib_umad and ib_uverbs should now have been created. + if [ ! -d /dev/infiniband/ ]; then + eerror "udev failed to create '/dev/infiniband/' devices" + RC=1 + fi + + # Load configured modules + if [ "$POST_LOAD_MODULES" != "" ]; then + for mod in $POST_LOAD_MODULES + do + case $mod in + ib_iser) + # Voltaire requirement + /sbin/modprobe --force-modversion $mod > /dev/null 2>&1 + ;; + ib_srp) + /sbin/modprobe $mod > /dev/null 2>&1 + if [ "X${SRPHA_ENABLE}" == "Xyes" ]; then + if [ ! -x /sbin/multipath ]; then + ewarn "/sbin/multipath is required to enable SRP HA." + else + # Create 91-srp.rules file + mkdir -p /etc/udev/rules.d + if [ "$DISTRIB" == "SuSE" ]; then + cat > /etc/udev/rules.d/91-srp.rules << EOF +ACTION=="add", KERNEL=="sd*[!0-9]", RUN+="/sbin/multipath %M:%m" +EOF + fi + /sbin/modprobe dm_multipath > /dev/null 2>&1 + srp_daemon.sh & + srp_daemon_pid=$! + echo ${srp_daemon_pid} > ${srp_daemon_pidfile} + fi + fi + ;; + *) + /sbin/modprobe $mod > /dev/null 2>&1 + ;; + esac + RC=$? + [ $RC -ne 0 ] && eerror "Failed to load $mod" + done + fi + + errata_56 + sleep 1 + + # skipping udevstart stuff from ofed_scripts/openibd + + # Create vnic interfaces. This needs to be done after udevstart + if [ "X${VNIC_LOAD}" == "Xyes" ]; then + if [[ ! -e /dev/infiniband/umad0 && ! -e /dev/infiniband/umad1 ]]; then + echo "/dev/infiniband/umad0 or /dev/infiniband/umad1 not present." + echo "Cannot create VNIC interfaces." + eerror "Bringing up VNIC interfaces" + elif is_module ib_vnic; then + echo "Setting up VNIC interfaces..." + vnic_parser.pl -v > /dev/null 2>&1 + res=$? + if [ $res != 0 ]; then + if [ $res == 2 ]; then + echo "Created VNIC interfaces but with errors. Please refer to /var/log/messages." + eerror "Bringing up VNIC interfaces" + else + echo "Error in parsing VNIC configuration file. Please refer to /var/log/messages." + eerror "Bringing up VNIC interfaces" + fi + else + einfo "Bringing up VNIC interfaces" + fi + else + echo "Module ib_vnic not loaded." + eerror "Bringing up VNIC interfaces" + fi + fi + + if [ X${RENICE_IB_MAD} == "Xyes" ]; then + # Set max_ports_num_in_hca variable + count_ib_ports + ports_num=$? + list_of_ibmads="" + for (( i=1 ; $i <= ${max_ports_num_in_hca} ; i++ )) + do + list_of_ibmads="${list_of_ibmads} ib_mad${i}" + done + + ib_mad_pids=($(pidof ${list_of_ibmads} 2> /dev/null)) + num_of_root_ibmad_procs=$(/bin/ps h -o user -p ${ib_mad_pids[*]} | grep -w root | wc -l) + get_pid_retries=0 + while [ ${num_of_root_ibmad_procs} -lt $ports_num ] + do + # Wait maximum for 5 sec to get ib_mad process pid + if [ $get_pid_retries -gt 10 ]; then + echo Failed to get $ports_num ib_mad PIDs to renice. Got ${num_of_root_ibmad_procs}. + break + fi + usleep 500000 + ib_mad_pids=($(pidof ${list_of_ibmads} 2> /dev/null)) + num_of_root_ibmad_procs=$(/bin/ps h -o user -p ${ib_mad_pids[*]} | grep -w root | wc -l) + let get_pid_retries++ + done + for ib_mad_pid in ${ib_mad_pids[*]} + do + if [ "$(/bin/ps -p ${ib_mad_pid} h -o user 2> /dev/null)" == "root" ]; then + renice -19 ${ib_mad_pid} > /dev/null 2>&1 + fi + done + fi + + eoutdent + eend $RC +} + +unload() +{ + # Unload module $1 + local mod=$1 + local unload_log + if is_module $mod; then + /sbin/modprobe -r $mod > /dev/null 2>&1 + if [ $? -ne 0 ]; then + # Try rmmod if modprobe failed: case that previous installation included more IB modules. + unload_log=`/sbin/rmmod $mod 2>&1` + if [ $? -ne 0 ]; then + eerror "Unloading $mod" + if [ ! -z "${unload_log}" ]; then + echo $unload_log + fi + # get_debug_info + [ ! -z $2 ] && echo $2 + exit 1 + fi + fi + fi + +} + +stop() { + ebegin "Stopping Infiniband" + local RC=0 + + # Check if applications which use infiniband are running + local apps="opensm osmtest ibbs ibns" + local pid + + for app in $apps + do + if ( ps -ef | grep $app | grep -v grep > /dev/null 2>&1 ); then + eerror "Please stop $app and all applications running over InfiniBand" + eend 1 + return + fi + done + + if ! is_module ib_core; then + einfo "HCA driver is not loaded" + eend 0 + return + fi + + # Stop IPoIB HA daemon if running + if [ -f $ipoib_ha_pidfile ]; then + local line p + read line < $ipoib_ha_pidfile + for p in $line ; do + [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && ipoib_ha_pids="$ipoib_ha_pids $p" + done + /bin/rm -f $ipoib_ha_pidfile + fi + + if [ -n "${ipoib_ha_pids:-}" ]; then + kill -9 ${ipoib_ha_pids} > /dev/null 2>&1 + mcastpid=$(pidof -x mcasthandle) + if [ -n "${mcastpid:-}" ]; then + kill -9 ${mcastpid} > /dev/null 2>&1 + fi + fi + + # Down all bond interfaces + if ( which ib-bond &>/dev/null ) ; then + ib-bond --stop-all + fi + + # Stop SRP HA daemon if running + if [ -f $srp_daemon_pidfile ]; then + local line p + read line < $srp_daemon_pidfile + for p in $line ; do + [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && srp_daemon_pids="$srp_daemon_pids $p" + done + /bin/rm -f $srp_daemon_pidfile + fi + + if [ -n "${srp_daemon_pids:-}" ]; then + kill -15 ${srp_daemon_pids} > /dev/null 2>&1 + fi + + if [ "X${SRPHA_ENABLE}" == "Xyes" ]; then + /bin/rm -f /etc/udev/rules.d/91-srp.rules > /dev/null 2>&1 + mpath_pids=$(pidof -x multipath) + if [ -n "${mpath_pids:-}" ]; then + kill -9 ${mpath_pids} > /dev/null 2>&1 + fi + + if is_module ib_srp; then + for f in `/bin/ls /sys/class/scsi_host` + do + if [ -f /sys/class/scsi_host/$f/local_ib_port ]; then + for i in `/bin/ls -d /sys/class/scsi_host/$f/device/target*/*/block* | awk -F: '{print $NF}'` + do + mdev=`/sbin/scsi_id -g -s /block/$i 2> /dev/null` + if [ -n "${mdev}" ]; then + /sbin/multipath -f $mdev > /dev/null 2>&1 + fi + done + fi + done + fi + fi + + # Unload modules + if [ "$UNLOAD_MODULES" != "" ]; then + for mod in $UNLOAD_MODULES + do + unload $mod + done + fi + + eend $RC +} + diff --git a/sys-cluster/openib-drivers/files/openib.modprobe b/sys-cluster/openib-drivers/files/openib.modprobe new file mode 100644 index 000000000..52828fb3b --- /dev/null +++ b/sys-cluster/openib-drivers/files/openib.modprobe @@ -0,0 +1,12 @@ +# Setup aliases from ip-over-ib devices to the ip-over-ib kernel module. +# Add to this list if you have more infiniband ports. Or you can set +# IPOIB_LOAD=yes to have the ip-over-ib interfaces brought up by init.d/openib +alias ib0 ib_ipoib +alias ib1 ib_ipoib +alias ib2 ib_ipoib +alias ib3 ib_ipoib + +alias net-pf-27 ib_sdp + +#options ib_mthca msi_x=1 + diff --git a/sys-cluster/openib-drivers/metadata.xml b/sys-cluster/openib-drivers/metadata.xml new file mode 100644 index 000000000..ec06e5682 --- /dev/null +++ b/sys-cluster/openib-drivers/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB kernel modules. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-drivers/openib-drivers-1.2.5.1.ebuild b/sys-cluster/openib-drivers/openib-drivers-1.2.5.1.ebuild new file mode 100644 index 000000000..6dbef4850 --- /dev/null +++ b/sys-cluster/openib-drivers/openib-drivers-1.2.5.1.ebuild @@ -0,0 +1,220 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit rpm linux-mod + +DESCRIPTION="OpenIB kernel modules" +HOMEPAGE="http://www.openfabrics.org/" +SHORT_PV=${PV%\.[^.]} +SRC_URI="http://www.openfabrics.org/builds/ofed-${SHORT_PV}/release/OFED-${PV}.tgz" +MY_P="OFED-${PV}" +S="${WORKDIR}/ofa_kernel-${PV}" + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" + +KEYWORDS="~amd64" +IUSE="memtrack hpage-patch srp ipath iser ehca rds madeye vnic cxgb3 debug" + +RDEPEND="" +DEPEND="${RDEPEND} + virtual/linux-sources + !sys-cluster/openib-files" + +pkg_setup() { + + CONFIG_CHECK="!INFINIBAND PCI" + ERROR_INFINIBAND="Infiniband is already compiled into the kernel." + ERROR_PCI="PCI must be enabled in the kernel." + + linux-mod_pkg_setup +} + +src_unpack() { + unpack ${A} || die "unpack failed" + rpm_unpack ${MY_P}/SRPMS/ofa_kernel-${PV}-0.src.rpm + tar xzf ofa_kernel-${PV}.tgz +} + +make_target() { + local myARCH="${ARCH}" myABI="${ABI}" + ARCH="$(tc-arch-kernel)" + ABI="${KERNEL_ABI}" + + emake HOSTCC=$(tc-getBUILD_CC) CC=$(get-KERNEL_CC) $@ \ + || die "Unable to run emake $@" + + ARCH="${myARCH}" + ABI="${myABI}" +} + +src_compile() { + convert_to_m Makefile + + export CONFIG_INFINIBAND="m" + export CONFIG_INFINIBAND_IPOIB="m" + export CONFIG_INFINIBAND_SDP="m" + export CONFIG_INFINIBAND_SRP="m" + + export CONFIG_INFINIBAND_USER_MAD="m" + export CONFIG_INFINIBAND_USER_ACCESS="m" + export CONFIG_INFINIBAND_ADDR_TRANS="y" + export CONFIG_INFINIBAND_MTHCA="m" + export CONFIG_INFINIBAND_IPATH="m" + + CONF_PARAMS="--prefix=${ROOT}usr --kernel-version=${KV_FULL} + --with-core-mod + --with-ipoib-mod + --with-ipoib-cm + --with-sdp-mod + --with-user_mad-mod + --with-user_access-mod + --with-addr_trans-mod + --with-mthca-mod" + CONF_PARAMS="$CONF_PARAMS + $(use_with srp)-mod + $(use_with ipath)_inf-mod + $(use_with iser)-mod + $(use_with ehca)-mod + $(use_with rds)-mod + $(use_with madeye)-mod + $(use_with vnic)-mod + $(use_with cxgb3)-mod" + if use debug; then + CONF_PARAMS="$CONF_PARAMS + --with-mthca_debug-mod + --with-ipoib_debug-mod + --with-sdp_debug-mod + $(use_with srp)_debug-mod + $(use_with rds)_debug-mod + $(use_with vnic)_debug-mod + $(use_with cxgb3)_debug-mod" + else + CONF_PARAMS="$CONF_PARAMS + --without-mthca_debug-mod + --without-ipoib_debug-mod + --without-sdp_debug-mod" + fi + ebegin "Configuring" + local myARCH="${ARCH}" myABI="${ABI}" + ARCH="$(tc-arch-kernel)" + ABI="${KERNEL_ABI}" + ./configure ${CONF_PARAMS} ${EXTRA_ECONF} \ + || die "configure failed with options: ${CONF_PARAMS}" + ARCH="${myARCH}" + ABI="${myABI}" + eend + + #sed -i '/DEPMOD.*=.*depmod/s/=.*/= :/' ./Makefile + #grep DEPMOD Makefile + + make_target +} + +src_install() { + + make_target DESTDIR="${D}" install + + insinto /usr/include/rdma + doins "${S}/include/rdma/*.h" + insinto /usr/include/scsi + doins "${S}/include/scsi/*.h" + + insinto /etc/udev/rules.d + newins "${S}/ofed_scripts/90-ib.rules" 40-ib.rules + insinto /etc/modules.d + newins "${FILESDIR}/openib.modprobe" openib + insinto /etc/infiniband + + doinitd "${FILESDIR}/openib" + + # build openib.conf based on ofed_scripts/ofa_kernel.spec + build_ipoib=1 + build_sdp=1 + cp "${S}/ofed_scripts/openib.conf" "${T}" + IB_CONF_DIR=${T} + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "UCM_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_CM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_CM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_UCM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Increase ib_mad thread priority" >> ${IB_CONF_DIR}/openib.conf + echo "RENICE_IB_MAD=no" >> ${IB_CONF_DIR}/openib.conf + + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load MTHCA" >> ${IB_CONF_DIR}/openib.conf + echo "MTHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + if use ipath; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPATH" >> ${IB_CONF_DIR}/openib.conf + echo "IPATH_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use ehca; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load eHCA" >> ${IB_CONF_DIR}/openib.conf + echo "EHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if (( build_ipoib )); then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPoIB" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIB_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB Connected Mode" >> ${IB_CONF_DIR}/openib.conf + echo "#SET_IPOIB_CM=yes" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIBHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + echo "# PRIMARY_IPOIB_DEV=ib0" >> ${IB_CONF_DIR}/openib.conf + echo "# SECONDARY_IPOIB_DEV=ib1" >> ${IB_CONF_DIR}/openib.conf + fi + if (( build_sdp )); then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load SDP module" >> ${IB_CONF_DIR}/openib.conf + echo "#SDP_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use srp; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load SRP module" >> ${IB_CONF_DIR}/openib.conf + echo "#SRP_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable SRP High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#SRPHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + + fi + if use iser; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load ISER module" >> ${IB_CONF_DIR}/openib.conf + echo "#ISER_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + fi + if use rds; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDS module" >> ${IB_CONF_DIR}/openib.conf + echo "#RDS_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + fi + if use vnic; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load VNIC module" >> ${IB_CONF_DIR}/openib.conf + echo "#VNIC_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + + doins "${T}/openib.conf" +} + +pkg_postinst() { + + linux-mod_pkg_postinst + + einfo "Configuration file installed in /etc/infiniband/openib.conf" + einfo "To automatically initialize infiniband on boot, add openib to your" + einfo "start-up scripts, like so:" + einfo "\`rc-update add openib default\`" + +} diff --git a/sys-cluster/openib-drivers/openib-drivers-1.2.ebuild b/sys-cluster/openib-drivers/openib-drivers-1.2.ebuild new file mode 100644 index 000000000..0ce00957d --- /dev/null +++ b/sys-cluster/openib-drivers/openib-drivers-1.2.ebuild @@ -0,0 +1,223 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit rpm linux-mod + +DESCRIPTION="OpenIB kernel modules" +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/builds/ofed-${PV}/OFED-${PV}.tgz" +MY_P="OFED-${PV}" +S="${WORKDIR}/ofa_kernel-${PV}" + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" + +KEYWORDS="~amd64" +IUSE="memtrack hpage-patch srp ipath iser ehca rds madeye vnic cxgb3 debug" + +RDEPEND="" +DEPEND="${RDEPEND} + virtual/linux-sources + !sys-cluster/openib-files" + +pkg_setup() { + + CONFIG_CHECK="!INFINIBAND PCI" + ERROR_INFINIBAND="Infiniband is already compiled into the kernel." + ERROR_PCI="PCI must be enabled in the kernel." + + linux-mod_pkg_setup + + if kernel_is ge 2 6 22; then + ewarn "This version of OFED is known to fail during compilation with this kernel version". + fi +} + +src_unpack() { + unpack ${A} || die "unpack failed" + rpm_unpack ${MY_P}/SRPMS/ofa_kernel-${PV}-0.src.rpm + tar xzf ofa_kernel-${PV}.tgz +} + +make_target() { + local myARCH="${ARCH}" myABI="${ABI}" + ARCH="$(tc-arch-kernel)" + ABI="${KERNEL_ABI}" + + emake HOSTCC=$(tc-getBUILD_CC) CC=$(get-KERNEL_CC) $@ \ + || die "Unable to run emake $@" + + ARCH="${myARCH}" + ABI="${myABI}" +} + +src_compile() { + convert_to_m Makefile + + export CONFIG_INFINIBAND="m" + export CONFIG_INFINIBAND_IPOIB="m" + export CONFIG_INFINIBAND_SDP="m" + export CONFIG_INFINIBAND_SRP="m" + + export CONFIG_INFINIBAND_USER_MAD="m" + export CONFIG_INFINIBAND_USER_ACCESS="m" + export CONFIG_INFINIBAND_ADDR_TRANS="y" + export CONFIG_INFINIBAND_MTHCA="m" + export CONFIG_INFINIBAND_IPATH="m" + + CONF_PARAMS="--prefix=${ROOT}usr --kernel-version=${KV_FULL} + --with-core-mod + --with-ipoib-mod + --with-ipoib-cm + --with-sdp-mod + --with-user_mad-mod + --with-user_access-mod + --with-addr_trans-mod + --with-mthca-mod" + CONF_PARAMS="$CONF_PARAMS + $(use_with srp)-mod + $(use_with ipath)_inf-mod + $(use_with iser)-mod + $(use_with ehca)-mod + $(use_with rds)-mod + $(use_with madeye)-mod + $(use_with vnic)-mod + $(use_with cxgb3)-mod" + if use debug; then + CONF_PARAMS="$CONF_PARAMS + --with-mthca_debug-mod + --with-ipoib_debug-mod + --with-sdp_debug-mod + $(use_with srp)_debug-mod + $(use_with rds)_debug-mod + $(use_with vnic)_debug-mod + $(use_with cxgb3)_debug-mod" + else + CONF_PARAMS="$CONF_PARAMS + --without-mthca_debug-mod + --without-ipoib_debug-mod + --without-sdp_debug-mod" + fi + ebegin "Configuring" + local myARCH="${ARCH}" myABI="${ABI}" + ARCH="$(tc-arch-kernel)" + ABI="${KERNEL_ABI}" + ./configure ${CONF_PARAMS} ${EXTRA_ECONF} \ + || die "configure failed with options: ${CONF_PARAMS}" + ARCH="${myARCH}" + ABI="${myABI}" + eend + + #sed -i '/DEPMOD.*=.*depmod/s/=.*/= :/' ./Makefile + #grep DEPMOD Makefile + + make_target +} + +src_install() { + + make_target DESTDIR="${D}" install + + insinto /usr/include/rdma + doins "${S}/include/rdma/*.h" + insinto /usr/include/scsi + doins "${S}/include/scsi/*.h" + + insinto /etc/udev/rules.d + newins "${S}/ofed_scripts/90-ib.rules" 40-ib.rules + insinto /etc/modules.d + newins "${FILESDIR}/openib.modprobe" openib + insinto /etc/infiniband + + doinitd "${FILESDIR}/openib" + + # build openib.conf based on ofed_scripts/ofa_kernel.spec + build_ipoib=1 + build_sdp=1 + cp "${S}/ofed_scripts/openib.conf" "${T}" + IB_CONF_DIR=${T} + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "UCM_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_CM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_CM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDMA_UCM module" >> ${IB_CONF_DIR}/openib.conf + echo "RDMA_UCM_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Increase ib_mad thread priority" >> ${IB_CONF_DIR}/openib.conf + echo "RENICE_IB_MAD=no" >> ${IB_CONF_DIR}/openib.conf + + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load MTHCA" >> ${IB_CONF_DIR}/openib.conf + echo "MTHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + if use ipath; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPATH" >> ${IB_CONF_DIR}/openib.conf + echo "IPATH_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use ehca; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load eHCA" >> ${IB_CONF_DIR}/openib.conf + echo "EHCA_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if (( build_ipoib )); then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load IPoIB" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIB_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB Connected Mode" >> ${IB_CONF_DIR}/openib.conf + echo "#SET_IPOIB_CM=yes" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable IPoIB High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#IPOIBHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + echo "# PRIMARY_IPOIB_DEV=ib0" >> ${IB_CONF_DIR}/openib.conf + echo "# SECONDARY_IPOIB_DEV=ib1" >> ${IB_CONF_DIR}/openib.conf + fi + if (( build_sdp )); then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load SDP module" >> ${IB_CONF_DIR}/openib.conf + echo "#SDP_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + if use srp; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load SRP module" >> ${IB_CONF_DIR}/openib.conf + echo "#SRP_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + # from ofa_user.spec: + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Enable SRP High Availability daemon" >> ${IB_CONF_DIR}/openib.conf + echo "#SRPHA_ENABLE=no" >> ${IB_CONF_DIR}/openib.conf + + fi + if use iser; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load ISER module" >> ${IB_CONF_DIR}/openib.conf + echo "#ISER_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + fi + if use rds; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load RDS module" >> ${IB_CONF_DIR}/openib.conf + echo "#RDS_LOAD=no" >> ${IB_CONF_DIR}/openib.conf + fi + if use vnic; then + echo >> ${IB_CONF_DIR}/openib.conf + echo "# Load VNIC module" >> ${IB_CONF_DIR}/openib.conf + echo "#VNIC_LOAD=yes" >> ${IB_CONF_DIR}/openib.conf + fi + + doins "${T}/openib.conf" +} + +pkg_postinst() { + + linux-mod_pkg_postinst + + einfo "Configuration file installed in /etc/infiniband/openib.conf" + einfo "To automatically initialize infiniband on boot, add openib to your" + einfo "start-up scripts, like so:" + einfo "\`rc-update add openib default\`" + +} diff --git a/sys-cluster/openib-files/ChangeLog b/sys-cluster/openib-files/ChangeLog new file mode 100644 index 000000000..167ed06e9 --- /dev/null +++ b/sys-cluster/openib-files/ChangeLog @@ -0,0 +1,9 @@ +# ChangeLog for sys-cluster/openib-files +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*openib-files-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib-files/Manifest b/sys-cluster/openib-files/Manifest new file mode 100644 index 000000000..6a34e5290 --- /dev/null +++ b/sys-cluster/openib-files/Manifest @@ -0,0 +1,8 @@ +AUX 90-ib.rules 232 RMD160 13aeac8b6ee3bb486257d1e43ce3ab73383816e9 SHA1 df6bde030ba8916eb5872b936fe816cebd189005 SHA256 c44d4937d60bb5b02d2b73d0a0e59a6b094555b060e31f2193c546dfe146f5d3 +AUX openib 6872 RMD160 4ae1cd16d54f38cd5cf8fdc8ab5b1e52ebcc9ea4 SHA1 0bce1d0384751d94d89f620b87bb4c553d205a58 SHA256 ba5d3071f6afe729fd1c6da25036c548c1c22d7eba3aa7fbf81cdbfd2eda1bcb +AUX openib.conf 498 RMD160 4f8ebd6e32feade5927331561f15411bb8d7f9fe SHA1 2a1edc293445b94b27aec85acdfba22e9b73ceec SHA256 8c12ebe735d32f75c1bd4b66077e2642fa26a015cfc7992594066d7feb9fa962 +AUX openib.modprobe 350 RMD160 a40e8656ee1bdfc26a86b65aa3eaf5553a93b7b8 SHA1 623adbeccde3e88ce2c39d113a409c4d14091f0d SHA256 32054c7ee7caffc21ed320a9be5d0c2cd85e51295c0515521373d658f55ee68e +DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a +EBUILD openib-files-1.1.ebuild 1019 RMD160 949c2e69dae6c07ed8494bc9c5315f7262d00c7d SHA1 02658aafc045d29692ac06b69236711b77d4dd20 SHA256 af41b2cfcda95d1beacbe213dd320000eb70ff71dbb8ffbb38afb3036239e549 +MISC ChangeLog 239 RMD160 316d2d52c157d25f13ee81ac816f5613f59e8c1d SHA1 b7334c4c17bf6e0f07017db185e36a3572631bed SHA256 caf09772e04067e351ba3e541093dbde95258003e4c33f59a520e2691eaabfd6 +MISC metadata.xml 231 RMD160 064e6234f88fbb875c0c8fcc15c6b94dac933543 SHA1 cf668e559ad68beff6f02f857375242b7dd31754 SHA256 c41922d8d18696ec022ac5d34af8583bbb4b6eff6698ae5f0aa9c87631d112d7 diff --git a/sys-cluster/openib-files/files/90-ib.rules b/sys-cluster/openib-files/files/90-ib.rules new file mode 100644 index 000000000..789668486 --- /dev/null +++ b/sys-cluster/openib-files/files/90-ib.rules @@ -0,0 +1,5 @@ +KERNEL=="umad*", NAME="infiniband/%k" +KERNEL=="issm*", NAME="infiniband/%k" +KERNEL=="uverbs*", NAME="infiniband/%k", MODE="0666" +KERNEL=="ucm*", NAME="infiniband/%k", MODE="0666" +KERNEL=="rdma_cm", NAME="infiniband/%k", MODE="0666" diff --git a/sys-cluster/openib-files/files/openib b/sys-cluster/openib-files/files/openib new file mode 100755 index 000000000..895f34be5 --- /dev/null +++ b/sys-cluster/openib-files/files/openib @@ -0,0 +1,243 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# Based on openibd script from openfabrics.org, +# Copyright (c) 2006 Mellanox Technologies. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +depend() { + after coldplug hotplug + before net # init openib before starting any ipoib interfaces +} + +OPENIB_CONFDIR=${OPENIB_CONFDIR:-/etc/infiniband} + +if [[ -r ${OPENIB_CONFDIR}/openib.conf ]] ; then + . ${OPENIB_CONFDIR}/openib.conf +fi + +# Setting OpenIB start parameters +POST_LOAD_MODULES="" + +if [ "X${SDP_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_sdp" + IPOIB_LOAD="yes" +fi + +IPOIB=0 +if [ "X${IPOIB_LOAD}" == "Xyes" ]; then + IPOIB=1 +fi + +if [ "X${SRP_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp" +fi + +if [ "X${SRP_TARGET_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_srp_target" +fi + +if [ "X${RDMA_CM_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_cm" +fi + +if [ "X${UCM_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_ucm" +fi + +if [ "X${RDS_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_rds" +fi + +if [ "X${ISER_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES ib_iser" +fi + +if [ "X${RDMA_UCM_LOAD}" == "Xyes" ]; then + POST_LOAD_MODULES="$POST_LOAD_MODULES rdma_ucm" +fi + +PRE_UNLOAD_MODULES="ib_rds ib_ucm kdapl ib_srp_target scsi_target ib_srp ib_iser ib_sdp rdma_ucm rdma_cm ib_addr ib_cm ib_local_sa findex" + +# W/A for unloading modules +POST_UNLOAD_MODULES="$PRE_UNLOAD_MODULES ib_ipoib ib_sa ib_uverbs ib_umad" +# ib_mthca ib_ipath - don't unload unless they are in openib.conf +[[ "${MTHCA_LOAD}" == "yes" ]] && \ + POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mthca" +[[ "${IPATH_LOAD}" == "yes" ]] && \ + POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_ipath ipath_core" + +[[ "${MTHCA_LOAD}" == "yes" || "${IPATH_LOAD}" == "yes" ]] && \ + POST_UNLOAD_MODULES="$POST_UNLOAD_MODULES ib_mad ib_core" + +#STATUS_MODULES="rdma_ucm ib_rds ib_srp ib_sdp rdma_cm ib_addr ib_local_sa findex ib_ipoib ib_ipath ipath_core ib_mthca ib_uverbs ib_umad ib_ucm ib_sa ib_cm ib_mad ib_core" + + +# If module $1 is loaded return - 0 else - 1 +is_module() +{ + local RC + + /sbin/lsmod | grep -w "$1" > /dev/null 2>&1 + RC=$? + + return $RC +} + +unload() +{ + # Unload module $1 + if is_module $mod; then + /sbin/modprobe -r $mod > /dev/null 2>&1 + if [ $? -ne 0 ]; then + # Try rmmod if modprobe failed: case that previous installation included more IB modules. + /sbin/rmmod $mod > /dev/null 2>&1 + if [ $? -ne 0 ]; then + ewarn "Failed to unload $mod" + return 1 + fi + fi + fi +} + +start() { + local RC=0 + ebegin "Initializing Infiniband" + eindent + + # Load Mellanox HCA driver if explicitly requested + # (however, it should be loaded automatically by udev) + + einfo "Loading HCA and Access Layer drivers" + + if [[ "${MTHCA_LOAD}" == "yes" ]]; then + /sbin/modprobe ib_mthca > /dev/null 2>&1 + RC=$[ $RC + $? ] + fi + if [[ "${IPATH_LOAD}" == "yes" ]]; then + /sbin/modprobe ib_ipath > /dev/null 2>&1 + RC=$[ $RC + $? ] + fi + + # Add node description to sysfs + IBSYSDIR="/sys/class/infiniband" + if [ -d ${IBSYSDIR} ]; then + declare -i hca_id=1 + for hca in ${IBSYSDIR}/*; do + if [ -e ${hca}/node_desc ]; then + echo -n "$(hostname -s) HCA-${hca_id}" >> ${hca}/node_desc + fi + let hca_id++ + done + fi + /sbin/modprobe ib_umad > /dev/null 2>&1 + RC=$[ $RC + $? ] + /sbin/modprobe ib_uverbs > /dev/null 2>&1 + RC=$[ $RC + $? ] + + if [ $IPOIB -eq 1 ]; then + # this section is not necessary if all ib-over-ib devices are + # aliased properly in /etc/modules.d/openib + einfo "loading ib_ipoib module" + /sbin/modprobe ib_ipoib > /dev/null 2>&1 + RC=$[ $RC + $? ] + if (( ! RC )); then + # start the ipoib devices automatically... + # this is probably a bad idea (the concept is taken from the + # original SUSE/Redhat-based initscript), and should be removed. + # But it works, and is not enabled by default. So I leave it here + # for second opinions. + local ibdevs=`rc-status -u -nc |egrep 'net\.ib[0-9a-zA-Z]+.*stopped' | awk '{print $1}'` + if [ -n "$ibdevs" ] ; then + einfo "starting ipoib devices" + for ibdev in $ibdevs; do + /etc/init.d/$ibdev start + done + fi + fi + fi + + # Devices for ib_umad and ib_uverbs should now have been created. + if [ ! -d /dev/infiniband/ ]; then + eerror "udev failed to create '/dev/infiniband/' devices" + RC=1 + fi + + # Load configured modules + if [ "$POST_LOAD_MODULES" != "" ]; then + for mod in $POST_LOAD_MODULES + do + case $mod in + ib_iser) + # Voltaire requirement + /sbin/modprobe --force-modversion $mod > /dev/null 2>&1 + ;; + *) + /sbin/modprobe $mod > /dev/null 2>&1 + ;; + esac + RC=$? + [ $RC -ne 0 ] && eerror "Failed to load $mod" + done + fi + + eoutdent + eend $RC +} + +stop() { + ebegin "Stopping Infiniband" + local RC=0 + + # Check if applications which use infiniband are running + local apps="opensm osmtest ibbs ibns" + local pid + + for app in $apps + do + if ( ps -ef | grep $app | grep -v grep > /dev/null 2>&1 ); then + eerror "Please stop $app and all applications running over InfiniBand" + eend 1 + return + fi + done + + if ! is_module ib_core; then + einfo "HCA driver is not loaded" + eend 0 + return + fi + + # Unload ULPs modules + + if [ "$PRE_UNLOAD_MODULES" != "" ]; then + for mod in $PRE_UNLOAD_MODULES + do + unload $mod || { eend 1; return; } + done + fi + + # Remove srp_presistant_bind.sh before removing ib_srp module + PID_SCRPT_TO_KILL=`ps -efww | grep srp_persistent | grep -v grep | awk '{print $2}'` + if ! [ "$PID_SCRPT_TO_KILL" == "" ]; then + PID_SLEEP_TO_KILL=`ps -efww | grep $PID_SCRPT_TO_KILL | grep sleep | awk '{print $2}'` + kill -9 $PID_SCRPT_TO_KILL + fi + if ! [ "$PID_SLEEP_TO_KILL" == "" ]; then + kill -9 $PID_SLEEP_TO_KILL + fi + + # Unload OpenIB modules + + if [ "$POST_UNLOAD_MODULES" != "" ]; then + for mod in $POST_UNLOAD_MODULES + do + unload $mod || RC=1 + done + fi + + eend $RC +} + diff --git a/sys-cluster/openib-files/files/openib.conf b/sys-cluster/openib-files/files/openib.conf new file mode 100644 index 000000000..9b4eb2928 --- /dev/null +++ b/sys-cluster/openib-files/files/openib.conf @@ -0,0 +1,27 @@ +# uncomment to load ib_ipoib module +#IPOIB_LOAD=yes + +# uncomment to load ib_sdp module (implies IPOIB_LOAD=yes) +#SDP_LOAD=yes + +# uncomment to load ib_srp module +#SRP_LOAD=yes + +# uncomment to load ib_srp_target module +#SRP_TARGET_LOAD=yes + +# uncomment to load rdma_cm module +#RDMA_CM_LOAD=yes + +# uncomment to load ib_ucm module +#UCM_LOAD=yes + +# uncomment to load ib_rds module +#RDS_LOAD=yes + +# uncomment to load ib_iser module +#ISER_LOAD=yes + +# uncomment to load rdma_ucm module +#RDMA_UCM_LOAD=yes + diff --git a/sys-cluster/openib-files/files/openib.modprobe b/sys-cluster/openib-files/files/openib.modprobe new file mode 100644 index 000000000..52828fb3b --- /dev/null +++ b/sys-cluster/openib-files/files/openib.modprobe @@ -0,0 +1,12 @@ +# Setup aliases from ip-over-ib devices to the ip-over-ib kernel module. +# Add to this list if you have more infiniband ports. Or you can set +# IPOIB_LOAD=yes to have the ip-over-ib interfaces brought up by init.d/openib +alias ib0 ib_ipoib +alias ib1 ib_ipoib +alias ib2 ib_ipoib +alias ib3 ib_ipoib + +alias net-pf-27 ib_sdp + +#options ib_mthca msi_x=1 + diff --git a/sys-cluster/openib-files/metadata.xml b/sys-cluster/openib-files/metadata.xml new file mode 100644 index 000000000..32075071c --- /dev/null +++ b/sys-cluster/openib-files/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB system files and examples. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-files/openib-files-1.1.ebuild b/sys-cluster/openib-files/openib-files-1.1.ebuild new file mode 100644 index 000000000..4848236f0 --- /dev/null +++ b/sys-cluster/openib-files/openib-files-1.1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB system files and examples" +HOMEPAGE="http://www.openfabrics.org/" +#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz" +SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz" +S="${WORKDIR}/openib-userspace-${PV}/src/userspace/examples" + +IUSE="" + +DEPEND="" + +src_install() { + docinto examples/aio + dodoc aio/* + insinto /etc/udev/rules.d + doins ${FILESDIR}/90-ib.rules + doinitd ${FILESDIR}/openib + insinto /etc/infiniband + doins ${FILESDIR}/openib.conf + insinto /etc/modules.d + newins ${FILESDIR}/openib.modprobe openib +} + +pkg_postinst() { + /sbin/modules-update + einfo "Configuration file installed in /etc/infiniband/openib.conf" + einfo "To automatically initialize infiniband on boot, add openib to your" + einfo "start-up scripts, like so:" + einfo "\`rc-update add openib default\`" +} + diff --git a/sys-cluster/openib-mvapich2/ChangeLog b/sys-cluster/openib-mvapich2/ChangeLog new file mode 100644 index 000000000..8677663c2 --- /dev/null +++ b/sys-cluster/openib-mvapich2/ChangeLog @@ -0,0 +1,17 @@ +# ChangeLog for sys-cluster/openib-mvapich2 +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*openib-mvapich2-1.0.1 (26 Nov 2007) +*openib-mvapich2-1.0 (26 Nov 2007) + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Version bump to 1.0.1 + +openib-mvapich2-1.0.ebuild: added + +openib-mvapich2-1.0.1.ebuild: added + +*openib-mvapich2-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib-mvapich2/Manifest b/sys-cluster/openib-mvapich2/Manifest new file mode 100644 index 000000000..68915f562 --- /dev/null +++ b/sys-cluster/openib-mvapich2/Manifest @@ -0,0 +1,10 @@ +DIST mvapich2-0.9.5.tar.gz 13873 RMD160 56e146c80be3cd7b5f1e1469f20e2c17549b15d7 SHA1 4026f5d3b32fc279a1480842599f0dd1a04b4621 SHA256 1dcd75956f8d947c5cbdeed39d7d39440d9cb0132aa3607042452514ca922d8f +DIST mvapich2-0.9.6.tar.gz 13873 RMD160 56e146c80be3cd7b5f1e1469f20e2c17549b15d7 SHA1 4026f5d3b32fc279a1480842599f0dd1a04b4621 SHA256 1dcd75956f8d947c5cbdeed39d7d39440d9cb0132aa3607042452514ca922d8f +DIST mvapich2-1.0.1.tar.gz 14062480 RMD160 da9e4dd07998d82ead0276e8b264a487c4d4fe79 SHA1 3edc9720251f8060e0f9c8cc58800a45a66cc7ae SHA256 a20fb87ed674bec3b2de87c47cc3965c33248e00b37f7eb08ba40d0bab07ca5e +DIST mvapich2-1.0.tar.gz 14061056 RMD160 ba57d0d51bbdd3956dce446575d2ecbed4fe5b2f SHA1 b2f6ecf3e3b06c63b443bbcc55c2043f6d683f67 SHA256 30c0849dc7e8d4581cfee16a824f5e384e8198b60b7f54f880f4e25da7d1c143 +EBUILD openib-mvapich2-0.9.5.ebuild 3222 RMD160 e0b6bc33447310ae3a399ec1b4c863608b0e2d56 SHA1 23177acf2877974819632521e268b032af23d5be SHA256 6824f36f6017c2b25180b60255f00ae217249bf053f64d5d762f5432d8db62ee +EBUILD openib-mvapich2-0.9.6.ebuild 3222 RMD160 f0ebda625161eb96f3b10273fdaa79db32b96f80 SHA1 3b6c16795f0c11be899a53c65df7d59e67d473d3 SHA256 9631de54a42fb009d5d7deb31a3b0e942da6a8bb2d52239d07291ab49e55387b +EBUILD openib-mvapich2-1.0.1.ebuild 3124 RMD160 a7ac3beae7fbb6e5b8b188eb597ccf80e937b3a1 SHA1 dc1f83357d0d8e151a51897ce666972db6e9bf3a SHA256 831c25b8e13607b6171fd09b7705eb92aef30209c34107337fb49046891fa902 +EBUILD openib-mvapich2-1.0.ebuild 3124 RMD160 a7ac3beae7fbb6e5b8b188eb597ccf80e937b3a1 SHA1 dc1f83357d0d8e151a51897ce666972db6e9bf3a SHA256 831c25b8e13607b6171fd09b7705eb92aef30209c34107337fb49046891fa902 +MISC ChangeLog 482 RMD160 510c7ea0092869a20c5a0b4b331bee81eff6fc58 SHA1 7359ad77ba4cc10fba307d22212fded8736950dc SHA256 7eba1c1d9c260c8c7b2477e13aff03e1cc6d266aab5ab0e3c1b2ce34d6aa4ed4 +MISC metadata.xml 262 RMD160 2e8cfe97bd1a25814de0657adb7f9ab7f2861895 SHA1 e8a4f573ce01738445befdd0a3e597a79385c0cb SHA256 c54bb4a2708874d3875753c62b071b05f08f6947f71767ac26a4063ad3e4871a diff --git a/sys-cluster/openib-mvapich2/metadata.xml b/sys-cluster/openib-mvapich2/metadata.xml new file mode 100644 index 000000000..537c22a0e --- /dev/null +++ b/sys-cluster/openib-mvapich2/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.5.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.5.ebuild new file mode 100644 index 000000000..185418af5 --- /dev/null +++ b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.5.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# WARNING: this script is interactive - it requires user-input once to verify +# the type of HCA to configure for. This needs to be fixed to take out the +# interactivity. + +SLOT="0" +LICENSE="BSD" + +KEYWORDS="~amd64" + +DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB." + +HOMEPAGE="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/" +SRC_URI="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/download-mvapich2/mvapich2-$PV.tar.gz" + +S="${WORKDIR}/mvapich2-$PV" + +IUSE="threads debug medium-cluster large-cluster" + +DEPEND=" + || ( sys-cluster/libibverbs + sys-cluster/openib-userspace ) + || ( sys-cluster/librdmacm + sys-cluster/openib-userspace )" +RDEPEND="${DEPEND}" + +pkg_setup() { + ARCH= + VCLUSTER=_SMALL_CLUSTER + HAVE_MPD_RING="-DUSE_MPD_RING" + + if use amd64; then + if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then + ARCH=_EM64T_ + else + ARCH=_X86_64_ + fi + elif use x86; then + ARCH=_IA32_ + elif use ia64; then + ARCH=_IA64_ + elif use ppc64; then + ARCH=_PPC64_ + else + die "unsupported architecture" + fi +} + +src_compile() { + if use large-cluster; then + VCLUSTER=_LARGE_CLUSTER + elif use medium-cluster; then + VCLUSTER=_MEDIUM_CLUSTER + fi + + source "${S}/make.mvapich2.detect" + + # Check if SRQ is valid. for this platform. + ENABLE_SRQ="-DSRQ" + + if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then + ENABLE_SRQ="" + fi + + export LIBS="-libverbs -lpthread" + export CFLAGS="${CFLAGS} -D${ARCH} \ + -DUSE_INLINE -D_SMP_ -DADAPTIVE_RDMA_FAST_PATH \ + -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \ + -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \ + ${HAVE_MPD_RING} -D${VCLUSTER}" + + local myconf + use debug && myconf="$myconf --enable-g=all --enable-debuginfo" + if [ $(use threads) ]; then + myconf="$myconf --enable-threads=multiple" + else + : # myconf="$myconf --enable-threads=serialized" + fi + sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \ + -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ./Makefile.in + sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ./src/pm/mpd/Makefile.in + ./configure \ + --prefix=/opt/mvapich2-gen2 \ + --host=${CHOST} \ + --infodir=/usr/share/info \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \ + --disable-romio --without-mpe \ + $myconf ${EXTRA_ECONF} \ + || die "could not configure" + emake -j1 || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + doenvd "${FILESDIR}/99openib-mvapich2" + dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \ + README* RELEASE_NOTES* +} + +pkg_postinst() { + einfo "To allow normal users to use infiniband, it is necessary to" + einfo "increase the system limits on locked memory." + einfo "You must increase the kernel.shmmax sysctl value, and increase" + einfo "the memlock limits in /etc/security/limits.conf. i.e.:" + echo + einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf" + einfo "echo 512000000 > /proc/sys/kernel/shmmax" + einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf" +} + diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.6.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.6.ebuild new file mode 100644 index 000000000..292f6e9ec --- /dev/null +++ b/sys-cluster/openib-mvapich2/openib-mvapich2-0.9.6.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# WARNING: this script is interactive - it requires user-input once to verify +# the type of HCA to configure for. This needs to be fixed to take out the +# interactivity. + +SLOT="0" +LICENSE="BSD" + +KEYWORDS="-amd64" + +DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB." + +HOMEPAGE="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/" +SRC_URI="http://nowlab.cse.ohio-state.edu/projects/mpi-iba/download-mvapich2/mvapich2-$PV.tar.gz" + +S="${WORKDIR}/mvapich2-$PV" + +IUSE="threads debug medium-cluster large-cluster" + +DEPEND=" + || ( sys-cluster/libibverbs + sys-cluster/openib-userspace ) + || ( sys-cluster/librdmacm + sys-cluster/openib-userspace )" +RDEPEND="${DEPEND}" + +pkg_setup() { + ARCH= + VCLUSTER=_SMALL_CLUSTER + HAVE_MPD_RING="-DUSE_MPD_RING" + + if use amd64; then + if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then + ARCH=_EM64T_ + else + ARCH=_X86_64_ + fi + elif use x86; then + ARCH=_IA32_ + elif use ia64; then + ARCH=_IA64_ + elif use ppc64; then + ARCH=_PPC64_ + else + die "unsupported architecture" + fi +} + +src_compile() { + if use large-cluster; then + VCLUSTER=_LARGE_CLUSTER + elif use medium-cluster; then + VCLUSTER=_MEDIUM_CLUSTER + fi + + source "${S}/make.mvapich2.detect" + + # Check if SRQ is valid. for this platform. + ENABLE_SRQ="-DSRQ" + + if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then + ENABLE_SRQ="" + fi + + export LIBS="-libverbs -lpthread" + export CFLAGS="${CFLAGS} -D${ARCH} \ + -DUSE_INLINE -D_SMP_ -DADAPTIVE_RDMA_FAST_PATH \ + -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \ + -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \ + ${HAVE_MPD_RING} -D${VCLUSTER}" + + local myconf + use debug && myconf="$myconf --enable-g=all --enable-debuginfo" + if [ $(use threads) ]; then + myconf="$myconf --enable-threads=multiple" + else + : # myconf="$myconf --enable-threads=serialized" + fi + sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \ + -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ./Makefile.in + sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ./src/pm/mpd/Makefile.in + ./configure \ + --prefix=/opt/mvapich2-gen2 \ + --host=${CHOST} \ + --infodir=/usr/share/info \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \ + --disable-romio --without-mpe \ + $myconf ${EXTRA_ECONF} \ + || die "could not configure" + emake -j1 || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + doenvd "${FILESDIR}/99openib-mvapich2" + dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \ + README* RELEASE_NOTES* +} + +pkg_postinst() { + einfo "To allow normal users to use infiniband, it is necessary to" + einfo "increase the system limits on locked memory." + einfo "You must increase the kernel.shmmax sysctl value, and increase" + einfo "the memlock limits in /etc/security/limits.conf. i.e.:" + echo + einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf" + einfo "echo 512000000 > /proc/sys/kernel/shmmax" + einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf" +} + diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.1.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.1.ebuild new file mode 100644 index 000000000..73ad86918 --- /dev/null +++ b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# WARNING: this script is interactive - it requires user-input once to verify +# the type of HCA to configure for. This needs to be fixed to take out the +# interactivity. + +SLOT="0" +LICENSE="BSD" + +KEYWORDS="~amd64" + +DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB." + +HOMEPAGE="http://mvapich.cse.ohio-state.edu/" +SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tar.gz" + +S="${WORKDIR}/mvapich2-${PV/_/-}" + +IUSE="threads debug medium-cluster large-cluster rdma" + +RDEPEND=" + || ( ( sys-cluster/libibverbs + sys-cluster/libibumad + sys-cluster/libibmad + rdma? ( sys-cluster/librdmacm ) ) + sys-cluster/openib-userspace )" +DEPEND="${RDEPEND}" + +pkg_setup() { + ARCH= + VCLUSTER=_SMALL_CLUSTER + HAVE_MPD_RING="-DUSE_MPD_RING" + + if use amd64; then + if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then + ARCH=_EM64T_ + else + ARCH=_X86_64_ + fi + elif use x86; then + ARCH=_IA32_ + elif use ia64; then + ARCH=_IA64_ + elif use ppc64; then + ARCH=_PPC64_ + else + die "unsupported architecture" + fi +} + +src_compile() { + if use large-cluster; then + VCLUSTER=_LARGE_CLUSTER + elif use medium-cluster; then + VCLUSTER=_MEDIUM_CLUSTER + fi + + source ${S/-beta2/}/make.mvapich2.detect + + # Check if SRQ is valid. for this platform. + ENABLE_SRQ="-DSRQ" + + if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then + ENABLE_SRQ="" + fi + + export LIBS="-libverbs -lpthread -libumad -libmad" + if use rdma; then + export LIBS="${LIBS} -lrdmacm" + export CFLAGS="${CFLAGS} -DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM" + fi + export CFLAGS="${CFLAGS} -D${ARCH} \ + -DUSE_INLINE -D_SMP_ \ + -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \ + -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \ + ${HAVE_MPD_RING} -D${VCLUSTER}" + + local myconf + use debug && myconf="$myconf --enable-g=all --enable-debuginfo" + use threads && myconf="$myconf --enable-threads=multiple" + + sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \ + -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ${S/-beta2/}/Makefile.in + sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in + cd ${S/-beta2/} + econf \ + --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \ + --disable-romio --without-mpe \ + $myconf ${EXTRA_ECONF} \ + || die "could not configure" + emake -j1 || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \ + README* RELEASE_NOTES* +} + +pkg_postinst() { + einfo "To allow normal users to use infiniband, it is necessary to" + einfo "increase the system limits on locked memory." + einfo "You must increase the kernel.shmmax sysctl value, and increase" + einfo "the memlock limits in /etc/security/limits.conf. i.e.:" + echo + einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf" + einfo "echo 512000000 > /proc/sys/kernel/shmmax" + einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf" +} + diff --git a/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.ebuild b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.ebuild new file mode 100644 index 000000000..73ad86918 --- /dev/null +++ b/sys-cluster/openib-mvapich2/openib-mvapich2-1.0.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# WARNING: this script is interactive - it requires user-input once to verify +# the type of HCA to configure for. This needs to be fixed to take out the +# interactivity. + +SLOT="0" +LICENSE="BSD" + +KEYWORDS="~amd64" + +DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB." + +HOMEPAGE="http://mvapich.cse.ohio-state.edu/" +SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tar.gz" + +S="${WORKDIR}/mvapich2-${PV/_/-}" + +IUSE="threads debug medium-cluster large-cluster rdma" + +RDEPEND=" + || ( ( sys-cluster/libibverbs + sys-cluster/libibumad + sys-cluster/libibmad + rdma? ( sys-cluster/librdmacm ) ) + sys-cluster/openib-userspace )" +DEPEND="${RDEPEND}" + +pkg_setup() { + ARCH= + VCLUSTER=_SMALL_CLUSTER + HAVE_MPD_RING="-DUSE_MPD_RING" + + if use amd64; then + if [ -n "`grep 'model name' </proc/cpuinfo |grep Intel`" ]; then + ARCH=_EM64T_ + else + ARCH=_X86_64_ + fi + elif use x86; then + ARCH=_IA32_ + elif use ia64; then + ARCH=_IA64_ + elif use ppc64; then + ARCH=_PPC64_ + else + die "unsupported architecture" + fi +} + +src_compile() { + if use large-cluster; then + VCLUSTER=_LARGE_CLUSTER + elif use medium-cluster; then + VCLUSTER=_MEDIUM_CLUSTER + fi + + source ${S/-beta2/}/make.mvapich2.detect + + # Check if SRQ is valid. for this platform. + ENABLE_SRQ="-DSRQ" + + if [ "$HCA_COMPILE_FLAG" == "_MLX_PCI_X_" ]; then + ENABLE_SRQ="" + fi + + export LIBS="-libverbs -lpthread -libumad -libmad" + if use rdma; then + export LIBS="${LIBS} -lrdmacm" + export CFLAGS="${CFLAGS} -DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM" + fi + export CFLAGS="${CFLAGS} -D${ARCH} \ + -DUSE_INLINE -D_SMP_ \ + -D_GNU_SOURCE -DSRQ -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER \ + -DONE_SIDED -D${HCA_COMPILE_FLAG} -DMPID_USE_SEQUENCE_NUMBERS \ + ${HAVE_MPD_RING} -D${VCLUSTER}" + + local myconf + use debug && myconf="$myconf --enable-g=all --enable-debuginfo" + use threads && myconf="$myconf --enable-threads=multiple" + + sed -i -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \ + -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' ${S/-beta2/}/Makefile.in + sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in + cd ${S/-beta2/} + econf \ + --with-device=osu_ch3:mrail --with-rdma=gen2 --with-pm=mpd \ + --disable-romio --without-mpe \ + $myconf ${EXTRA_ECONF} \ + || die "could not configure" + emake -j1 || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \ + README* RELEASE_NOTES* +} + +pkg_postinst() { + einfo "To allow normal users to use infiniband, it is necessary to" + einfo "increase the system limits on locked memory." + einfo "You must increase the kernel.shmmax sysctl value, and increase" + einfo "the memlock limits in /etc/security/limits.conf. i.e.:" + echo + einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf" + einfo "echo 512000000 > /proc/sys/kernel/shmmax" + einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf" +} + diff --git a/sys-cluster/openib-osm/ChangeLog b/sys-cluster/openib-osm/ChangeLog new file mode 100644 index 000000000..6021c853e --- /dev/null +++ b/sys-cluster/openib-osm/ChangeLog @@ -0,0 +1,14 @@ +# ChangeLog for sys-cluster/openib-osm +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 27 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + converted to standalone package + -openib-osm-1.1.ebuild: removed + +openib-osm-3.1.5.ebuild: added + +*openib-osm-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib-osm/Manifest b/sys-cluster/openib-osm/Manifest new file mode 100644 index 000000000..02984caf2 --- /dev/null +++ b/sys-cluster/openib-osm/Manifest @@ -0,0 +1,8 @@ +AUX opensm.conf 4489 RMD160 aeae8d7a83810d566cdee9e88c0a1f1955e75220 SHA1 c23f628bbd8249593b8ba411f8ebc0f4dd0f735f SHA256 ce257b09663a7cb621fb8ad4193d6831bf7532a57190b38e33e769e0d4890828 +AUX opensm.init.d 710 RMD160 eb102bc124c47d9c4be97fc67eff50034d888b4f SHA1 0b2e6a65310106c578f52792f9b9e424fb32cbaf SHA256 bda65963eed6ec5899db8695a26f5b3849c66f1cf91782ff6f07d7c6ceb696d9 +AUX opensmd 6040 RMD160 740decb4755c133bbccfde897350bda6f92bfb59 SHA1 4d0994a84f55a512e54f403c102789eae8eec673 SHA256 d010b5840632ed8e5f0706bcff8c431a1a147b259d3d15200bbddac2fba045c3 +AUX sldd.sh 6999 RMD160 3df5e20bfda04dc850d1968ead1761e683ae8940 SHA1 ee398a5faf55c0165f9fd04ac8675bd22588e7dc SHA256 3b59effb22f8138c2a12e7115949ca336a19a076cbd0d6690641f55d1d49b5cf +DIST opensm-3.1.5.tar.gz 1168944 RMD160 0ef1ce5a19cd9a8800106cd19c699a2d06e6d8de SHA1 80427c3350855b4a071a0b020a0a69a5bd7b153d SHA256 b716ab05e0b8e81609733c00b43e74bfa2b07b9444866e032d706cc9568dc0e4 +EBUILD openib-osm-3.1.5.ebuild 1185 RMD160 8401feabe3e2848b62fa47ce9e1b71368f8c5fca SHA1 0061caf4a7912633b90bb46f0baf7a7432d9b69a SHA256 27d79a20efb49eaa622f8cbc2868468a5773ccce181fade32155d4f925160a3e +MISC ChangeLog 401 RMD160 0fe62469623e5996f315a37109068c5b7ef43c80 SHA1 f06ecdbc32524f81c7eaf0967f03b9a9ea9ab5eb SHA256 f0236a9615410318497e3c58d47d899a9df057babe18bf270713f2d99841c0e6 +MISC metadata.xml 419 RMD160 f9b6f7b72f595559b5fdbf3c2bf6cad3490b5900 SHA1 be8a65515c13b833f49766db58e9486961c65078 SHA256 e33518d9908c9e6ee2629959038228160a7215b5b7e04cab593a9734c40df34b diff --git a/sys-cluster/openib-osm/files/opensm.conf b/sys-cluster/openib-osm/files/opensm.conf new file mode 100644 index 000000000..58880400d --- /dev/null +++ b/sys-cluster/openib-osm/files/opensm.conf @@ -0,0 +1,141 @@ +# DEBUG mode +# This option specifies a debug option. +# These options are not normally needed. +# The number following -d selects the debug +# option to enable as follows: +# OPT Description +# --- ----------------- +# 0 - Ignore other SM nodes. +# 1 - Force single threaded dispatching. +# 2 - Force log flushing after each log message. +# 3 - Disable multicast support. +# 4 - Put OpenSM in memory tracking mode. +# 10.. Put OpenSM in testability mode. +# none, no debug options are enabled. +DEBUG=none + +# LMC +# This option specifies the subnet's LMC value. +# The number of LIDs assigned to each port is 2^LMC. +# The LMC value must be in the range 0-7. +# LMC values > 0 allow multiple paths between ports. +# LMC values > 0 should only be used if the subnet +# topology actually provides multiple paths between +# ports, i.e. multiple interconnects between switches. +# OpenSM defaults to LMC = 0, which allows +# one path between any two ports. +LMC=0 + +# MAXSMPS +# This option specifies the number of VL15 SMP MADs +# allowed on the wire at any one time. +# Specifying -maxsmps 0 allows unlimited outstanding SMPs. +# Without -maxsmps, OpenSM defaults to a maximum of +# one outstanding SMP. +MAXSMPS=0 + +# REASSIGN_LIDS +# This option causes OpenSM to reassign LIDs to all +# end nodes. Specifying "REASSIGN_LIDS=yes" on a running subnet +# may disrupt subnet traffic. +# With "REASSIGN_LIDS=no", OpenSM attempts to preserve existing +# LID assignments resolving multiple use of same LID. +REASSIGN_LIDS="no" + +# SWEEP +# This option specifies the number of seconds between +# subnet sweeps. Specifying SWEEP=0 disables sweeping. +# OpenSM defaults to a sweep interval of 10 seconds. +SWEEP=10 + +# TIMEOUT +# This option specifies the time in milliseconds +# used for transaction timeouts. +# Specifying -t 0 disables timeouts. +# Without -t, OpenSM defaults to a timeout value of +# 100 milliseconds. +TIMEOUT=200 + + +# OSM_LOG +# This option defines the log to be the given file. +# By default the log goes to /tmp/osm.log. +# For the log to go to standard output use OSM_LOG=stdout. +OSM_LOG=/tmp/osm.log + +# VERBOSE +# This option increases the log verbosity level. +# The "-v" option may be specified multiple times +# to further increase the verbosity level. +# "-V" option sets the maximum verbosity level and +# forces log flushing. +# The "-V" is equivalent to "-vf 0xFF -d 2". +VERBOSE="none" + +# UPDN +# This option activate UPDN algorithm instead of Min Hop +# algorithm (default). +# To switch on UPDN algorithm set UPDN="on" +UPDN="off" + + +# GUID_FILE +# This option only allowed when UPDN algorithm is activated +# It specifies the guid list file from which to fetch the guid list +# The file contain in each line only one valid guid +GUID_FILE="none" + +# This option specifies the local port GUID value +# with which OpenSM should bind. OpenSM may be +# bound to 1 port at a time. +# If GUID given is 0, opensmd use PORT_NUM parameter. +# Without -g (GUID="none"), OpenSM trys to use the default port. +GUID=0 + +# OSM_HOSTS +# The list of all SM's IP addresses in InfiniBand subnet +# Used to handover mechanism +OSM_HOSTS="" + +# OSM_CACHE_DIR +OSM_CACHE_DIR=/var/cache/osm + +# CACHE_OPTIONS +# Cache the given command line options into the file +# /var/cache/osm/opensm.opts for use next invocation +# The cache directory can be changed by the environment +# variable OSM_CACHE_DIR +# Set to '--cache-options' or '-c' in order to enable +CACHE_OPTIONS="none" + +# HONORE_GUID2LID +# This option forces OpenSM to honor the guid2lid file, +# when it comes out of Standby state, if such file exists +# under OSM_CACHE_DIR, and is valid. +# Set to '--honor_guid2lid' or '-x' to enable. +# By default this is FALSE. Will be set automatically to '--honor_guid2lid' +# if OSM_HOSTS includes list of more then one IP addresses. +HONORE_GUID2LID="none" + +# RCP +# This option osed by SLDD daemon for handover mechanism +# to copy local cache file to remote computer +RCP=/usr/bin/scp + +# RSH +# This option osed by SLDD daemon for handover mechanism +# to execute commands on remote computer +RSH=/usr/bin/ssh + +# RESCAN_TIME +# This option osed by SLDD daemon for handover mechanism +# Time between sweep of sldd daemon in seconds +RESCAN_TIME=60 + +# PORT_NUM +# This option defines HCA's port number which OpenSM should bind +PORT_NUM=1 + +# ONBOOT +# To start OpenSM automatically set ONBOOT=yes +ONBOOT=no diff --git a/sys-cluster/openib-osm/files/opensm.init.d b/sys-cluster/openib-osm/files/opensm.init.d new file mode 100755 index 000000000..72a46652f --- /dev/null +++ b/sys-cluster/openib-osm/files/opensm.init.d @@ -0,0 +1,28 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# Based on opensm script from openfabrics.org, +# Copyright (c) 2006 Mellanox Technologies. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need openib + after net # ip net seems to be needed to perform management. +} + +prog=/usr/bin/opensm + +start() { + ebegin "Starting OpenSM Infiniband Subnet Manager" + start-stop-daemon --start --background --exec $prog -- $OPTIONS + eend $? +} + +stop() { + ebegin "Stopping OpenSM Infiniband Subnet Manager" + start-stop-daemon --stop --exec $prog + eend $? +} + diff --git a/sys-cluster/openib-osm/files/opensmd b/sys-cluster/openib-osm/files/opensmd new file mode 100755 index 000000000..19b63066b --- /dev/null +++ b/sys-cluster/openib-osm/files/opensmd @@ -0,0 +1,277 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# Based on opensmd script from openfabrics.org, +# Copyright (c) 2006 Mellanox Technologies. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need openib + after net # ip net seems to be needed to perform management. +} + +if [ -r /etc/opensm.conf ]; then + . /etc/opensm.conf +fi + +prog=/usr/bin/opensm +bin=${prog##*/} + +# Handover daemon for updating guid2lid cache file +sldd_prog=/usr/bin/sldd.sh +sldd_bin=${sldd_prog##*/} +sldd_pid_file=/var/run/sldd.pid + +# Setting OpenSM start parameters +PID_FILE=/var/run/${bin}.pid + +if [[ -z $DEBUG || "$DEBUG" == "none" ]]; then + DEBUG_FLAG="" +else + DEBUG_FLAG="-d ${DEBUG}" +fi + +if [[ -z $LMC || "$LMC" == "0" ]]; then + LMC_FLAG="" +else + LMC_FLAG="-l ${LMC}" +fi + +if [[ -z $MAXSMPS || "$MAXSMPS" == "0" ]]; then + MAXSMPS_FLAG="" +else + MAXSMPS_FLAG="-maxsmps ${MAXSMPS}" +fi + +if [[ -z $REASSIGN_LIDS || "$REASSIGN_LIDS" == "no" ]]; then + REASSIGN_LIDS_FLAG="" +else + REASSIGN_LIDS_FLAG="-r" +fi + +if [[ -z $SWEEP || "$SWEEP" == "10" ]]; then + SWEEP_FLAG="" +else + SWEEP_FLAG="-s ${SWEEP}" +fi + +if [[ -z $TIMEOUT || "$TIMEOUT" == "100" ]]; then + TIMEOUT_FLAG="" +else + TIMEOUT_FLAG="-t ${TIMEOUT}" +fi + +if [[ -z $OSM_LOG || "$OSM_LOG" == "/tmp/osm.log" ]]; then + OSM_LOG_FLAG="" +else + OSM_LOG_FLAG="-f ${OSM_LOG}" +fi + +if [[ -z $VERBOSE || "$VERBOSE" == "none" ]]; then + VERBOSE_FLAG="" +else + VERBOSE_FLAG="${VERBOSE}" +fi + +if [[ -z $UPDN || "$UPDN" == "off" ]]; then + UPDN_FLAG="" +else + UPDN_FLAG="-u" +fi + +if [[ -z $GUID_FILE || "$GUID_FILE" == "none" ]]; then + GUID_FILE_FLAG="" +else + GUID_FILE_FLAG="-a ${GUID_FILE}" +fi + +if [[ -z $GUID || "$GUID" == "none" ]]; then + GUID_FLAG="" +else + GUID_FLAG="-g ${GUID}" +fi + +if [[ -z $HONORE_GUID2LID || "$HONORE_GUID2LID" == "none" ]]; then + HONORE_GUID2LID_FLAG="" +else + HONORE_GUID2LID_FLAG="--honor_guid2lid" +fi + +if [[ -n "${OSM_HOSTS}" && $(echo -n ${OSM_HOSTS} | wc -w | tr -d '[:space:]') -gt 1 ]]; then + HONORE_GUID2LID_FLAG="--honor_guid2lid" +fi + + +if [[ -z $CACHE_OPTIONS || "$CACHE_OPTIONS" == "none" ]]; then + CACHE_OPTIONS_FLAG="" +else + CACHE_OPTIONS_FLAG="--cache-options" +fi + + +if [ -z $PORT_NUM ]; then + PORT_FLAG=1 +else + PORT_FLAG="${PORT_NUM}" +fi + +# Check if $pid (could be plural) are running +checkpid() { + local i + + for i in $* ; do + [ -d "/proc/$i" ] || return 1 + done + return 0 +} + +start_sldd() +{ + if [ -f $sldd_pid_file ]; then + local line p + read line < $sldd_pid_file + for p in $line ; do + [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && sldd_pid="$sldd_pid $p" + done + fi + + if [ -z "$sldd_pid" ]; then + sldd_pid=`pidof -x $sldd_bin` + fi + + if [ -n "${sldd_pid:-}" ] ; then + kill -9 ${sldd_pid} > /dev/null 2>&1 + fi + + einfo "starting sldd daemon" + $sldd_prog > /dev/null 2>&1 & + sldd_pid=$! + + echo ${sldd_pid} > $sldd_pid_file + # Sleep is needed in order to update local gid2lid cache file before running opensm + sleep 3 +} + +stop_sldd() +{ + if [ -f $sldd_pid_file ]; then + local line p + read line < $sldd_pid_file + for p in $line ; do + [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && sldd_pid="$sldd_pid $p" + done + fi + + if [ -z "$sldd_pid" ]; then + sldd_pid=`pidof -x $sldd_bin` + fi + + if [ -n "${sldd_pid:-}" ] ; then + einfo "killing sldd daemon" + kill -15 ${sldd_pid} > /dev/null 2>&1 + fi + +} + +start() { + ebegin "Starting OpenSM Infiniband Subnet Manager" + eindent + + local OSM_PID= + local RC=0 + + if [ -f $PID_FILE ]; then + local line p + read line < $PID_FILE + for p in $line ; do + [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid="$pid $p" + done + fi + + if [ -z "$pid" ]; then + pid=`pidof -o $$ -o $PPID -o %PPID -x $bin` + fi + + if [ -n "${pid:-}" ] ; then + ewarn $"${bin} (pid $pid) is already running..." + else + if [ -n "${HONORE_GUID2LID_FLAG}" ]; then + # Run sldd daemod + start_sldd + fi + + # Start opensm + local START_FLAGS="" + for flag in "$DEBUG_FLAG" "$LMC_FLAG" "$MAXSMPS_FLAG" "$REASSIGN_LIDS_FLAG" "$SWEEP_FLAG" "$TIMEOUT_FLAG" "$OSM_LOG_FLAG" "$VERBOSE_FLAG" "$UPDN_FLAG" "$GUID_FILE_FLAG" "$GUID_FLAG" "$HONORE_GUID2LID_FLAG" "$CACHE_OPTIONS_FLAG" + do + [ ! -z "$flag" ] && START_FLAGS="$START_FLAGS $flag" + done + + echo $PORT_FLAG | $prog $START_FLAGS > /dev/null 2>&1 & + OSM_PID=$! + echo $OSM_PID > $PID_FILE + sleep 1 + checkpid $OSM_PID + RC=$? + fi + + eoutdent + eend $RC +} + +stop() { + ebegin "Stopping OpenSM Infiniband Subnet Manager" + local RC=0 + local pid= + local pid1= + local pid2= + + # Stop sldd daemon + stop_sldd + + if [ -f $PID_FILE ]; then + local line p + read line < $PID_FILE + for p in $line ; do + [ -z "${p//[0-9]/}" -a -d "/proc/$p" ] && pid1="$pid1 $p" + done + fi + + pid2=`pidof -o $$ -o $PPID -o %PPID -x $bin` + + pid=`echo "$pid1 $pid2" | sed -e 's/\ /\n/g' | sort -n | uniq | sed -e 's/\n/\ /g'` + + if [ -n "${pid:-}" ] ; then + # Kill opensm + kill -15 $pid > /dev/null 2>&1 + cnt=0 + while [ $cnt -lt 6 ]; do + #echo -n "."; + sleep 1; let cnt++ + done + + for p in $pid + do + while checkpid $p ; do + kill -KILL $p > /dev/null 2>&1 + #echo -n "." + sleep 1 + done + done + checkpid $pid + RC=$? + [ $RC -eq 0 ] && eerror "$bin shutdown failed" + RC=$((! $RC)) + else + ewarn "$bin does not appear to be running" + RC=1 + fi + + # Remove pid file if any. + rm -f $PID_FILE + + eend $RC +} + diff --git a/sys-cluster/openib-osm/files/sldd.sh b/sys-cluster/openib-osm/files/sldd.sh new file mode 100755 index 000000000..9604b848f --- /dev/null +++ b/sys-cluster/openib-osm/files/sldd.sh @@ -0,0 +1,251 @@ +#!/bin/bash +# +# Copyright (c) 2006 Mellanox Technologies. All rights reserved. +# +# This Software is licensed under one of the following licenses: +# +# 1) under the terms of the "Common Public License 1.0" a copy of which is +# available from the Open Source Initiative, see +# http://www.opensource.org/licenses/cpl.php. +# +# 2) under the terms of the "The BSD License" a copy of which is +# available from the Open Source Initiative, see +# http://www.opensource.org/licenses/bsd-license.php. +# +# 3) under the terms of the "GNU General Public License (GPL) Version 2" a +# copy of which is available from the Open Source Initiative, see +# http://www.opensource.org/licenses/gpl-license.php. +# +# Licensee has the right to choose one of the above licenses. +# +# Redistributions of source code must retain the above copyright +# notice and one of the license notices. +# +# Redistributions in binary form must reproduce both the above copyright +# notice, one of the license notices in the documentation +# and/or other materials provided with the distribution. +# +# +# $Id: sldd.sh 7779 2006-06-07 12:05:46Z vlad $ +# + +# OpenSM found to have the following problem +# when handover is performed: +# If some of the cluster nodes are rebooted during the handover they loose their LID assignment. +# The reason for it is that the standby SM does not obey its own Guid to LID table +# and simply uses the discovered LIDs. If some nodes are not available for it +# their previous LID assignment is lost forever. + +# The idea is to use an external daemon that will distribute +# the semi-static LID assignment table from the master SM to all standby SMs. +# A standby SM, becoming a master . needs to obey the copied semi static LID assignment table. + +# config: /etc/opensm.conf + +CONFIG=/etc/opensm.conf + +SLDD_DEBUG=${SLDD_DEBUG:-0} + +if [ ! -f ${CONFIG} ]; then + [ $SLDD_DEBUG -eq 1 ] && + echo "${CONFIG} not found." + exit 0 +fi + +. ${CONFIG} + +CACHE_FILE=${CACHE_FILE:-/var/cache/osm/guid2lid} +CACHE_DIR=$(dirname ${CACHE_FILE}) +tmp_cache=${CACHE_FILE}.tmp + +PING='ping -w 1 -c 1' + +RCP=${RCP:-/usr/bin/scp} +RSH=${RSH:-/usr/bin/ssh} +IFCONFIG=${IFCONFIG:-'/sbin/ifconfig -a'} + +declare -i SLDD_DEBUG +RESCAN_TIME=${RESCAN_TIME:-60} + +if [ -z "${OSM_HOSTS}" ]; then + [ $SLDD_DEBUG -eq 1 ] && + echo "No OpenSM servers (OSM_HOSTS) configured for the IB subnet." + exit 0 +fi + + +declare -a arr_OSM_HOSTS +arr_OSM_HOSTS=(${OSM_HOSTS}) + +num_of_osm_hosts=${#arr_OSM_HOSTS[@]} + +if [ ${num_of_osm_hosts} -eq 1 ]; then + [ $SLDD_DEBUG -eq 1 ] && + echo "One OpenSM server configured in the IB subnet." && + echo "Nothing to be done for SLDD" + + exit 0 +fi + +trap 'trap_handler' 15 + +trap_handler() +{ + logger -i "SLDD: Exiting." + exit 0 +} + +is_alive() +{ + $PING $1 > /dev/null 2>&1 + return $? +} + +is_local() +{ + $IFCONFIG | grep -w "$1" > /dev/null 2>&1 + return $? +} + +update_remote_cache() +{ + /bin/rm -f ${CACHE_FILE}.upd + /bin/cp -a ${CACHE_FILE} ${CACHE_FILE}.upd + + [ $SLDD_DEBUG -eq 1 ] && + echo "Updating remote cache file" + + for host in ${OSM_HOSTS} + do + # Skip local host update + if [ "${host}" == "${local_host}" ]; then + continue + fi + + if is_alive $host; then + stat=$($RSH $host "/bin/mkdir -p ${CACHE_DIR} > /dev/null 2>&1; /bin/rm -f ${CACHE_FILE}.${local_host} > /dev/null 2>&1; echo \$?" | tr -d '[:space:]') + if [ "X${stat}" == "X0" ]; then + [ $SLDD_DEBUG -eq 1 ] && + echo "Updating $host" + logger -i "SLDD: updating $host with ${CACHE_FILE}" + $RCP ${CACHE_FILE}.upd ${host}:${CACHE_FILE}.${local_host} + /bin/cp ${CACHE_FILE}.upd ${CACHE_FILE}.${host} + else + [ $SLDD_DEBUG -eq 1 ] && + echo "$RSH to $host failed." + logger -i "SLDD: Failed to update $host with ${CACHE_FILE}. $RSH without password should be enabled" + exit 5 + fi + else + [ $SLDD_DEBUG -eq 1 ] && + echo "$host is down." + continue + fi + done +} + +get_latest_remote_cache() +{ + # Find most updated remote cache file (the suffix should be like ip address: *.*.*.*) + echo -n "$(/bin/ls -1t ${CACHE_FILE}.*.* 2> /dev/null | head -1)" +} + +get_largest_remote_cache() +{ + # Find largest (size) remote cache file (the suffix should be like ip address: *.*.*.*) + echo -n "$(/bin/ls -1S ${CACHE_FILE}.*.* 2> /dev/null | head -1)" +} + +swap_cache_files() +{ + /bin/rm -f ${CACHE_FILE}.old + /bin/mv ${CACHE_FILE} ${CACHE_FILE}.old + /bin/cp ${largest_remote_cache} ${CACHE_FILE} + touch ${CACHE_FILE}.tmp +} + +# Find local host in the osm hosts list +local_host="" +for host in ${OSM_HOSTS} +do + if is_local $host; then + local_host=${host} + fi +done + +# Get cache file info +declare -i new_size=0 +declare -i last_size=0 +declare -i largest_remote_cache_size=0 + +if [ -e ${CACHE_FILE} ]; then + last_size=$(du -b ${CACHE_FILE} | awk '{print$1}' | tr -d '[:space:]') +else + touch ${CACHE_FILE} ${CACHE_FILE}.tmp +fi + +# if [ ${last_size} -gt 0 ]; then +# # First time update +# update_remote_cache +# fi + +while true +do + if [ -s "${CACHE_FILE}" ]; then + new_size=$(du -b ${CACHE_FILE} | awk '{print$1}' | tr -d '[:space:]') + # Check if local cache file grew from its last version or the time stamp changed + if [ ${new_size} -gt ${last_size} ] || + [ "$(/bin/ls -1t ${CACHE_FILE} ${CACHE_FILE}.tmp 2> /dev/null | head -1)" != "${CACHE_FILE}.tmp" ]; then + largest_remote_cache=$(get_largest_remote_cache) + if [[ -n "${largest_remote_cache}" && -s "${largest_remote_cache}" ]]; then + largest_remote_cache_size=$(du -b ${largest_remote_cache} 2> /dev/null | awk '{print$1}' | tr -d '[:space:]') + else + largest_remote_cache_size=0 + fi + + # Check if local cache file larger than remote chache file + if [ ${new_size} -gt ${largest_remote_cache_size} ]; then + [ $SLDD_DEBUG -eq 1 ] && + echo "Local cache file larger then remote. Update remote cache files" + last_size=${new_size} + update_remote_cache + continue + fi + fi + + largest_remote_cache=$(get_largest_remote_cache) + if [[ -n "${largest_remote_cache}" && -s "${largest_remote_cache}" ]]; then + largest_remote_cache_size=$(du -b ${largest_remote_cache} 2> /dev/null | awk '{print$1}' | tr -d '[:space:]') + else + largest_remote_cache_size=0 + fi + + # Update local cache file from remote + if [ ${largest_remote_cache_size} -gt ${new_size} ]; then + [ $SLDD_DEBUG -eq 1 ] && + echo "Local cache file shorter then remote. Use ${largest_remote_cache}" + logger -i "SLDD: updating local cache file with ${largest_remote_cache}" + swap_cache_files + last_size=${largest_remote_cache_size} + fi + + else # The local cache file is empty + [ $SLDD_DEBUG -eq 1 ] && + echo "${CACHE_FILE} is empty" + + largest_remote_cache=$(get_largest_remote_cache) + if [[ -n "${largest_remote_cache}" && -s "${largest_remote_cache}" ]]; then + # Copy it to the current cache + [ $SLDD_DEBUG -eq 1 ] && + echo "Local cache file is empty. Use ${largest_remote_cache}" + logger -i "SLDD: updating local cache file with ${largest_remote_cache}" + swap_cache_files + fi + + fi + + [ $SLDD_DEBUG -eq 1 ] && + echo "Sleeping ${RESCAN_TIME} seconds." + sleep ${RESCAN_TIME} + +done diff --git a/sys-cluster/openib-osm/metadata.xml b/sys-cluster/openib-osm/metadata.xml new file mode 100644 index 000000000..aa628f31d --- /dev/null +++ b/sys-cluster/openib-osm/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenSM provides an implementation for an InfiniBand Subnet Manager and +Administrator. Such a software entity is required to run for in order to +initialize the InfiniBand hardware (at least one per each InfiniBand subnet). +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-osm/openib-osm-3.1.5.ebuild b/sys-cluster/openib-osm/openib-osm-3.1.5.ebuild new file mode 100644 index 000000000..0340c1c11 --- /dev/null +++ b/sys-cluster/openib-osm/openib-osm-3.1.5.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenSM - InfiniBand Subnet Manager and Administration for OpenIB" + +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/downloads/management/opensm-${PV}.tar.gz" +S="${WORKDIR}/opensm-${PV}" + +IUSE="" + +DEPEND="sys-cluster/libibmad" +RDEPEND="$DEPEND + sys-cluster/openib-files + net-misc/iputils" # for 'ping' + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc AUTHORS README NEWS ChangeLog + doman man/* + newconfd "${S}/scripts/opensm.sysconfig" opensm + newinitd "${FILESDIR}/opensm.init.d" opensm + insinto /etc/logrotate.d + newins "${S}/scripts/opensm.logrotate" opensm + insinto /etc + doins "${S}/scripts/opensm.conf" + dobin "${S}/scripts/sldd.sh" +} + +pkg_postinst() { + einfo "To automatically configure the infiniband subnet manager on boot," + einfo "edit /etc/opensm.conf and add opensm to your start-up scripts:" + einfo "\`rc-update add opensm default\`" +} + diff --git a/sys-cluster/openib-perf/ChangeLog b/sys-cluster/openib-perf/ChangeLog new file mode 100644 index 000000000..783ae46e8 --- /dev/null +++ b/sys-cluster/openib-perf/ChangeLog @@ -0,0 +1,9 @@ +# ChangeLog for sys-cluster/openib-perf +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*openib-perf-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib-perf/Manifest b/sys-cluster/openib-perf/Manifest new file mode 100644 index 000000000..a2a94d480 --- /dev/null +++ b/sys-cluster/openib-perf/Manifest @@ -0,0 +1,4 @@ +DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a +EBUILD openib-perf-1.1.ebuild 658 RMD160 146e960636c62d9e1ded2b4f0ee3b823e376b1c3 SHA1 fbd2a393e9a5954af211db2e3972e0d011584eaf SHA256 bd075b8ac6489074f79538595dde016e44e05b048b88684fe4faf41349b04b93 +MISC ChangeLog 237 RMD160 9903f61ec8fe25a53a49acefd357ca0cf9853eda SHA1 29d01f6cf36cc52d85a6df0bfc4b71d1bc7fb8c0 SHA256 8b2ec8ca18c27a8d1a47ceb20b1837c7f3d0fb63aaf953423fe4536b94231df2 +MISC metadata.xml 229 RMD160 e1401ca7c2210ebd7f7951139300cb05b871720c SHA1 847c1c0aca9c9a309fc80aa1345fa6b9df91c5c1 SHA256 30506429bac849161d32a0e3960a93cfacd4e931f8b6cb986965e3a4239ac8c0 diff --git a/sys-cluster/openib-perf/metadata.xml b/sys-cluster/openib-perf/metadata.xml new file mode 100644 index 000000000..32ace613a --- /dev/null +++ b/sys-cluster/openib-perf/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenIB uverbs micro-benchmarks. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-perf/openib-perf-1.1.ebuild b/sys-cluster/openib-perf/openib-perf-1.1.ebuild new file mode 100644 index 000000000..4c209f24d --- /dev/null +++ b/sys-cluster/openib-perf/openib-perf-1.1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB uverbs micro-benchmarks" + +HOMEPAGE="http://www.openfabrics.org/" +#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz" +SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz" +S="${WORKDIR}/openib-userspace-${PV}/src/userspace/perftest" + +IUSE="" + +DEPEND="=sys-cluster/libibverbs-${PV} + =sys-cluster/librdmacm-${PV}" + +src_compile() { + emake || die "emake failed" +} + +src_install() { + dodoc README Copying runme + dobin ib_* +} + diff --git a/sys-cluster/openib-srptools/ChangeLog b/sys-cluster/openib-srptools/ChangeLog new file mode 100644 index 000000000..4c7fa6619 --- /dev/null +++ b/sys-cluster/openib-srptools/ChangeLog @@ -0,0 +1,9 @@ +# ChangeLog for sys-cluster/openib-srptools +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*openib-srptools-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib-srptools/Manifest b/sys-cluster/openib-srptools/Manifest new file mode 100644 index 000000000..15dc6eaa7 --- /dev/null +++ b/sys-cluster/openib-srptools/Manifest @@ -0,0 +1,4 @@ +DIST openib-userspace-1.1.tgz 12361548 RMD160 53f69c5b66ac1a9bd7c22ebda39439453802204f SHA1 8993b2724d798f27ed560cf3ce4e8c1b9e6fffb1 SHA256 2e8430443a40eed95f1492c1e11aa515f8b4f20ab431b0cf588032fc6a01d04a +EBUILD openib-srptools-1.1.ebuild 861 RMD160 5637869dc2ecc9eec2f584ce3f05bbe29ba971bb SHA1 0b0e6e2636d20a2a99b04187a1a941f1906cb5be SHA256 7e1dbefd2c7f5047b9765047613bde75cb0cc0edac69907f48b89d07bb38bf14 +MISC ChangeLog 245 RMD160 944ef84b05e3ada98b5107e2267f078f99d680a5 SHA1 aa7984a555d04472232d24f6704bc93456aa0029 SHA256 a287706d448d9fb7753f990e1180a56f5c8ab9bcd5b91775cc8948d2f05954e7 +MISC metadata.xml 429 RMD160 3b6d065ac43345b5e65c5a181afd399664a11f20 SHA1 215bb27b90f91a8f1ea7c64443f18b1bdc2bb2f4 SHA256 0eb38e83ed8571c48d07c71e2fabf00b3c3bca279342c6796a41b9c24437a1a6 diff --git a/sys-cluster/openib-srptools/metadata.xml b/sys-cluster/openib-srptools/metadata.xml new file mode 100644 index 000000000..27d6ce8d1 --- /dev/null +++ b/sys-cluster/openib-srptools/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +srptools is a package of tools for discovering and connecting to SRP +SCSI targets on InfiniBand fabrics. These targets can be accessed +with the InfiniBand SRP initiator module, "ib_srp," included in Linux +kernels 2.6.15 and newer. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-srptools/openib-srptools-1.1.ebuild b/sys-cluster/openib-srptools/openib-srptools-1.1.ebuild new file mode 100644 index 000000000..291e02634 --- /dev/null +++ b/sys-cluster/openib-srptools/openib-srptools-1.1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +SLOT="0" +LICENSE="|| ( GPL-2 BSD-2 )" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenIB tools for discovering and connecting to SRP CSI targets on +InfiniBand fabrics. These targets can be accessed with the InfiniBand SRP +initiator module, 'ib_srp,' included in Linux kernels 2.6.15 and newer." + +HOMEPAGE="http://www.openfabrics.org/" +#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz" +SRC_URI="http://mirror.gentooscience.org/openib-userspace-${PV}.tgz" +S="${WORKDIR}/openib-userspace-${PV}/src/userspace/${PN}" + +IUSE="" + +DEPEND="" + +src_compile() { + econf || die "could not configure" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc README Copying Changelog NEWS +} + diff --git a/sys-cluster/openib-userspace/ChangeLog b/sys-cluster/openib-userspace/ChangeLog new file mode 100644 index 000000000..86ed84c2f --- /dev/null +++ b/sys-cluster/openib-userspace/ChangeLog @@ -0,0 +1,18 @@ +# ChangeLog for sys-cluster/openib-userspace +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + + 03 Jan 2008; Bryan Green <bryan.d.green@nasa.gov> + openib-userspace-1.2.5.1-r1.ebuild: removed openib-mvapich2 blocker + + 02 Jan 2008; Bryan Green <bryan.d.green@nasa.gov> + openib-userspace-1.2.5.1-r1.ebuild: added -j1 to emake, per bug #203817 + + 29 Nov 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + fixed opensm configuration files. + +*openib-userspace-1.2 (24 Oct 2007) + + 24 Oct 2007; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import; All-inclusive userspace libs/tools + diff --git a/sys-cluster/openib-userspace/Manifest b/sys-cluster/openib-userspace/Manifest new file mode 100644 index 000000000..239193551 --- /dev/null +++ b/sys-cluster/openib-userspace/Manifest @@ -0,0 +1,9 @@ +AUX opensm.conf.d 69 RMD160 b828bbee03a1ce5155719d1f2ecf4eed5125fd4e SHA1 ca2c9ff5da8775fcd9be6bf9a5b2e2904edf813d SHA256 3852877c73799b7b5524006dca058564f555947ccbdabb0c9909af5b1ac51425 +AUX opensm.init.d 835 RMD160 645d929c491f26d5615c536e40cf5b54b8b7369a SHA1 d7520f02564f1f4cfa280dd0fb8872cd2346bb56 SHA256 71c5ec02ea9e17b61ed94a6938c8a390e027c11469d52a0baa933ae5d32eb591 +DIST OFED-1.2.5.1.tgz 46256516 RMD160 b19f1917b32b7b15db75aace6ed433d57dc98fc5 SHA1 9a1ff30c97c94352f70e52d7cc31328013bea1b7 SHA256 41c6408135d8707d05bef8aa0a4ec548ae64ec010224e3b38746ab6f5c1e9b78 +DIST OFED-1.2.tgz 45785235 RMD160 22abc8ea493c01f18a5ca93f24645c0b3de81f49 SHA1 e179640b8f700b6dff9cc747910d786bba986175 SHA256 05ac6c3a96902388b40b05c6af0f0ce80059fc51980a039d53bfc94874166144 +EBUILD openib-userspace-1.2.5.1-r1.ebuild 2965 RMD160 7c1109a56b1a29bfd7e3f7a0c957bd4f0eb3c7ff SHA1 0638fe4d5f9cc798bde51cadfe17745e9ea764de SHA256 ce9346aab72748f1c61c67abd08e31ff3c8f480ca2b0540b3796d709c21f2a65 +EBUILD openib-userspace-1.2.5.1.ebuild 2647 RMD160 bff3207d537ecf4546f3aca7c6b0cbd51d7c5a86 SHA1 1dc2c7fe38a78fcf02449e6e615c58707828187e SHA256 eefb18277b653f671bed6eb9354ba013144d2130a10876202a15b4edba9a9bce +EBUILD openib-userspace-1.2.ebuild 2610 RMD160 1639b6976d1346332959a3527b537ab3e525cabc SHA1 5e06fbfe408985e9159a99416a9a8bc98b014a40 SHA256 7d950b8a93c41d57cf11b264a8c03198464963fa2552e9ec0b34d78439095d52 +MISC ChangeLog 633 RMD160 3c2942b78073bceebabcc077a4188068032625b3 SHA1 79eac41708d83d8cc1d60710dadc22ead7246c2c SHA256 7e57ec93eb7cbaf7d4b34f53bc3df090a48e78ebce7f6cd8c83d84516a2c0496 +MISC metadata.xml 290 RMD160 8deacc2efb676788b32b4961d7f30b1b968e057c SHA1 3a6a067aef6960a9d8ddc5f26d12a5d7653cb19d SHA256 86cfc299f76b8bdda514e8817c8ef3a4d49de1938ccc79bdcb98a73dcbc4d6a3 diff --git a/sys-cluster/openib-userspace/files/opensm.conf.d b/sys-cluster/openib-userspace/files/opensm.conf.d new file mode 100644 index 000000000..d3fba93ca --- /dev/null +++ b/sys-cluster/openib-userspace/files/opensm.conf.d @@ -0,0 +1,2 @@ +# If you want to pass any options to OpenSM, set them here. +OPTIONS= diff --git a/sys-cluster/openib-userspace/files/opensm.init.d b/sys-cluster/openib-userspace/files/opensm.init.d new file mode 100755 index 000000000..2b38b84bb --- /dev/null +++ b/sys-cluster/openib-userspace/files/opensm.init.d @@ -0,0 +1,28 @@ +#!/sbin/runscript +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/files/opensm.init.d,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $ + +# Based on opensm script from openfabrics.org, +# Copyright (c) 2006 Mellanox Technologies. All rights reserved. +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need openib + after net # ip net seems to be needed to perform management. +} + +prog=/usr/bin/opensm + +start() { + ebegin "Starting OpenSM Infiniband Subnet Manager" + start-stop-daemon --start --background --exec $prog -- $OPTIONS + eend $? +} + +stop() { + ebegin "Stopping OpenSM Infiniband Subnet Manager" + start-stop-daemon --stop --exec $prog + eend $? +} + diff --git a/sys-cluster/openib-userspace/metadata.xml b/sys-cluster/openib-userspace/metadata.xml new file mode 100644 index 000000000..d79dcfd92 --- /dev/null +++ b/sys-cluster/openib-userspace/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +OpenFabrics Userspace libraries and tools. Infiniband for Linux. +See 'www.openfabrics.org'. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib-userspace/openib-userspace-1.2.5.1-r1.ebuild b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1-r1.ebuild new file mode 100644 index 000000000..0bba8c778 --- /dev/null +++ b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1-r1.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $ + +inherit rpm + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenFabrics userspace libraries and utilities. This ebuild is an +all-inclusive alternative to the openib metapackage and dependencies" + +HOMEPAGE="http://www.openfabrics.org/" +SHORT_PV=${PV%\.[^.]} +SRC_URI="http://www.openfabrics.org/builds/ofed-${SHORT_PV}/release/OFED-${PV}.tgz" +MY_P="OFED-${PV}" +S="${WORKDIR}/ofa_user-${PV}" +OSM="${S}/src/userspace/management/osm" + +IUSE="ehca ipath cxgb3 opensm dapl srptools qlvnictools tvflash mstflint" + +DEPEND="" +RDEPEND="${DEPEND} + !<=sys-cluster/openib-drivers-1.2 + !sys-cluster/libibverbs + !sys-cluster/libmthca + !sys-cluster/libipathverbs + !sys-cluster/librdmacm + !sys-cluster/libsdp + !sys-cluster/dapl + !sys-cluster/libehca + !sys-cluster/libibcm + !sys-cluster/libibcommon + !sys-cluster/libibmad + !sys-cluster/libibumad + !sys-cluster/openib-diags + !sys-cluster/openib-files + !sys-cluster/openib-osm + !sys-cluster/openib-perf + !sys-cluster/openib-srptools + !sys-cluster/openib" + +src_unpack() { + unpack ${A} || die "unpack failed" + rpm_unpack ${MY_P}/SRPMS/ofa_user-${PV}-0.src.rpm + tar xzf ofa_user-${PV}.tgz +} + +src_compile() { + myconf="--with-libibverbs --with-libmthca" + if use ipath ; then myconf="$myconf --with-libipathverbs"; fi + if use ehca ; then myconf="$myconf --with-libehca"; fi + if use cxgb3 ; then myconf="$myconf --with-libcxgb3"; fi + myconf="$myconf --with-libibcm" + myconf="$myconf --with-libsdp" + myconf="$myconf --with-librdmacm" + myconf="$myconf $(use_with dapl)" + if use opensm ; then myconf="$myconf --with-management-libs"; fi + myconf="$myconf $(use_with opensm)" + myconf="$myconf --with-openib-diags" + myconf="$myconf --with-perftest" + myconf="$myconf $(use_with srptools)" + myconf="$myconf --with-ipoibtools" + myconf="$myconf $(use_with qlvnictools)" + myconf="$myconf $(use_with tvflash)" + myconf="$myconf $(use_with mstflint)" + myconf="$myconf --with-sdpnetstat" + #econf ${myconf} || die "configure failed" + ./configure --prefix=/usr --mandir=/usr/share/man \ + --sysconfdir=/etc \ + ${myconf} ${EXTRA_ECONF} || die "configure failed" + emake -j1 +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc "${WORKDIR}/${MY_P}/README.txt" + dodoc "${WORKDIR}/${MY_P}/docs/*" + if use opensm ; then + newconfd "${OSM}/scripts/opensm.sysconfig" opensm + newinitd "${FILESDIR}/opensm.init.d" opensm + insinto /etc + doins "${S}/ofed_scripts/opensm.conf" + dobin "${S}/ofed_scripts/sldd.sh" + fi +} + +pkg_postinst() { + einfo "To automatically configure the infiniband subnet manager on boot," + einfo "edit /etc/opensm.conf and add opensm to your start-up scripts:" + einfo "\`rc-update add opensm default\`" +} + diff --git a/sys-cluster/openib-userspace/openib-userspace-1.2.5.1.ebuild b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1.ebuild new file mode 100644 index 000000000..d37f50d4c --- /dev/null +++ b/sys-cluster/openib-userspace/openib-userspace-1.2.5.1.ebuild @@ -0,0 +1,86 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $ + +inherit rpm + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenFabrics userspace libraries and utilities. This ebuild is an +all-inclusive alternative to the openib metapackage and dependencies" + +HOMEPAGE="http://www.openfabrics.org/" +SHORT_PV=${PV%\.[^.]} +SRC_URI="http://www.openfabrics.org/builds/ofed-${SHORT_PV}/release/OFED-${PV}.tgz" +MY_P="OFED-${PV}" +S="${WORKDIR}/ofa_user-${PV}" + +IUSE="ehca ipath cxgb3 opensm dapl srptools qlvnictools tvflash mstflint" + +DEPEND="" +RDEPEND="${DEPEND} + !<=sys-cluster/openib-drivers-1.2 + !sys-cluster/libibverbs + !sys-cluster/libmthca + !sys-cluster/libipathverbs + !sys-cluster/librdmacm + !sys-cluster/libsdp + !sys-cluster/dapl + !sys-cluster/libehca + !sys-cluster/libibcm + !sys-cluster/libibcommon + !sys-cluster/libibmad + !sys-cluster/libibumad + !sys-cluster/openib-diags + !sys-cluster/openib-files + !sys-cluster/openib-mvapich2 + !sys-cluster/openib-osm + !sys-cluster/openib-perf + !sys-cluster/openib-srptools + !sys-cluster/openib" + +src_unpack() { + unpack ${A} || die "unpack failed" + rpm_unpack ${MY_P}/SRPMS/ofa_user-${PV}-0.src.rpm + tar xzf ofa_user-${PV}.tgz +} + +src_compile() { + myconf="--with-libibverbs --with-libmthca" + if use ipath ; then myconf="$myconf --with-libipathverbs"; fi + if use ehca ; then myconf="$myconf --with-libehca"; fi + if use cxgb3 ; then myconf="$myconf --with-libcxgb3"; fi + myconf="$myconf --with-libibcm" + myconf="$myconf --with-libsdp" + myconf="$myconf --with-librdmacm" + myconf="$myconf $(use_with dapl)" + if use opensm ; then myconf="$myconf --with-management-libs"; fi + myconf="$myconf $(use_with opensm)" + myconf="$myconf --with-openib-diags" + myconf="$myconf --with-perftest" + myconf="$myconf $(use_with srptools)" + myconf="$myconf --with-ipoibtools" + myconf="$myconf $(use_with qlvnictools)" + myconf="$myconf $(use_with tvflash)" + myconf="$myconf $(use_with mstflint)" + myconf="$myconf --with-sdpnetstat" + #econf ${myconf} || die "configure failed" + ./configure --prefix=/usr --mandir=/usr/share/man \ + --sysconfdir=/etc \ + ${myconf} ${EXTRA_ECONF} || die "configure failed" + emake +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc "${WORKDIR}/${MY_P}/README.txt" + dodoc "${WORKDIR}/${MY_P}/docs/*" + if use opensm ; then + newconfd "${FILESDIR}/opensm.conf.d" opensm + newinitd "${FILESDIR}/opensm.init.d" opensm + fi +} + diff --git a/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild b/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild new file mode 100644 index 000000000..f853f9116 --- /dev/null +++ b/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /CVS/groups/vistech/bgreen-overlay/sys-cluster/openib-userspace/openib-userspace-1.2.ebuild,v 1.1.1.1 2007/10/12 20:18:26 bgreen Exp $ + +inherit rpm + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" + +KEYWORDS="~amd64" + +DESCRIPTION="OpenFabrics userspace libraries and utilities. This ebuild is an +all-inclusive alternative to the openib metapackage and dependencies" + +HOMEPAGE="http://www.openfabrics.org/" +SRC_URI="http://www.openfabrics.org/builds/ofed-${PV}/OFED-${PV}.tgz" +MY_P="OFED-${PV}" +S="${WORKDIR}/ofa_user-${PV}" + +IUSE="ehca ipath cxgb3 opensm dapl srptools qlvnictools tvflash mstflint" + +DEPEND="" +RDEPEND="${DEPEND} + >=sys-cluster/openib-drivers-1.2 + !sys-cluster/libibverbs + !sys-cluster/libmthca + !sys-cluster/libipathverbs + !sys-cluster/librdmacm + !sys-cluster/libsdp + !sys-cluster/dapl + !sys-cluster/libehca + !sys-cluster/libibcm + !sys-cluster/libibcommon + !sys-cluster/libibmad + !sys-cluster/libibumad + !sys-cluster/openib-diags + !sys-cluster/openib-files + !sys-cluster/openib-mvapich2 + !sys-cluster/openib-osm + !sys-cluster/openib-perf + !sys-cluster/openib-srptools + !sys-cluster/openib" + +src_unpack() { + unpack ${A} || die "unpack failed" + rpm_unpack ${MY_P}/SRPMS/ofa_user-${PV}-0.src.rpm + tar xzf ofa_user-${PV}.tgz +} + +src_compile() { + myconf="--with-libibverbs --with-libmthca" + if use ipath ; then myconf="$myconf --with-libipathverbs"; fi + if use ehca ; then myconf="$myconf --with-libehca"; fi + if use cxgb3 ; then myconf="$myconf --with-libcxgb3"; fi + myconf="$myconf --with-libibcm" + myconf="$myconf --with-libsdp" + myconf="$myconf --with-librdmacm" + myconf="$myconf $(use_with dapl)" + if use opensm ; then myconf="$myconf --with-management-libs"; fi + myconf="$myconf $(use_with opensm)" + myconf="$myconf --with-openib-diags" + myconf="$myconf --with-perftest" + myconf="$myconf $(use_with srptools)" + myconf="$myconf --with-ipoibtools" + myconf="$myconf $(use_with qlvnictools)" + myconf="$myconf $(use_with tvflash)" + myconf="$myconf $(use_with mstflint)" + myconf="$myconf --with-sdpnetstat" + #econf ${myconf} || die "configure failed" + ./configure --prefix=/usr --mandir=/usr/share/man \ + --sysconfdir=/etc \ + ${myconf} ${EXTRA_ECONF} || die "configure failed" + emake +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + dodoc "${WORKDIR}/${MY_P}/README.txt" + dodoc "${WORKDIR}/${MY_P}/docs/*" + if use opensm ; then + newconfd "${FILESDIR}/opensm.conf.d" opensm + newinitd "${FILESDIR}/opensm.init.d" opensm + fi +} + diff --git a/sys-cluster/openib/ChangeLog b/sys-cluster/openib/ChangeLog new file mode 100644 index 000000000..09308fe5f --- /dev/null +++ b/sys-cluster/openib/ChangeLog @@ -0,0 +1,9 @@ +# ChangeLog for sys-cluster/openib +# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: $ + +*openib-1.1 (26 Oct 2006) + + 26 Oct 2006; Bryan Green <bryan.d.green@nasa.gov> ChangeLog: + Initial Import + diff --git a/sys-cluster/openib/Manifest b/sys-cluster/openib/Manifest new file mode 100644 index 000000000..4595c3a0a --- /dev/null +++ b/sys-cluster/openib/Manifest @@ -0,0 +1,3 @@ +EBUILD openib-1.1.ebuild 716 RMD160 35311bb449592471d4c51c4b0fa203b55d1e7943 SHA1 8ec1e5dbfc4cbe668a0fe29df6ed6b202666ae05 SHA256 9c9339b5b9c6c6cc2a8be0e703731aa6da0377be1dbac50a7e716d474235d45b +MISC ChangeLog 227 RMD160 272de05f7053af64dcef6c66bbffce3f8b4de312 SHA1 aeb6186bbba6cc78252f2b6796a7f9a12ce5f851 SHA256 c53a801f8ad3e2772997b476b16fc76dd844f9f3c9f8edb9ecce02514ec610f6 +MISC metadata.xml 273 RMD160 19db7de67d8f6f506a22dd8adc8cd2e2a562b6bb SHA1 e9d1b4bb8fb0323553f656b2d11cc1cf2a900196 SHA256 8c90385fd9c444052c28524c0d9a29397513de5e72444efabcdf196e76f1e50d diff --git a/sys-cluster/openib/metadata.xml b/sys-cluster/openib/metadata.xml new file mode 100644 index 000000000..d904018fd --- /dev/null +++ b/sys-cluster/openib/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>cluster</herd> +<longdescription> +Meta package for OpenIB. Infiniband for Linux. See 'www.openfabrics.org'. +</longdescription> +</pkgmetadata> diff --git a/sys-cluster/openib/openib-1.1.ebuild b/sys-cluster/openib/openib-1.1.ebuild new file mode 100644 index 000000000..8d2b294d6 --- /dev/null +++ b/sys-cluster/openib/openib-1.1.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +LICENSE="|| ( GPL-2 BSD-2 )" +SLOT="0" + +KEYWORDS="~amd64" + +DESCRIPTION="Meta package OpenIB" +HOMEPAGE="http://www.openfabrics.org/" +#SRC_URI="http://www.openfabrics.org/downloads/openib-userspace-${PV}.tgz" +SRC_URI="" + +IUSE="ipath opensm dapl" + +DEPEND="=sys-cluster/libibverbs-${PV} + =sys-cluster/openib-files-${PV} + =sys-cluster/libsdp-${PV} + =sys-cluster/libmthca-${PV} + ipath? ( =sys-cluster/libipathverbs-${PV} ) + opensm? ( =sys-cluster/openib-osm-${PV} \ + =sys-cluster/openib-diags-${PV} ) + =sys-cluster/openib-perf-${PV} + dapl? ( =sys-cluster/dapl-${PV} )" +RDEPEND="${DEPEND}" + diff --git a/sys-cluster/openmpi/ChangeLog b/sys-cluster/openmpi/ChangeLog new file mode 100644 index 000000000..f8f777c65 --- /dev/null +++ b/sys-cluster/openmpi/ChangeLog @@ -0,0 +1,78 @@ +# ChangeLog for sys-cluster/openmpi +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/ChangeLog,v 1.13 2008/01/31 06:57:45 dberkholz Exp $ + + 29 Feb 2008; Justin Bronder <jsbronder@gentoo.org> ChangeLog: + Use mpi.eclass for empi support. Fix an as-needed bug. + + 31 Jan 2008; Donnie Berkholz <dberkholz@gentoo.org>; + -openmpi-1.1.1.ebuild, -openmpi-1.1.2.ebuild, -openmpi-1.2.4.ebuild, + -openmpi-1.2.4-r1.ebuild: + Clean up. + +*openmpi-1.2.5 (17 Jan 2008) + + 17 Jan 2008; Justin Bronder <jsbronder@gentoo.org> +openmpi-1.2.5.ebuild: + Version bump. Remove slurm USE flag as slurm isn't in the tree. Let + configure find libtorque via pbs-config. + + 13 Dec 2007; Justin Bronder <jsbronder@gentoo.org> openmpi-1.2.4.ebuild: + Minor fixes to sys-cluster/openmpi-1.2.4, thanks to dberkholz for pointing + them out. + +*openmpi-1.2.4 (13 Dec 2007) + + 13 Dec 2007; Justin Bronder <jsbronder@gentoo.org> +openmpi-1.2.4.ebuild: + Bump sys-cluster/openmpi-1.2.4 (Bug #166787). Change virtual/pbs to + sys-cluster/torque. Add use flags nocxx romio slurm heterogeneous smp and + ipv6. Disable xgrid support (OS X). Include /usr/include by default with + gfortran and mpif77. + + 26 Apr 2007; Donnie Berkholz <dberkholz@gentoo.org>; metadata.xml: + Update for cluster herd split to hp-cluster and ha-cluster. + + 06 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.2.ebuild: + Fix miscalled use_enable(). This would result in Fortran not being enabled + as expected (Aaron Tygart). + + 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild, + openmpi-1.1.2.ebuild: + Stop PROVIDEing mpi virtual, we're on a new-style virtual now. + + 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild, + openmpi-1.1.2.ebuild: + Can't do that with new-style virtuals, block on other providers instead. + + 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild, + openmpi-1.1.2.ebuild: + Block virtual/mpi (Aaron Tygart). + + 06 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild, + openmpi-1.1.2.ebuild: + Explicitly set DEPEND to RDEPEND. + +*openmpi-1.1.2 (23 Nov 2006) + + 23 Nov 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +openmpi-1.1.2.ebuild: + (#153968) Bump. Interesting changes include correctness and performance + fixes for heterogenous nodes as well as TCP updates to support non-uniform + TCP environments. More info at + http://www.open-mpi.org/community/lists/announce/2006/10/0008.php. + + 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; openmpi-1.1.1.ebuild: + Add MPI to the description, drop some capital letters. + +*openmpi-1.1.1 (25 Sep 2006) + + 25 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; +metadata.xml, + +openmpi-1.1.1.ebuild: + (#126295) Add Open MPI ebuild from the science overlay (Sebastien Fabbro, + Eric Thibodeau). I removed the compiler-based slotting mechanism because + portage lacks support for multiple slots of the same version -- the SLOT + file in /var/db/pkg just gets overwritten and it loses track of the others, + amongst other issues. Removed USE=static, that's used to compile static + binaries, not to also build static libraries. Changed SLOT to 0 from 6 in + the overlay. Removed the hack for PGI compilers, that needs to happen in + fortran.eclass. Use epause() from eutils.eclass rather than sleep. + diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest new file mode 100644 index 000000000..96d9b553f --- /dev/null +++ b/sys-cluster/openmpi/Manifest @@ -0,0 +1,5 @@ +AUX eselect.mpi.openmpi 231 RMD160 a3f09385b6f2c4872398758f8195c156e07b3921 SHA1 660be0ad7d06a386173c714942bca32b01908aa9 SHA256 363bd1efd2bf2593ee34145cc9e6f0c9705c204368c380d07088ba0d041b446d +DIST openmpi-1.2.5.tar.bz2 3554443 RMD160 609a2070d69bbcde883d2f0d1d6364c5903ae59f SHA1 c217798453782cb9e25d58daf845aa6fdc62fcbf SHA256 3c3aed872c17165131c77bd7a12fe8aec776cb23da946b7d12840db93ab79322 +EBUILD openmpi-1.2.5-r1.ebuild 2566 RMD160 de3dfa4f26b56dbe986f2dabe3bfb86599c6bddc SHA1 ed0788ea913c90ee1066c6f49c87bb3aeb874baa SHA256 3f3e00767829686095a6dbd5c190b2eec34b0a644cf6405658021edc890c04c5 +MISC ChangeLog 3407 RMD160 22e4c4a7a1d5438ec4990c8a452ddbed01068c29 SHA1 47f21280d9b5dc2c0419f0a670ecc9e7eaf412a0 SHA256 46c753e31a0119ef4e69798347d7a0178f36b6912405c8be4bfdfa7344f4e63c +MISC metadata.xml 163 RMD160 ea1530cd45b9e04e8693261b9a94b5988e4b09a1 SHA1 443b7a3d8fb76c8d20647b165032ad358bfa3b6a SHA256 5a03bf3074b07158dffe793af69f7b0cd1e5c785537574713f9a7978032363a3 diff --git a/sys-cluster/openmpi/files/eselect.mpi.openmpi b/sys-cluster/openmpi/files/eselect.mpi.openmpi new file mode 100644 index 000000000..d1d2131a1 --- /dev/null +++ b/sys-cluster/openmpi/files/eselect.mpi.openmpi @@ -0,0 +1,8 @@ +MPI_CC=@ROOT@/usr/bin/mpicc +MPI_CXX=@ROOT@/usr/bin/mpic++ +MPI_F77=@ROOT@/usr/bin/mpif77 +MPI_F90=@ROOT@/usr/bin/mpif90 +MPI_BUILT_WITH=@BUILT_WITH@ +PATH=@ROOT@/usr/bin +MANPATH=@ROOT@/usr/share/man +LD_LIBRARY_PATH=@ROOT@/usr/@LIBDIR@ diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml new file mode 100644 index 000000000..8f0aa7fc4 --- /dev/null +++ b/sys-cluster/openmpi/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>hp-cluster</herd> +</pkgmetadata> diff --git a/sys-cluster/openmpi/openmpi-1.2.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.2.5-r1.ebuild new file mode 100644 index 000000000..201e51479 --- /dev/null +++ b/sys-cluster/openmpi/openmpi-1.2.5-r1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/openmpi/openmpi-1.2.4.ebuild,v 1.2 2007/12/13 22:39:53 jsbronder Exp $ + +inherit eutils multilib flag-o-matic toolchain-funcs fortran mpi + +MY_P=${P/-mpi} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="A high-performance message passing library (MPI)" +HOMEPAGE="http://www.open-mpi.org" +SRC_URI="http://www.open-mpi.org/software/ompi/v1.2/downloads/${MY_P}.tar.bz2" +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pbs fortran nocxx threads romio heterogeneous smp ipv6" +RDEPEND="pbs? ( sys-cluster/torque ) + $(mpi_imp_deplist)" +DEPEND="${RDEPEND}" + +pkg_setup() { + MPI_ESELECT_FILE="eselect.mpi.openmpi" + mpi_pkg_setup + if use threads; then + ewarn + ewarn "WARNING: use of threads is still disabled by default in" + ewarn "upstream builds." + ewarn "You may stop now and set USE=-threads" + ewarn + epause 5 + fi + + elog + elog "OpenMPI has an overwhelming count of configuration options." + elog "Don't forget the EXTRA_ECONF environment variable can let you" + elog "specify configure options if you find them necessary." + elog + + if use fortran; then + FORTRAN="g77 gfortran ifc" + fortran_pkg_setup + fi +} + +src_unpack() { + unpack "${A}" + cd "${S}" + + # Fix --as-needed problems with f77 and f90. + sed -i 's:^libs=:libs=-Wl,--no-as-needed :' \ + ompi/tools/wrappers/mpif{77,90}-wrapper-data.txt.in +} + +src_compile() { + mpi_conf_args=" + --without-xgrid + --enable-pretty-print-stacktrace + --enable-orterun-prefix-by-default + --without-slurm" + + if use threads; then + mpi_conf_args="${mpi_conf_args} + --enable-mpi-threads + --with-progress-threads + --with-threads=posix" + fi + + if use fortran; then + if [[ "${FORTRANC}" = "g77" ]]; then + mpi_conf_args="${mpi_conf_args} --disable-mpi-f90" + elif [[ "${FORTRANC}" = "gfortran" ]]; then + # Because that's just a pain in the butt. + mpi_conf_args="${mpi_conf_args} --with-wrapper-fflags=-I/usr/include" + elif [[ "${FORTRANC}" = if* ]]; then + # Enabled here as gfortran compile times are huge with this enabled. + mpi_conf_args="${mpi_conf_args} --with-mpi-f90-size=medium" + fi + else + mpi_conf_args="${mpi_conf_args} + --disable-mpi-f90 + --disable-mpi-f77" + fi + + mpi_conf_args=" + ${mpi_conf_args} + $(use_enable !nocxx mpi-cxx) + $(use_enable romio romio-io) + $(use_enable smp smp-locks) + $(use_enable heterogeneous) + $(use_with pbs tm) + $(use_enable ipv6)" + mpi_src_compile + +} + +src_install () { + mpi_src_install + mpi_dodoc README AUTHORS NEWS VERSION +} + |