Date: Thursday, March 29, 2012 @ 05:52:47 Author: stephane Revision: 154489
archrelease: copy trunk to testing-i686, testing-x86_64 Added: openmpi/repos/testing-i686/ openmpi/repos/testing-i686/PKGBUILD (from rev 154488, openmpi/trunk/PKGBUILD) openmpi/repos/testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch (from rev 154488, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch) openmpi/repos/testing-x86_64/ openmpi/repos/testing-x86_64/PKGBUILD (from rev 154488, openmpi/trunk/PKGBUILD) openmpi/repos/testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch (from rev 154488, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch) -----------------------------------------------------------+ testing-i686/PKGBUILD | 67 ++++++++++++ testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch | 43 +++++++ testing-x86_64/PKGBUILD | 67 ++++++++++++ testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch | 43 +++++++ 4 files changed, 220 insertions(+) Copied: openmpi/repos/testing-i686/PKGBUILD (from rev 154488, openmpi/trunk/PKGBUILD) =================================================================== --- testing-i686/PKGBUILD (rev 0) +++ testing-i686/PKGBUILD 2012-03-29 09:52:47 UTC (rev 154489) @@ -0,0 +1,67 @@ +# $Id$ +# Maintainer: Stéphane Gaudreault <steph...@archlinux.org> +pkgname=openmpi +pkgver=1.5.5 +pkgrel=1 +pkgdesc="High performance message passing library (MPI)" +arch=('i686' 'x86_64') +url="http://www.open-mpi.org" +license=('custom') +depends=('gcc' 'gcc-fortran' 'openssh' 'valgrind' 'libtool' 'hwloc') +makedepends=('inetutils') +options=(!libtool) +source=(http://www.open-mpi.org/software/ompi/v1.5/downloads/${pkgname}-${pkgver}.tar.bz2 + openmpi-1.5.4-fix-fakeroot-execution.patch) +sha1sums=('206e555f6d376443f2342f721d944e67dd1a04ef' + 'ec46abb6f9e01daca910e4079b9abc036db9ed20') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Fix fakeroot problem (FS#28644) + patch -Np1 -i ../openmpi-1.5.4-fix-fakeroot-execution.patch + + ./configure --prefix=/usr \ + --sysconfdir=/etc/${pkgname} \ + --mandir=/usr/share/man \ + --enable-mpi-f90 \ + --libdir=/usr/lib/${pkgname} \ + --with-threads=posix \ + --enable-smp-locks \ + --with-valgrind \ + --enable-memchecker \ + --enable-debug \ + --enable-pretty-print-stacktrace \ + --without-slurm \ + --with-hwloc=/usr \ + --with-libltdl=/usr \ + FC=/usr/bin/gfortran \ + LDFLAGS="$LDFLAGS -Wl,-z,noexecstack" + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # FS#28583 + install -d -m 755 "${pkgdir}"/usr/lib/pkgconfig + for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do + ln -sf /usr/lib/openmpi/pkgconfig/$i "${pkgdir}"/usr/lib/pkgconfig/ + done + + # Openmpi's otfinfo conflicts with the one from texlive + mv "${pkgdir}"/usr/bin/otfinfo{,mpi} + + # Openmpi's otfdump conflicts with the one from libotf + mv "${pkgdir}"/usr/bin/otfdump{,ompi} + + # Remove dangling symlink + rm "${pkgdir}"/usr/share/man/man1/orteCC.1 + + install -d -m 755 "${pkgdir}"/etc/ld.so.conf.d + echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} Copied: openmpi/repos/testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch (from rev 154488, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch) =================================================================== --- testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch (rev 0) +++ testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch 2012-03-29 09:52:47 UTC (rev 154489) @@ -0,0 +1,43 @@ +Description: If running under Debian fakeroot then its important + that this hook is disabled; a new stat check was introduced in + 1.5.x which preceeds the FAKEROOT check resulting in a SEGFAULT. +Author: James Page <james.p...@ubuntu.com> +Origin: https://svn.open-mpi.org/trac/ompi/changeset/21489 + +Index: openmpi-1.5.4/opal/mca/memory/linux/hooks.c +=================================================================== +--- openmpi-1.5.4.orig/opal/mca/memory/linux/hooks.c 2012-02-15 12:59:39.986314651 +0000 ++++ openmpi-1.5.4/opal/mca/memory/linux/hooks.c 2012-02-15 13:14:57.744722517 +0000 +@@ -738,15 +738,6 @@ + check_result_t r1, r2, lp, lpp; + bool want_rcache = false, found_driver = false; + +- /* First, check if ummunotify is present on the system. If it is, +- then we don't need to do the following ptmalloc2 hacks. +- open/mmap on the device may fail during init, but if /dev/ummunotify +- exists, we assume that the user/administrator *wants* to use +- ummunotify. */ +- if (stat("/dev/ummunotify", &st) == 0) { +- return; +- } +- + /* Yes, checking for an MPI MCA parameter here is an abstraction + violation. Cope. Yes, even checking for *any* MCA parameter + here (without going through the MCA param API) is an +@@ -769,6 +760,15 @@ + return; + } + ++ /* Next, check if ummunotify is present on the system. If it is, ++ then we don't need to do the following ptmalloc2 hacks. ++ open/mmap on the device may fail during init, but if /dev/ummunotify ++ exists, we assume that the user/administrator *wants* to use ++ ummunotify. */ ++ if (stat("/dev/ummunotify", &st) == 0) { ++ return; ++ } ++ + /* Look for sentinel files (directories) to see if various network + drivers are loaded (yes, I know, further abstraction + violations...). + Copied: openmpi/repos/testing-x86_64/PKGBUILD (from rev 154488, openmpi/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2012-03-29 09:52:47 UTC (rev 154489) @@ -0,0 +1,67 @@ +# $Id$ +# Maintainer: Stéphane Gaudreault <steph...@archlinux.org> +pkgname=openmpi +pkgver=1.5.5 +pkgrel=1 +pkgdesc="High performance message passing library (MPI)" +arch=('i686' 'x86_64') +url="http://www.open-mpi.org" +license=('custom') +depends=('gcc' 'gcc-fortran' 'openssh' 'valgrind' 'libtool' 'hwloc') +makedepends=('inetutils') +options=(!libtool) +source=(http://www.open-mpi.org/software/ompi/v1.5/downloads/${pkgname}-${pkgver}.tar.bz2 + openmpi-1.5.4-fix-fakeroot-execution.patch) +sha1sums=('206e555f6d376443f2342f721d944e67dd1a04ef' + 'ec46abb6f9e01daca910e4079b9abc036db9ed20') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Fix fakeroot problem (FS#28644) + patch -Np1 -i ../openmpi-1.5.4-fix-fakeroot-execution.patch + + ./configure --prefix=/usr \ + --sysconfdir=/etc/${pkgname} \ + --mandir=/usr/share/man \ + --enable-mpi-f90 \ + --libdir=/usr/lib/${pkgname} \ + --with-threads=posix \ + --enable-smp-locks \ + --with-valgrind \ + --enable-memchecker \ + --enable-debug \ + --enable-pretty-print-stacktrace \ + --without-slurm \ + --with-hwloc=/usr \ + --with-libltdl=/usr \ + FC=/usr/bin/gfortran \ + LDFLAGS="$LDFLAGS -Wl,-z,noexecstack" + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # FS#28583 + install -d -m 755 "${pkgdir}"/usr/lib/pkgconfig + for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do + ln -sf /usr/lib/openmpi/pkgconfig/$i "${pkgdir}"/usr/lib/pkgconfig/ + done + + # Openmpi's otfinfo conflicts with the one from texlive + mv "${pkgdir}"/usr/bin/otfinfo{,mpi} + + # Openmpi's otfdump conflicts with the one from libotf + mv "${pkgdir}"/usr/bin/otfdump{,ompi} + + # Remove dangling symlink + rm "${pkgdir}"/usr/share/man/man1/orteCC.1 + + install -d -m 755 "${pkgdir}"/etc/ld.so.conf.d + echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} Copied: openmpi/repos/testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch (from rev 154488, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch) =================================================================== --- testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch (rev 0) +++ testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch 2012-03-29 09:52:47 UTC (rev 154489) @@ -0,0 +1,43 @@ +Description: If running under Debian fakeroot then its important + that this hook is disabled; a new stat check was introduced in + 1.5.x which preceeds the FAKEROOT check resulting in a SEGFAULT. +Author: James Page <james.p...@ubuntu.com> +Origin: https://svn.open-mpi.org/trac/ompi/changeset/21489 + +Index: openmpi-1.5.4/opal/mca/memory/linux/hooks.c +=================================================================== +--- openmpi-1.5.4.orig/opal/mca/memory/linux/hooks.c 2012-02-15 12:59:39.986314651 +0000 ++++ openmpi-1.5.4/opal/mca/memory/linux/hooks.c 2012-02-15 13:14:57.744722517 +0000 +@@ -738,15 +738,6 @@ + check_result_t r1, r2, lp, lpp; + bool want_rcache = false, found_driver = false; + +- /* First, check if ummunotify is present on the system. If it is, +- then we don't need to do the following ptmalloc2 hacks. +- open/mmap on the device may fail during init, but if /dev/ummunotify +- exists, we assume that the user/administrator *wants* to use +- ummunotify. */ +- if (stat("/dev/ummunotify", &st) == 0) { +- return; +- } +- + /* Yes, checking for an MPI MCA parameter here is an abstraction + violation. Cope. Yes, even checking for *any* MCA parameter + here (without going through the MCA param API) is an +@@ -769,6 +760,15 @@ + return; + } + ++ /* Next, check if ummunotify is present on the system. If it is, ++ then we don't need to do the following ptmalloc2 hacks. ++ open/mmap on the device may fail during init, but if /dev/ummunotify ++ exists, we assume that the user/administrator *wants* to use ++ ummunotify. */ ++ if (stat("/dev/ummunotify", &st) == 0) { ++ return; ++ } ++ + /* Look for sentinel files (directories) to see if various network + drivers are loaded (yes, I know, further abstraction + violations...). +