diff options
author | root <root@rshg054.dnsready.net> | 2012-03-31 00:01:07 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-03-31 00:01:07 +0000 |
commit | 977b78df305a06797773799a7295f2a5f3f013cf (patch) | |
tree | c2cad20a10da5fe8f8784db13a2d52b80d0199a3 /testing | |
parent | 263884f95012e159a0be10444ef96bbf56e70545 (diff) |
Sat Mar 31 00:01:07 UTC 2012
Diffstat (limited to 'testing')
-rw-r--r-- | testing/dhcpcd/PKGBUILD | 10 | ||||
-rw-r--r-- | testing/glibc/PKGBUILD | 20 | ||||
-rw-r--r-- | testing/glibc/glibc-2.15-confstr-local-buffer-extent.patch | 297 | ||||
-rw-r--r-- | testing/glibc/glibc-__i686.patch | 44 | ||||
-rw-r--r-- | testing/openmpi/PKGBUILD | 67 | ||||
-rw-r--r-- | testing/openmpi/openmpi-1.5.4-fix-fakeroot-execution.patch | 43 |
6 files changed, 452 insertions, 29 deletions
diff --git a/testing/dhcpcd/PKGBUILD b/testing/dhcpcd/PKGBUILD index c6fa89171..1966156df 100644 --- a/testing/dhcpcd/PKGBUILD +++ b/testing/dhcpcd/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 154120 2012-03-23 16:23:31Z ronald $ +# $Id: PKGBUILD 154512 2012-03-29 18:07:25Z ronald $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Tom Killian <tom.archlinux.org> # Contributor: Judd Vinet <jvinet.zeroflux.org> pkgname=dhcpcd -pkgver=5.5.5 +pkgver=5.5.6 pkgrel=1 pkgdesc="RFC2131 compliant DHCP client daemon" url="http://roy.marples.name/dhcpcd/" @@ -16,16 +16,12 @@ backup=('etc/conf.d/dhcpcd' 'etc/dhcpcd.conf') options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory source=("http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2" \ 'dhcpcd.conf.d') -sha1sums=('1856ad1535f2c7551cefcb492af24d345c6a1b50' +sha1sums=('7f9ca207bce051252c0acb6a6cae3de22babcb20' 'b67b9ce6a2faaca75fea356966a16be2283b7db0') build() { cd ${srcdir}/${pkgname}-${pkgver} - # remove net-tools dep (upstream now) -# patch -Np1 -i ${srcdir}/0001-Set-hostname-via-proc-if-file-is-available.patch -# patch -Np1 -i ${srcdir}/0001-set-MTU-via-sysfs-if-file-is-available.patch - # configure variables ./configure --libexecdir=/usr/lib/dhcpcd --dbdir=/var/lib/dhcpcd \ --rundir=/run diff --git a/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD index 58cfee44d..fc8d037f5 100644 --- a/testing/glibc/PKGBUILD +++ b/testing/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 154260 2012-03-25 02:50:05Z allan $ +# $Id: PKGBUILD 154485 2012-03-29 05:49:49Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=glibc pkgver=2.15 -pkgrel=9 +pkgrel=10 _glibcdate=20111227 pkgdesc="GNU C Library" arch=('i686' 'x86_64') @@ -49,14 +49,14 @@ source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.t glibc-2.15-non-signalling-comparisons.patch glibc-2.15-rintf-rounding.patch glibc-2.15-nearbyintf-rounding.patch - glibc-2.15-confstr-strdup.patch + glibc-2.15-confstr-local-buffer-extent.patch nscd locale.gen.txt locale-gen) md5sums=('6ffdf5832192b92f98bdd125317c0dfc' '7ef69c530a15106de93e4de2df2d393e' 'b6c619e5cf91829a15ce34dccef676d5' - '40cd342e21f71f5e49e32622b25acc52' + 'addfddd648a4bf832eb126aba944ebae' 'e60e33591c9ec1447e4cddadcbb9cf3a' '6970bcfeb3bf88913436d5112d16f588' 'c5de2a946215d647c8af5432ec4b0da0' @@ -82,7 +82,7 @@ md5sums=('6ffdf5832192b92f98bdd125317c0dfc' 'c483504cf404ed0b44480af627813a97' '1419d61fd1dbc6cdc48bb59da86fa66f' '7ff501435078b1a2622124fbeaafc921' - '41f94da2f8db856b091a2d670d68eee3' + '8d1023a51e0932681b46440d5f8551ee' 'b587ee3a70c9b3713099295609afde49' '07ac979b6ab5eeb778d55f041529d623' '476e9113489f93b348b21e144b6a8fcf') @@ -108,8 +108,7 @@ build() { patch -p1 -i ${srcdir}/glibc-2.15-do-not-install-timezone-files-2.patch # undefine __i686 - # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html - # fix in http://sourceware.org/git/?p=glibc.git;a=commit;h=d4a54ac6 requires additional backporting... + # http://sourceware.org/glibc/wiki/Release/2.15#Build_Failures patch -p1 -i ${srcdir}/glibc-__i686.patch # http://www.exploit-db.com/exploits/15274/ @@ -214,8 +213,10 @@ build() { # http://sourceware.org/git/?p=glibc.git;a=commit;h=6cbeae47 patch -p1 -i ${srcdir}/glibc-2.15-nearbyintf-rounding.patch - # fix varaible scope issue exposed with gcc-4.7 and -O2 - patch -p1 -i ${srcdir}/glibc-2.15-confstr-strdup.patch + # fix varaible scope issue in confstr + # http://sourceware.org/git/?p=glibc.git;a=commit;h=ac4c54f0 + # http://sourceware.org/git/?p=glibc.git;a=commit;h=d6a403f9 + patch -p1 -i ${srcdir}/glibc-2.15-confstr-local-buffer-extent.patch install -dm755 ${pkgdir}/etc touch ${pkgdir}/etc/ld.so.conf @@ -226,6 +227,7 @@ build() { if [[ ${CARCH} = "i686" ]]; then # Hack to fix NPTL issues with Xen, only required on 32bit platforms + # TODO: make separate glibc-xen package for i686 export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" fi diff --git a/testing/glibc/glibc-2.15-confstr-local-buffer-extent.patch b/testing/glibc/glibc-2.15-confstr-local-buffer-extent.patch new file mode 100644 index 000000000..483b28532 --- /dev/null +++ b/testing/glibc/glibc-2.15-confstr-local-buffer-extent.patch @@ -0,0 +1,297 @@ +diff --git a/posix/confstr.c b/posix/confstr.c +index 3c9566d..cad6561 100644 +--- a/posix/confstr.c ++++ b/posix/confstr.c +@@ -35,6 +34,10 @@ confstr (name, buf, len) + const char *string = ""; + size_t string_len = 1; + ++ /* Note that this buffer must be large enough for the longest strings ++ used below. */ ++ char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"]; ++ + switch (name) + { + case _CS_PATH: +@@ -53,59 +56,55 @@ confstr (name, buf, len) + wint_t types are no greater than the width of type long. + + Currently this means all environment which the system allows. */ +- { +- char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"]; +- +- string_len = 0; ++ string_len = 0; + #ifndef _POSIX_V7_ILP32_OFF32 +- if (__sysconf (_SC_V7_ILP32_OFF32) > 0) ++ if (__sysconf (_SC_V7_ILP32_OFF32) > 0) + #endif + #if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0 +- { +- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32", +- sizeof "POSIX_V7_ILP32_OFF32" - 1); +- string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1; +- } ++ { ++ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32", ++ sizeof "POSIX_V7_ILP32_OFF32" - 1); ++ string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1; ++ } + #endif + #ifndef _POSIX_V7_ILP32_OFFBIG +- if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0) ++ if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0) + #endif + #if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG", +- sizeof "POSIX_V7_ILP32_OFFBIG" - 1); +- string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG", ++ sizeof "POSIX_V7_ILP32_OFFBIG" - 1); ++ string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1; ++ } + #endif + #ifndef _POSIX_V7_LP64_OFF64 +- if (__sysconf (_SC_V7_LP64_OFF64) > 0) ++ if (__sysconf (_SC_V7_LP64_OFF64) > 0) + #endif + #if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64", +- sizeof "POSIX_V7_LP64_OFF64" - 1); +- string_len += sizeof "POSIX_V7_LP64_OFF64" - 1; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64", ++ sizeof "POSIX_V7_LP64_OFF64" - 1); ++ string_len += sizeof "POSIX_V7_LP64_OFF64" - 1; ++ } + #endif + #ifndef _POSIX_V7_LPBIG_OFFBIG +- if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0) ++ if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0) + #endif + #if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG", +- sizeof "POSIX_V7_LPBIG_OFFBIG" - 1); +- string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1; +- } +-#endif +- restenvs[string_len++] = '\0'; +- string = restenvs; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG", ++ sizeof "POSIX_V7_LPBIG_OFFBIG" - 1); ++ string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1; ++ } ++#endif ++ restenvs[string_len++] = '\0'; ++ string = restenvs; + break; + + case _CS_V6_WIDTH_RESTRICTED_ENVS: +@@ -116,59 +115,55 @@ confstr (name, buf, len) + wint_t types are no greater than the width of type long. + + Currently this means all environment which the system allows. */ +- { +- char restenvs[4 * sizeof "POSIX_V6_LPBIG_OFFBIG"]; +- +- string_len = 0; ++ string_len = 0; + #ifndef _POSIX_V6_ILP32_OFF32 +- if (__sysconf (_SC_V6_ILP32_OFF32) > 0) ++ if (__sysconf (_SC_V6_ILP32_OFF32) > 0) + #endif + #if !defined _POSIX_V6_ILP32_OFF32 || _POSIX_V6_ILP32_OFF32 > 0 +- { +- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32", +- sizeof "POSIX_V6_ILP32_OFF32" - 1); +- string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1; +- } ++ { ++ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32", ++ sizeof "POSIX_V6_ILP32_OFF32" - 1); ++ string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1; ++ } + #endif + #ifndef _POSIX_V6_ILP32_OFFBIG +- if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0) ++ if (__sysconf (_SC_V6_ILP32_OFFBIG) > 0) + #endif + #if !defined _POSIX_V6_ILP32_OFFBIG || _POSIX_V6_ILP32_OFFBIG > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG", +- sizeof "POSIX_V6_ILP32_OFFBIG" - 1); +- string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG", ++ sizeof "POSIX_V6_ILP32_OFFBIG" - 1); ++ string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1; ++ } + #endif + #ifndef _POSIX_V6_LP64_OFF64 +- if (__sysconf (_SC_V6_LP64_OFF64) > 0) ++ if (__sysconf (_SC_V6_LP64_OFF64) > 0) + #endif + #if !defined _POSIX_V6_LP64_OFF64 || _POSIX_V6_LP64_OFF64 > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64", +- sizeof "POSIX_V6_LP64_OFF64" - 1); +- string_len += sizeof "POSIX_V6_LP64_OFF64" - 1; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64", ++ sizeof "POSIX_V6_LP64_OFF64" - 1); ++ string_len += sizeof "POSIX_V6_LP64_OFF64" - 1; ++ } + #endif + #ifndef _POSIX_V6_LPBIG_OFFBIG +- if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0) ++ if (__sysconf (_SC_V6_LPBIG_OFFBIG) > 0) + #endif + #if !defined _POSIX_V6_LPBIG_OFFBIG || _POSIX_V6_LPBIG_OFFBIG > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG", +- sizeof "POSIX_V6_LPBIG_OFFBIG" - 1); +- string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1; +- } +-#endif +- restenvs[string_len++] = '\0'; +- string = restenvs; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG", ++ sizeof "POSIX_V6_LPBIG_OFFBIG" - 1); ++ string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1; ++ } ++#endif ++ restenvs[string_len++] = '\0'; ++ string = restenvs; + break; + + case _CS_V5_WIDTH_RESTRICTED_ENVS: +@@ -179,59 +174,55 @@ confstr (name, buf, len) + wint_t types are no greater than the width of type long. + + Currently this means all environment which the system allows. */ +- { +- char restenvs[4 * sizeof "XBS5_LPBIG_OFFBIG"]; +- +- string_len = 0; ++ string_len = 0; + #ifndef _XBS5_ILP32_OFF32 +- if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0) ++ if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0) + #endif + #if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0 +- { +- memcpy (restenvs + string_len, "XBS5_ILP32_OFF32", +- sizeof "XBS5_ILP32_OFF32" - 1); +- string_len += sizeof "XBS5_ILP32_OFF32" - 1; +- } ++ { ++ memcpy (restenvs + string_len, "XBS5_ILP32_OFF32", ++ sizeof "XBS5_ILP32_OFF32" - 1); ++ string_len += sizeof "XBS5_ILP32_OFF32" - 1; ++ } + #endif + #ifndef _XBS5_ILP32_OFFBIG +- if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0) ++ if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0) + #endif + #if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG", +- sizeof "XBS5_ILP32_OFFBIG" - 1); +- string_len += sizeof "XBS5_ILP32_OFFBIG" - 1; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG", ++ sizeof "XBS5_ILP32_OFFBIG" - 1); ++ string_len += sizeof "XBS5_ILP32_OFFBIG" - 1; ++ } + #endif + #ifndef _XBS5_LP64_OFF64 +- if (__sysconf (_SC_XBS5_LP64_OFF64) > 0) ++ if (__sysconf (_SC_XBS5_LP64_OFF64) > 0) + #endif + #if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "XBS5_LP64_OFF64", +- sizeof "XBS5_LP64_OFF64" - 1); +- string_len += sizeof "XBS5_LP64_OFF64" - 1; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "XBS5_LP64_OFF64", ++ sizeof "XBS5_LP64_OFF64" - 1); ++ string_len += sizeof "XBS5_LP64_OFF64" - 1; ++ } + #endif + #ifndef _XBS5_LPBIG_OFFBIG +- if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0) ++ if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0) + #endif + #if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0 +- { +- if (string_len) +- restenvs[string_len++] = '\n'; +- memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG", +- sizeof "XBS5_LPBIG_OFFBIG" - 1); +- string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1; +- } +-#endif +- restenvs[string_len++] = '\0'; +- string = restenvs; +- } ++ { ++ if (string_len) ++ restenvs[string_len++] = '\n'; ++ memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG", ++ sizeof "XBS5_LPBIG_OFFBIG" - 1); ++ string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1; ++ } ++#endif ++ restenvs[string_len++] = '\0'; ++ string = restenvs; + break; + + case _CS_XBS5_ILP32_OFF32_CFLAGS: diff --git a/testing/glibc/glibc-__i686.patch b/testing/glibc/glibc-__i686.patch index 28d5dd424..16f84c536 100644 --- a/testing/glibc/glibc-__i686.patch +++ b/testing/glibc/glibc-__i686.patch @@ -1,13 +1,31 @@ -diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile ---- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 -+++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 -@@ -1,6 +1,7 @@ - # The mpn functions need a #define for asm syntax flavor. --# Every i386 port in use uses gas syntax (I think). --asm-CPPFLAGS += -DGAS_SYNTAX -+# Every i386 port in use uses gas syntax (I think). Don't replace -+# __i686 in __i686.get_pc_thunk.bx. -+asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 - - # The i386 `long double' is a distinct type we support. - long-double-fcts = yes +diff --git a/nptl/sysdeps/pthread/pt-initfini.c b/nptl/sysdeps/pthread/pt-initfini.c +index 9c00dc0..f5d4df8 100644 +--- a/nptl/sysdeps/pthread/pt-initfini.c ++++ b/nptl/sysdeps/pthread/pt-initfini.c +@@ -45,6 +45,11 @@ + /* Embed an #include to pull in the alignment and .end directives. */ + asm ("\n#include \"defs.h\""); + ++asm ("\n#if defined __i686 && defined __ASSEMBLER__"); ++asm ("\n#undef __i686"); ++asm ("\n#define __i686 __i686"); ++asm ("\n#endif"); ++ + /* The initial common code ends here. */ + asm ("\n/*@HEADER_ENDS*/"); + +diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h +index 64ef400..726b1df 100644 +--- a/sysdeps/unix/sysv/linux/i386/sysdep.h ++++ b/sysdeps/unix/sysv/linux/i386/sysdep.h +@@ -29,6 +29,10 @@ + #include <dl-sysdep.h> + #include <tls.h> + ++#if defined __i686 && defined __ASSEMBLER__ ++#undef __i686 ++#define __i686 __i686 ++#endif + + /* For Linux we can use the system call table in the header file + /usr/include/asm/unistd.h diff --git a/testing/openmpi/PKGBUILD b/testing/openmpi/PKGBUILD new file mode 100644 index 000000000..4b462b7b7 --- /dev/null +++ b/testing/openmpi/PKGBUILD @@ -0,0 +1,67 @@ +# $Id: PKGBUILD 154489 2012-03-29 09:52:47Z stephane $ +# Maintainer: Stéphane Gaudreault <stephane@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 +} diff --git a/testing/openmpi/openmpi-1.5.4-fix-fakeroot-execution.patch b/testing/openmpi/openmpi-1.5.4-fix-fakeroot-execution.patch new file mode 100644 index 000000000..dc9dcfeae --- /dev/null +++ b/testing/openmpi/openmpi-1.5.4-fix-fakeroot-execution.patch @@ -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.page@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...). + |