mpich-vl.spec 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. %define name mpich
  2. %define version 1.2.3
  3. %define release 1%{?_dist_release}
  4. Summary: A Portable Implementation of the Message-Passing Interface Standard
  5. Name: %{name}
  6. Version: %{version}
  7. Release: %{release}
  8. License: Freely Distributable
  9. Group: Development/Libraries
  10. Source: ftp://ftp.mcs.anl.gov/pub/mpi/mpich-%{version}.tar.gz
  11. Source1: ftp://ftp.mcs.anl.gov/pub/mpi/mpich-docs.tgz
  12. Source100: RSHCOMMAND
  13. Source101: RSHCOMMAND.ja
  14. Source102: RSHCOMMAND.en
  15. %define lang ja
  16. BuildRequires: xorg-x11-devel
  17. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  18. # note
  19. # jumpshot is written for jdk 1.x
  20. # java is not locatable with a packge.
  21. # Therefore, jumpshot is not included in this package, yet.
  22. # jumpshot is commented out with #java#.
  23. %package mpi
  24. Summary: Message-Passing Interface Standard
  25. Summary(ja): Message-Passing Interface Standard
  26. Group: Development/Libraries
  27. %package mpe
  28. Summary: MPE
  29. Requires: mpich-mpi = %{version}-%{release} XFree86-devel, tk
  30. Group: Development/Libraries
  31. %package doc
  32. Summary: MPE
  33. Group: Development/Libraries
  34. %description
  35. MPICH is an open-source, portable implementation of the Message-Passing
  36. Interface Standard.
  37. MPICH is a virtual package for MPI, MPE, and doc.
  38. %description mpi
  39. It contains a complete implementation of version 1.2 of
  40. the MPI Standard and also significant parts of MPI-2, particularly in the
  41. area of parallel I/O.
  42. %description mpe
  43. The Multi-Processing Environment (MPE) attempts to provide programmers with
  44. a complete suite of performance analysis tools for their MPI programs based
  45. on post processing approach. These tools include a set of profiling libraries,
  46. a set of utility programs, and a set of graphical tools.
  47. The first set of tools to be used with user MPI programs is profiling libraries
  48. which provide a collection of routines that create log files. These log files
  49. can be created manually by inserting MPE calls in the MPI program, or
  50. automatically by linking with the appropriate MPE libraries, or by combining
  51. the above two methods. Currently, the MPE offers the following 3 profiling
  52. libraries: Tracing Library, Animation Libraries, and Logging Libraries.
  53. %description doc
  54. Documentation for MPI and MPE.
  55. %prep
  56. %setup -q -a 1
  57. # as of version 1.2.2.3, use of mktemp is only in c files in mpe and mpid.
  58. ## as of version 1.2.3, configure checks use of mkstemp.
  59. ##find mpe mpid -type f -name \*.c \
  60. ## -exec perl -p -i -e "s|mktemp|mkstemp|g;" {} \;
  61. %build
  62. export RSHCOMMAND=%{_sysconfdir}/%{name}/RSHCOMMAND
  63. CFLAGS="$RPM_OPT_FLAGS" ./configure -prefix=$RPM_BUILD_ROOT/usr \
  64. --enable-sharedlib=$RPM_BUILD_ROOT%{_libdir} \
  65. --disable-doc \
  66. --libdir=$RPM_BUILD_ROOT%{_libdir} \
  67. --mandir=$RPM_BUILD_ROOT%{_mandir}
  68. # --with-comm=shared # for SMP
  69. # --enable-debug # enables TotalView(c) debugger
  70. make
  71. %install
  72. rm -rf $RPM_BUILD_ROOT
  73. # this installs everything as specified at configure time.
  74. make install
  75. # set datadir=/etc/mpich.
  76. find $RPM_BUILD_ROOT{%{_sbindir},%{_bindir}} -type f \
  77. -exec perl -p -i -e \
  78. "s|(datadir=.*)$RPM_BUILD_ROOT/usr/share|\1/etc/%{name}|g;" {} \;
  79. # remove $RPM_BUILD_ROOT except lib*{a,so}.
  80. find $RPM_BUILD_ROOT -type f -not -path '*lib*' \
  81. -exec perl -p -i -e "s|$RPM_BUILD_ROOT||g;" {} \;
  82. # put a sample Makefile in /etc/mpich.
  83. mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
  84. mv $RPM_BUILD_ROOT/usr/share/Makefile.sample \
  85. $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
  86. # set up the list of servers -- only localhost for the package.
  87. sed -e "/^[^#]/d" $RPM_BUILD_ROOT/usr/share/machines.LINUX >> \
  88. $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/machines.LINUX
  89. echo "localhost" >> $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/machines.LINUX
  90. # make RSHCOMMAND setting easy.
  91. install -m 755 %{SOURCE100}.%{lang} \
  92. $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/RSHCOMMAND
  93. # make care of upshot and jumpshot.
  94. mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
  95. #java#mv $RPM_BUILD_ROOT/usr/share/{upshot,jump-shot-3} \
  96. mv $RPM_BUILD_ROOT/usr/share/upshot \
  97. $RPM_BUILD_ROOT%{_datadir}/%{name}
  98. ln -sf %{_datadir}/%{name}/upshot/bin/upshot $RPM_BUILD_ROOT/%{_bindir}/upshot
  99. #java#ln -sf %{_datadir}/%{name}/upshot/bin/jumpshot \
  100. #java# $RPM_BUILD_ROOT/%{_bindir}/jumpshot
  101. perl -p -i -e "s|%{_datadir}|%{_datadir}/%{name}|g;" \
  102. $RPM_BUILD_ROOT%{_datadir}/%{name}/upshot/bin/*
  103. #java# $RPM_BUILD_ROOT%{_datadir}/%{name}/{upshot,jump-short-3}/bin/*
  104. %clean
  105. rm -rf $RPM_BUILD_ROOT
  106. %files
  107. %defattr(-,root,root)
  108. %files mpi
  109. %defattr(-,root,root)
  110. %config(noreplace) %{_sysconfdir}/%{name}*
  111. %{_sbindir}/*
  112. %{_bindir}/mpi*
  113. %{_bindir}/serv_p4
  114. %{_bindir}/tarch
  115. %{_bindir}/tdevice
  116. %{_includedir}/*mpi*
  117. %{_libdir}/*mpich*
  118. %{_mandir}/man1/MPI.1*
  119. %{_mandir}/man1/mpi*
  120. %{_mandir}/man1/chp4_servs.1*
  121. %{_mandir}/man1/cleanipcs.1*
  122. %{_mandir}/man1/tstmachines.1*
  123. %{_mandir}/man3/MPI*
  124. %{_mandir}/man3/Constants.3*
  125. %files mpe
  126. %defattr(-,root,root)
  127. %{_bindir}/mpe*
  128. %{_includedir}/basex11.h
  129. %{_includedir}/mpe*
  130. %{_includedir}/protofix.h
  131. %{_libdir}/*mpe*
  132. %{_mandir}/man4/MPE*
  133. %{_bindir}/clog*
  134. %{_bindir}/slog*
  135. %{_bindir}/logviewer*
  136. %{_bindir}/upshot
  137. %{_mandir}/man1/Jumpshots.1*
  138. %{_mandir}/man4/CLOG*
  139. %{_datadir}/%{name}
  140. %files doc
  141. %defattr(-,root,root)
  142. %doc COPYRIGHT KnownBugs README doc docs www
  143. %doc mpe/contrib examples installtest
  144. %changelog
  145. * Mon Sep 08 2008 Shu KONNO <owa@bg.wakwak.com> 1.2.3-1vl5
  146. - applied new versioning policy, spec in utf-8
  147. - added libdir option to configure
  148. * Fri Feb 08 2002 Yoshihiro Ota <ota@j.email.ne.jp>
  149. - Separated into subpackages -- mpi, mpe, and doc - 1.2.3-0vl3
  150. * Sun Feb 03 2002 Yoshihiro Ota <ota@j.email.ne.jp>
  151. - Version up to mpich-1.2.3
  152. * Fri Jan 25 2002 Yoshihiro Ota <ota@j.email.ne.jp>
  153. - Created spec file for mpich-1.2.2.3