--- mpich-1.2.5.3.orig/debian/mpich.links.in +++ mpich-1.2.5.3/debian/mpich.links.in @@ -0,0 +1,14 @@ +etc/#MPICH#/machines.LINUX usr/lib/#MPICH#/share/machines.LINUX +etc/#MPICH#/machines.LINUX usr/lib/#MPICH#/share/machines.LINUX_ALPHA +usr/lib/#MPICH#/bin/mpicc usr/bin/mpicc.#MPICH# +usr/lib/#MPICH#/bin/mpiCC usr/bin/mpiCC.#MPICH# +usr/lib/#MPICH#/bin/mpif77 usr/bin/mpif77.#MPICH# +usr/lib/#MPICH#/bin/mpirun usr/bin/mpirun.#MPICH# +usr/lib/#MPICH#/bin/mpiman usr/bin/mpiman.#MPICH# +usr/lib/#MPICH#/bin/mpireconfig usr/bin/mpireconfig.#MPICH# +usr/lib/#MPICH#/bin/mpereconfig usr/bin/mpereconfig.#MPICH# +usr/lib/#MPICH#/share/upshot/bin/upshot usr/bin/upshot.#MPICH# +usr/lib/#MPICH#/bin/clog2alog usr/bin/clog2alog.#MPICH# +usr/lib/#MPICH#/bin/clog2slog usr/bin/clog2slog.#MPICH# +usr/lib/#MPICH#/bin/clog_print usr/bin/clog_print.#MPICH# +usr/lib/#MPICH#/bin/slog_print usr/bin/slog_print.#MPICH# --- mpich-1.2.5.3.orig/debian/rules +++ mpich-1.2.5.3/debian/rules @@ -0,0 +1,230 @@ +#!/usr/bin/make -f +# Made with the iad of dh_make, by Craig Small +# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. +# Also some stuff taken from debmake scripts, by Cristopt Lameter. +# hacking on for MPICH done since 13 June 2000 by Junichi Uekawa +# (dancer@netfort.gr.jp) + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# parameters accepted for DEB_BUILD_OPTIONS: +# experimental-shlibs-support +# debug + +INSTALL_DIR=install -m 755 -d +INSTALL_FILE=install -m 644 + +CONFIGURE_OPTIONS= -rsh=/usr/bin/rsh + +# checks the environmental variable DEB_BUILD_OPTIONS +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) +CONFIGURE_OPTIONS+= --enable-devdebug --enable-debug +#--enable-mpedbg # this kills the build machine very badly with ed. +else +CONFIGURE_OPTIONS+= --disable-devdebug --disable-debug --disable-mpedbg +endif + +CONFIGURE_OPTIONS_MPD=$(CONFIGURE_OPTIONS) --with-device=ch_p4mpd -prefix=/usr/lib/mpich-mpd -mpilibname=mpich-p4mpd \ + -mpe_opts="--with-mpelibname=mpe-p4mpd --with-sloglibname=slog-p4mpd" +CONFIGURE_OPTIONS_P4=$(CONFIGURE_OPTIONS) --with-device=ch_p4 -prefix=/usr/lib/mpich \ + -mpe_opts="--with-mpelibname=mpe --with-sloglibname=slog" + +#ifneq (,$(findstring experimental-shlibs-support,$(DEB_BUILD_OPTIONS))) +CONFIGURE_OPTIONS_MPD+= --enable-sharedlib=/usr/lib/mpich-mpd/lib/shared/ +CONFIGURE_OPTIONS_P4+= --enable-sharedlib=/usr/lib/mpich/lib/shared/ +#endif + +PWD=$(shell pwd) + +export DH_COMPAT=2 + +include /usr/share/dpatch/dpatch.make + +build: build-stamp +build-stamp: patch + dh_testdir + # make mpich normal + (test -d image_mpich || mkdir image_mpich; cd image_mpich && ../configure \ + $(CONFIGURE_OPTIONS_P4) && \ + $(MAKE) ) + # make mpich MPD version + (test -d image_mpich-mpd || mkdir image_mpich-mpd; \ + cd image_mpich-mpd && \ + ../configure \ + $(CONFIGURE_OPTIONS_MPD) && \ + $(MAKE) ) + # make some debhelper files. + (set -e; for INST in mpich mpich-mpd ; do \ + for FILES in dirs preinst postinst prerm links conffiles; do \ + sed 's/#MPICH#/'$$INST'/g' < debian/mpich.$$FILES.in >debian/$$INST.$$FILES;\ + done;\ + done;\ + ) + echo usr/lib/mpich-mpd/bin/mpichboot usr/bin/mpichboot >> debian/mpich-mpd.links + echo usr/lib/mpich-mpd/bin/mpichstop usr/bin/mpichstop >> debian/mpich-mpd.links + touch build-stamp + +clean: unpatch + dh_testdir + dh_testroot + rm -f build-stamp install-stamp + # clean up the build directory + (set -e; for INST in mpich mpich-mpd ; do \ + for FILES in dirs preinst postinst prerm links doc-base conffiles; do \ + rm -f debian/$$INST.$$FILES;\ + done;\ + done;\ + ) + rm -rf image_mpich image_mpich-mpd + # cleaning cruft created by MPD. + rm -f mpid/ch_p4mpd/p4mpd/lib/p4_MD.c mpid/ch_p4mpd/p4mpd/lib/p4_MD.h mpid/ch_p4mpd/p4mpd/lib/p4_alloc.c mpid/ch_p4mpd/p4mpd/lib/p4_args.c mpid/ch_p4mpd/p4mpd/lib/p4_broadcast.c mpid/ch_p4mpd/p4mpd/lib/p4_debug.c mpid/ch_p4mpd/p4mpd/lib/p4_defs.h mpid/ch_p4mpd/p4mpd/lib/p4_funcs.h mpid/ch_p4mpd/p4mpd/lib/p4_error.c mpid/ch_p4mpd/p4mpd/lib/p4_rm.c mpid/ch_p4mpd/p4mpd/lib/p4_secure.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_conn.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_cr.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_sr.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_util.c mpid/ch_p4mpd/p4mpd/lib/p4_sock_util.h mpid/ch_p4mpd/p4mpd/lib/p4_sys.h mpid/ch_p4mpd/p4mpd/lib/p4_sys_funcs.h mpid/ch_p4mpd/p4mpd/lib/xdr_float.c mpid/ch_p4mpd/p4mpd/lib/listener_p4.c mpid/ch_p4mpd/p4mpd/lib/p4.h mpid/ch_p4mpd/p4mpd/lib/p4_fc.c mpid/ch_p4mpd/p4mpd/lib/p4_globals.c mpid/ch_p4mpd/p4mpd/lib/p4_globals.h mpid/ch_p4mpd/p4mpd/lib/p4_macros.h mpid/ch_p4mpd/p4mpd/lib/p4_mon.c mpid/ch_p4mpd/p4mpd/lib/p4_mon.h mpid/ch_p4mpd/p4mpd/lib/p4_patchlevel.h mpid/ch_p4mpd/p4mpd/lib/p4_procgroup.c mpid/ch_p4mpd/p4mpd/lib/p4_shmem_sr.c mpid/ch_p4mpd/p4mpd/lib/p4_sr.h mpid/ch_p4mpd/p4mpd/lib/sfcdchi.h mpid/ch_p4mpd/p4mpd/lib/makefile.proto mpid/ch_p4mpd/p4mpd/monitors mpid/ch_p4mpd/p4mpd/CHANGES mpid/ch_p4mpd/p4mpd/MACHINES mpid/ch_p4mpd/p4mpd/OPTIONS mpid/ch_p4mpd/p4mpd/README mpid/ch_p4mpd/p4mpd/config.guess mpid/ch_p4mpd/p4mpd/defs.all mpid/ch_p4mpd/p4mpd/p4_config.h.in mpid/ch_p4mpd/p4mpd/configure mpid/ch_p4mpd/p4mpd/configure.in mpid/ch_p4mpd/p4mpd/alog mpid/ch_p4mpd/p4mpd/bin mpid/ch_p4mpd/p4mpd/servers mpid/ch_p4mpd/p4mpd/usc mpid/ch_p4mpd/p4mpd/doc mpid/ch_p4mpd/p4mpd/messages mpid/ch_p4mpd/p4mpd/contrib mpid/ch_p4mpd/p4mpd/contrib_f mpid/ch_p4mpd/p4mpd/messages_f mpid/ch_p4mpd/p4mpd/misc + # cleaning mpe things like slogapi + rm -f mpe/slog_api/Makefile mpe/slog_api/config.log mpe/slog_api/config.status mpe/slog_api/sbin/install-slog mpe/slog_api/src/Makefile mpe/tmp/config.log + dh_clean + +install: install-stamp +install-stamp: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # make them sh +ex for debugging. + + # install the normal version. + (cd image_mpich && \ + DESTDIR=$(PWD)/debian/mpich/ /bin/sh -e bin/mpiinstall && \ + DESTDIR=$(PWD)/debian/mpich/ /bin/sh -e mpe/slog_api/sbin/install-slog \ + ) + # install the ch_p4mpd version + (cd image_mpich-mpd && \ + DESTDIR=$(PWD)/debian/mpich-mpd/ /bin/sh -e bin/mpiinstall && \ + DESTDIR=$(PWD)/debian/mpich-mpd/ /bin/sh -e mpe/slog_api/sbin/install-slog \ + ) + + # NOW: We have all the dirs up, and working. + + cp -a debian/mpich/usr/lib/mpich/doc/* debian/mpich-common/usr/share/doc/mpich-common/ + # fix things up for MPICH ... it installs files in a very ugly way + # -- make a config file DEBIAN WAY + # and other misc stuff is done here. + (set -e; for INST in mpich mpich-mpd ; do \ + cp debian/machines.LINUX debian/$$INST/etc/$$INST/machines.LINUX;\ + rm -f debian/$$INST/usr/lib/$$INST/share/machines.LINUX;\ + for A in mpiuninstall chkserv ; do rm -f debian/$$INST/usr/lib/$$INST/sbin/$$A; done;\ + rm -rf debian/$$INST/usr/lib/$$INST/man;\ + rm -rf debian/$$INST/usr/lib/$$INST/www;\ + ln -s ../../share/doc/mpi-doc/www debian/$$INST/usr/lib/$$INST/www;\ + $(INSTALL_DIR) debian/$$INST/usr/lib/$$INST/man;\ + cp man/mpiman.help debian/$$INST/usr/lib/$$INST/man/;\ + for A in man1 man3 man4; do ln -s ../../../share/man/$$A debian/$$INST/usr/lib/$$INST/man/$$A; done;\ + mv debian/$$INST/usr/lib/$$INST/share/examples debian/$$INST/usr/share/doc/$$INST;\ + rm -rf debian/$$INST/usr/lib/$$INST/doc;\ + mv debian/$$INST/usr/lib/$$INST/examples debian/$$INST/usr/share/doc/$$INST/examples/pi;\ + rm debian/$$INST/usr/lib/$$INST/share/Makefile.sample;\ + rm debian/$$INST/usr/share/doc/$$INST/examples/pi/mpirun ;\ + install -d debian/$$INST/usr/lib/update-cluster;\ + sed 's/#MPICHDIR#/'$$INST'/g' < debian/mpich.updatelist.in > image_$$INST/$$INST.updatelist;\ + install -m 755 image_$$INST/$$INST.updatelist debian/$$INST/usr/lib/update-cluster;\ + done;\ + ) + # + cp -r www/* debian/mpi-doc/usr/share/doc/mpi-doc/www/ + cp doc/mpiman.ps debian/mpi-doc/usr/share/doc/mpi-doc + $(INSTALL_DIR) debian/mpi-doc/usr/share/man/man3/ + cd man/man3/ && for A in *; do cat $$A | sed 's/^\(\.so .*3\)/\1mpich/' > ../../debian/mpi-doc/usr/share/man/man3/$${A}mpich; done + # this is bulky... and scary. Fixes script paths. + sh debian/fixup.sh + # fixing mpd binaries up. + for A in mpdallexit mpdbomb mpdclean mpdcleanup mpddump mpdexit mpdhelp \ + mpdkilljob mpdlistjobs mpdmandump mpdmpexec mpdringsize mpdringtest mpdshutdown mpdtrace mpigdb mpirun ; do \ + ln -sf mpdcon ${PWD}/debian/mpich-mpd/usr/lib/mpich-mpd/bin/$$A; done + # + # install shared libs to proper places. + + # mpich package + + $(INSTALL_DIR) debian/mpich/usr/lib/mpich/lib/shared/ + $(INSTALL_DIR) debian/libmpich1.0/usr/lib/mpich/lib/shared/ + # move parts of it required for runtime to other package + rm -f debian/mpich/usr/lib/mpich/lib/lib*.so.1 \ + debian/mpich/usr/lib/mpich/lib/shared/lib*.so.1 + (cd debian/mpich/usr/lib/mpich/lib/shared/ && \ + for TARGET in lib*.so.1.0; do \ + ln -sf $$TARGET $$(echo $$TARGET | sed -e's/\.1\.0$$//'); \ + done) + mv debian/mpich/usr/lib/mpich/lib/shared/lib*.so.1.0 debian/libmpich1.0/usr/lib/mpich/lib/shared/ + mv -f debian/mpich/usr/lib/mpich/lib/lib*.so.1.0 debian/libmpich1.0/usr/lib/mpich/lib/ + (cd debian/libmpich1.0/usr/lib/ && ln -s mpich/lib/shared/lib*.so.* . ) + + # mpich-mpd package + + $(INSTALL_DIR) debian/mpich-mpd/usr/lib/mpich-mpd/lib/shared/ + $(INSTALL_DIR) debian/libmpich-p4mpd1.0/usr/lib/mpich-mpd/lib/shared/ + # move parts of it required for runtime to other package + mv debian/mpich-mpd/usr/lib/mpich-mpd/lib/shared/lib*.so.1.0 debian/libmpich-p4mpd1.0/usr/lib/mpich-mpd/lib/shared/ + mv -f debian/mpich-mpd/usr/lib/mpich-mpd/lib/lib*.so.1.0 debian/libmpich-p4mpd1.0/usr/lib/mpich-mpd/lib/ + # hack mpe-p4mpd to have libmpe.so and libslog.so in their directory. + ln -s libmpe-p4mpd.so.1.0 debian/mpich-mpd/usr/lib/mpich-mpd/lib/shared/libmpe.so + ln -s libslog-p4mpd.so.1.0 debian/mpich-mpd/usr/lib/mpich-mpd/lib/shared/libslog.so + (cd debian/libmpich-p4mpd1.0/usr/lib/ && ln -s mpich-mpd/lib/shared/lib*.so.* . ) + # -- end of custom installation + touch install-stamp + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir -i + dh_testroot -i + # create the source archive, and do something. + install -d debian/mpe-source/usr/share/mpe-source + tar cf - mpe | bzip2 > debian/mpe-source/usr/share/mpe-source/mpe.tar.bz2 + dh_installdocs -i + dh_installexamples -i + dh_installmenu -i + dh_installmanpages -pmpich-common + (set -e ; \ + for A in mpich-common ; do \ + rm -rf debian/$$A/usr/share/man/man3; \ + for PAGES in mpicc mpiCC mpif77 mpirun clog2alog clog2slog clog_print mpereconfig mpiman mpireconfig slog_print upshot ; do \ + mv debian/$$A/usr/share/man/man1/$$PAGES.1 debian/$$A/usr/share/man/man1/$$PAGES.$$A.1;\ + ln -s $$PAGES.$$A.1 debian/$$A/usr/share/man/man1/$$PAGES.mpich.1;\ + ln -s $$PAGES.$$A.1 debian/$$A/usr/share/man/man1/$$PAGES.mpich-mpd.1;\ + done ;\ + done ) + dh_installchangelogs -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir -a + dh_testroot -a + dh_installdocs -a + dh_installexamples -a + dh_installmenu -a + dh_link -a + dh_installcron -a + #note -- there is no f90 available in Debian, so ignore it. + # Move around man pages for alternatives with LAM. + dh_installchangelogs -a + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_installdeb -a + dh_makeshlibs -a + dh_shlibdeps -a + dh_gencontrol -a + dh_makeshlibs -a + dh_md5sums -a + dh_builddeb -a + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary --- mpich-1.2.5.3.orig/debian/changelog +++ mpich-1.2.5.3/debian/changelog @@ -0,0 +1,650 @@ +mpich (1.2.5.3-1.1) unstable; urgency=high + + * Non-maintainer upload. + * High-urgency upload for sarge-targetted RC bugfix + * Since lib*.so.1 have been removed, make sure the lib*.so symlinks + point to the actual library files (closes: #282258). + + -- Steve Langasek Sun, 5 Dec 2004 16:13:32 -0800 + +mpich (1.2.5.3-1) unstable; urgency=low + + * New upstream release (closes: #262126). + * Now includes -MT, -MQ, -MF -MM in mpiCC script (closes: #199650, #262356). + * Refined X lib Build-Depends, libmpich1.0 should follow automatically + (closes: #246740, #271753). + * Removed useless lib*.so.1 symlinks (closes: #214624). + * Stripped "index" argument name from mpio.h to avoid unnecessary warnings. + + -- Adam C. Powell, IV Wed, 3 Nov 2004 17:07:24 -0500 + +mpich (1.2.5.2-1) unstable; urgency=low + + * New upstream (closes: #212036). + * Removed patch 01 from 00list because upstream seems to have applied it. + * Patch 02 forward-ported, now includes slog libname stuff from .diff.gz. + * Forward-ported patches 03, 04, 05, 06, 07 and 10. + * Patch 08 moves MPI_Handler_function typedef below #include "mpidefs.h" so + USE_STDARG is defined in time (closes: #207868). + + -- Adam C. Powell, IV Tue, 7 Oct 2003 14:03:30 -0400 + +mpich (1.2.5-6) unstable; urgency=low + + * Patch 05 changes shared libtvmpich linking from "makesharedlib" to straight + "cc" so it should build on all arches (closes: #196845). + * Patch 06 fixes home directory in mpich-mpd's mpichboot (closes: #198202). + + -- Adam C. Powell, IV Fri, 20 Jun 2003 17:57:34 -0400 + +mpich (1.2.5-5) unstable; urgency=low + + * Changed mv to mv -f to put shlibs in /usr/lib/mpich(-mpd)/lib into shared + lib packages, since the lib(s) there are apparently not generated on s390 + or sparc. + + -- Adam C. Powell, IV Tue, 20 May 2003 18:33:43 -0400 + +mpich (1.2.5-4) unstable; urgency=low + + * Removed rpath from mpe and slog lib linking commands in patch 02... + * Generalized symlink commands so mpe and slog shlibs get symlinked to + /usr/lib (closes: #186885). + * Had to add --with-sloglibname arg to mpe/configure.in and + mpe/slog_api/configure.in (and configure too) to prevent library namespace + collision between slog libs in mpich and mpich-mpd shared lib packages. + * Added libslog.so to libmpe.so for linking in mpd shared lib subdir. + * Fixed install-slog to do shlib symlinks right. + + -- Adam C. Powell, IV Mon, 19 May 2003 15:44:47 -0400 + +mpich (1.2.5-3) unstable; urgency=low + + * New maintainer is all for now, more changes later. (closes: 189853) + + -- Adam C. Powell, IV Sun, 20 Apr 2003 12:08:27 -0400 + +mpich (1.2.5-2) unstable; urgency=low + + * Try compiling mpd with CFLAGS (patch 10). (closes: #176954) + thanks to lamont. + * do error checking of failed links. (patch 07) + + -- Junichi Uekawa Thu, 16 Jan 2003 19:15:10 +0900 + +mpich (1.2.5-1) unstable; urgency=low + + * New upstream release + * Forward-port Debian patches: + - DESTDIR + - shared library -- forwarded upstream (again) + included patches: + - compile .s files. + * work-around missing libg2c link with -lib=g2c to ./configure. + * Recompiling with gcc-3.2 + * use dpatch system. + - Build-Depends on dpatch + - create debian/patches/ + 01_destdir -- $DESTDIR patch + 02_mpeshlibs -- shared library for MPE and libslog + 03_move_logfile -- log file is in /var/log + 04_hackg2c -- hack to link with g2c. + + -- Junichi Uekawa Mon, 13 Jan 2003 19:07:26 +0900 + +mpich (1.2.4-11) unstable; urgency=low + + * Fix up mpe include files, mpeinstall script checked for $includedir without + $DESTDIR. + + -- Junichi Uekawa Fri, 20 Dec 2002 17:20:25 +0900 + +mpich (1.2.4-10) unstable; urgency=low + + * mpe/src/Makefile.in, mpe/slog_api/src/Makefile.in: + Move mpe libs to /usr/lib/mpich/lib/shared/ dir along with mpich libs. + The shared/ dirs are meant to be sharable among NFS-shared hosts. + (closes: #170573), thanks Adam C Powell IV + * Explicitly specify to install libs into /usr/lib/mpich/lib/shared/ + * mpe/viewers/sbin/install-viewers.in, mpe/viewers/upshot/sbin/install-viewer.in: + fix up to use DESTDIR. + * debian/rules: reduce the number of hacks for shuffling around the + shared libraries, because MPICH install was fixed. + (my new strategy is to fix upstream install scripts rather + than hack around it) + * with an attempt with 1.2.4-9, libslog is available now, and + libmpe.so is linked with X11, -lslog, and -lm. (closes: #168831) + * README.Debian: update the notes wrt the changes that are local to + Debian. + + -- Junichi Uekawa Wed, 18 Dec 2002 18:10:39 +0900 + +mpich (1.2.4-9) UNRELEASED; urgency=low + + * debian/rules: more cleaning. + * mpe/slog_api/src/Makefile.in: hack up to make shared library for libslog. + * mpe/src/Makefile.in: link libmpe with -L /usr/X11R6/lib -lX11 -L ../slog_api/lib -lslog. + * seems not to be installing slog libs, force-run sloginstall in debian/rules. + * Complete rehaul of the build system. + - util/mpiinstall.in: hack to use DESTDIR properly. + - mpe/sbin/mpeinstall.in: hack to use DESTDIR properly. + - mpe/slog_api/sbin/install-slog.in: hack to use DESTDIR properly. + * Move over libmpe.so from libmpich-p4mpd1.0 to mpich-mpd package, and + add Replaces:. It was a mistake. + + -- Junichi Uekawa Tue, 17 Dec 2002 23:01:47 +0900 + +mpich (1.2.4-8) unstable; urgency=low + + * use CLINKER to link instead of MPI_CLINKER wrapper over cc. + I think that should fix build failure on hppa and ia64. + Using mpicc to link, it is trying to link in some static libs also. + (closes: #167036) + + -- Junichi Uekawa Wed, 30 Oct 2002 18:17:21 +0900 + +mpich (1.2.4-7) unstable; urgency=low + + * Create shared version of mpe libs. (closes: #143192) + * shared libraries for two versions are in /usr/lib/mpich*/lib/libmpe.so + It should work, with rpath settings and other things. + Try with: -Wl,-soname,lib$(PROF_LIBNAME).so.1.0 -Wl,-rpath,$(libdir) + * libmpe-p4mpd.so is availble for -mpd, and libmpe.so symlink is provided. + * updated TODO files for a change. + * update README.Debian for a change. + + -- Junichi Uekawa Thu, 24 Oct 2002 17:28:25 +0900 + +mpich (1.2.4-6) unstable; urgency=low + + * util/mpicc.in: handle *.s files as input (closes: #164359) + Reported by nbreen@ofb.net (Nicholas Breen). + * Standards-Version: 3.5.7, no change. + * Apply upstream patch: + - 7073 Fix the computation of the LB (lower bound) of indexed datatypes + - 7090 Correct the computation of the lb for a struct type + + -- Junichi Uekawa Tue, 15 Oct 2002 16:26:10 +0900 + +mpich (1.2.4-5) unstable; urgency=low + + * mpi-doc: changed .3 manpages to .3mpich, so that conflicts with LAM is resolved. + (closes: #150629, #150194) + * Temporarily patch mpid/server/serv_p4.c to use /var/log/secure_server.log instead of + /usr/adm/secure_server.log (closes: #151121) + + -- Junichi Uekawa Mon, 22 Jul 2002 14:51:12 +0900 + +mpich (1.2.4-4) unstable; urgency=low + + * moved doc files to -common package, on the way fixing the uninstallable + bug. + (closes: #150048) + * mpich-common replaces files in mpich and mpich-mpd prior to this version + + -- Junichi Uekawa Sat, 15 Jun 2002 18:19:01 +0900 + +mpich (1.2.4-3) unstable; urgency=low + + * Initial upload to unstable. New upstream version (closes: #144073) + * Try and build shared libraries (closes: #143192, #82038) + * set -mpilibname=mpich-p4mpd for mpd version. + * add shlibs.local + * add libmpich1.0 package, libmpich-mpd1.0 package. + * add notes to README.Debian about shlibs compilation + * mpich.postinst.in: fix update-alternatives to point to mpich-common + manpages, instead of mpich/mpich-mpd, because manpage moved. + * There is no longer such "you should configure" message. (closes: #67992) + * Improve package description for mpe-source (closes: #128104) + + -- Junichi Uekawa Tue, 11 Jun 2002 00:17:51 +0900 + +mpich (1.2.4-2) experimental; urgency=low + + * support backport to potato, build-depend on xlibs-dev | xlib6g-dev + (not uploaded to Debian) + + -- Junichi Uekawa Fri, 17 May 2002 14:50:05 +0900 + +mpich (1.2.4-1) experimental; urgency=low + + * New upstream release + * Build-Depends: s/xlib6g-dev/xlibs-dev + * shift manpages around + * forward port symlink fix from mpich in sid + * more strict depends on mpich-common. mpich-common replaces old mpich + * mpid/mpd/Makefile.in: applied fix for -prefix override. + + -- Junichi Uekawa Mon, 13 May 2002 14:57:59 +0900 + +mpich (1.2.3-0.1) experimental; urgency=low + + * New upstream release. Not released to Debian + + -- Junichi Uekawa Wed, 1 May 2002 19:06:45 +0900 + +mpich (1.2.2.2-0.2) experimental; urgency=low + + * Even more experimental releases (not uploaded to Debian) + * created mpich-common package to allow for coexistence of + mpich and mpich-mpd package. -- do the transition ... how? + + -- Junichi Uekawa Mon, 7 Jan 2002 12:46:52 +0900 + +mpich (1.2.2.2-0.1) experimental; urgency=low + + * newer upstream release (never uploaded) fork from 1.2.1-12 + * dh_suidregister is removed. + * fixed some bugs with mpich-mpd handling, and renaming things in fixup.sh + * debian/TODO: updated + * added symlinks for mpichboot and mpichstop for /usr/bin in mpich-mpd package. + * patched mpd makefile.in to not to set prefix in configure time + * fixup.sh: mpiboot includes reference to the content of ${HOME} + while building, such as /home/username, + and that is modified to ${HOME}. + * Thinking of future ways to do things -- debian/mpd-makefile.patch + exists, but not used. Patch is in the Debian diff. + * (NOTE: this package is not Debian Official) + * include examples directory for fixup.sh target, so that Makefile + etc. can be fixed + * removed /usr/lib/mpich/share/Makefile.sample, which was useless + * updated debian/control to sync with mpich 1.2.1-14 + * added mpich-mpe-source package, which contains source to MPE. + * renamed the package name to mpe-source as per suggestion from + debian-beowulf mailing list. + * fixed typo in debian/control for description of mpe-source + * fixed typo in debian/control for description of mpich/mpi-doc + as noted by Matt Zimmerman + * moved around debian/rules, the rule to build indep targets, so + that it won't waste autobuilders time. + * moved bzip2 over to Build-Depends-Indep + * fixed doc-base conflict. Both were called mpich, renamed one to mpich-mpd + + (some changelogs for 1.2.2 prerelease package, which was never uploaded to + Debian. Forked from mpich 1.2.1-12) + * debian/control: updated to policy 3.5.6, no change + * removed a rm examples/MPI-2-C++/mpirun, which no longer seems to exist + + * fixed typo in links file, there should be a mpirun_dbg + + * Trying to get mpirun_dbg to be working -- suspecting that it is broken + * Getting mpich-mpd package built. + * preinst, postinst, prerm, dirs, doc-base is moved to "in" + + * finally, the reference to the build system is removed.. (it seems) + * fixed override disparity with mpi-doc priority being "optional" + * fix conffiles, to be of right value for mpich and mpich-mpd + * Fix mpd binaries' symlinks in debian/rules. + + -- Junichi Uekawa Wed, 19 Dec 2001 19:51:16 +0900 + +mpich (1.2.1-17) unstable; urgency=low + + * debian/rules: fixed symlink for man{1,2,4} in /usr/lib/mpich/man, + thanks Gordon Sadler for noticing this. (closes: #144075) + * remove reference to dh_suidregister in debian/rules. + + -- Junichi Uekawa Tue, 30 Apr 2002 18:47:08 +0900 + +mpich (1.2.1-16) unstable; urgency=low + + * fixed typo in debian/control, for mpi-doc and mpich, after the + great spelling check, by Matt Zimmerman (closes: #125154) + and (closes: #125153) + + -- Junichi Uekawa Wed, 19 Dec 2001 19:49:00 +0900 + +mpich (1.2.1-15) unstable; urgency=low + + * mpe-source package is added, to allow LAM to build with + MPE source that is bundled with MPICH source. (backported from + 1.2.2.2 package) + * Build-depends on bzip2 + + -- Junichi Uekawa Sun, 18 Nov 2001 06:47:12 +0900 + +mpich (1.2.1-14) unstable; urgency=low + + * fixing priority + * fixing fixup.sh to fix the Makefiles (which used to contain the + build directory info etc.) + * changing description mpi-doc, to clarify that it is a documentation + for an implementation of MPI, namely MPICH, and not the actual + documentation of the MPI standard as such. MPI standard + is packaged separately. (closes: #116248) + + -- Junichi Uekawa Sat, 20 Oct 2001 13:17:58 +0900 + +mpich (1.2.1-13) unstable; urgency=low + + * Fixing a nonexistent upshot problem (closes: #112905) + * updated the TODO file. + + -- Junichi Uekawa Fri, 21 Sep 2001 17:18:50 +0900 + +mpich (1.2.1-12) unstable; urgency=low + + * "Maintenance before release" package. + * fix the description, removing (rsh version) from it. (closes: #108505) + * change the build-deps to "g77" instead of "fortran77-compiler" + The compiler should be non-ambiguous. + * removed the reference to deprecated dh_testversion + * [mpich.updatelist] Changed cluster.xml file direct reference to $CLUSTERXML + * Removed the emacs variable from debian/changelog + + -- Junichi Uekawa Wed, 29 Aug 2001 00:47:22 +0900 + +mpich (1.2.1-11) unstable; urgency=low + + * handle update-cluster 0.5. + + -- Junichi Uekawa Wed, 8 Aug 2001 16:08:37 +0900 + +mpich (1.2.1-10) unstable; urgency=low + + * added support for update-cluster + + -- Junichi Uekawa Sat, 28 Jul 2001 23:10:37 +0900 + +mpich (1.2.1-9) unstable; urgency=low + + * compilation error fixed, thanks go to tausq for reporting it. + (closes: #103785) + * removes build-dep for gdb, since it doesn't really seem necessary + * added hooks to create mpd versions. + + -- Junichi Uekawa Sat, 7 Jul 2001 17:37:28 +0900 + +mpich (1.2.1-8) unstable; urgency=low + + * removes reference to ssh from the Depends line (closes: #96872) + * Bump standards-version to 3.5.5 + + -- Junichi Uekawa Sun, 24 Jun 2001 00:30:38 +0900 + +mpich (1.2.1-7) unstable; urgency=low + + * rebuilding with newer libs + + -- Junichi Uekawa Sun, 6 May 2001 22:42:28 +0900 + +mpich (1.2.1-6) unstable; urgency=low + + * debian/control: Maintainer: field is updated to point to dancer@debian.org + + -- Junichi Uekawa Wed, 28 Feb 2001 01:21:55 +0900 + +mpich (1.2.1-5) unstable; urgency=low + + * debian/rules: Removed Jumpshots manpage (it should not be there) + * debian/rules, debian/clog2alog.1, debian/clog_print.1, + debian/slog_print.1, debian/clog2slog.1, debian/mpereconfig.1, + debian/upshot.1: No more undocumented.7.gz manpages. + * debian/control, debian/rules: made specific debhelper version + requirement. + * debian/control: bumping standards-version to 3.5.2 + + -- Junichi Uekawa Tue, 27 Feb 2001 01:31:31 +0900 + +mpich (1.2.1-4) unstable; urgency=low + + * debian/rules: add no-debug options, but nothing seems to change. + not even the filesize of the package + * debian/mpi-doc.doc-base: added an entry for the MPI reference manual + * debian/mpich.doc-base: added an entry for MPICH User's guide + * debian/rules: cleaned up the process of fixing up the package slightly + * debian/rules: handles DEB_BUILD_OPTIONS option "debug" + * debian/fixup.sh: cleans up more reference to local build directories + * debian/mpich.links: install symlinks for accessing MPE commands. + * debian/rules: MPE commands are not documented in a manpage, so installed + undocumented symlinks. + * debian/control: updated to policy 3.2.1. + * changed maintainer mail address to dancer@debian.org + + -- Junichi Uekawa Wed, 14 Feb 2001 07:04:01 +0900 + +mpich (1.2.1-3) unstable; urgency=low + + * debian/rules: fix up some disorder of non-policy-conformant file + locations, (closes: #84104) + * debian/control: Changed the dependency so that mpich can be installed + when ssh is installed. (closes: #46555) (closes: #67191) + * debian/mpich.postinst: Fixed alternatives to have libmpich++ to link + to something decent. + * shared libs can be compiled (see debian/rules) (but something is still wrong). + + -- Junichi Uekawa Wed, 31 Jan 2001 01:17:07 +0900 + +mpich (1.2.1-2) unstable; urgency=low + + * Alpha which seems to have machines.LINUX_ALPHA instead of + machines.LINUX -- temporary fix is to link machines.LINUX_ALPHA + to /etc/mpich/machines.LINUX. All the other arches have the + same conffile. So, I have done a quick hack to have the two files + linking at the same thing. + + -- Junichi Uekawa Sat, 20 Jan 2001 02:25:30 +0900 + +mpich (1.2.1-1) unstable; urgency=low + + * New upstream release + * Removed the shared libs built automatically. + Future plan to create -shlibs versions of package. + * Added libmpi++.a into the update-alternatives. + * Fixed a bug.. Now calls update-alternatives --remove in + prerm + * Fixed a mpiinstall feature so that it doesn't try to write into + /usr/lib/mpich at compile time. + * Added undocumented manpage for mpereconfig. + + -- Junichi Uekawa Thu, 14 Dec 2000 13:02:27 +0000 + +mpich (1.2.0-3) unstable; urgency=low + + * Changed a wrong update-alternatives in postinst, with regard to + libmpi.a (closes: #67793) + + -- Junichi Uekawa Thu, 27 Jul 2000 23:22:35 +0900 + +mpich (1.2.0-2) unstable; urgency=low + + * Added a missing build-dependency on debhelper (closes: #67704) + + -- Junichi Uekawa Wed, 26 Jul 2000 16:22:05 +0900 + +mpich (1.2.0-1) unstable; urgency=low + + * New maintainer and new upstream release + * /sbin/chkserv is removed, will put back later if necessary + * mpi-doc conflicts with mpich << 1.1.2 + * fixed a typo in debian/rules for deleting mpiman etc. + * /usr/lib/mpich/bin/mpiman should work almost per advertosed + * Cleaned .diff.gz so that nothing that is autogenerated is included. + + -- Junichi Uekawa Sat, 22 Jul 2000 20:19:26 +0900 + +mpich (1.1.2-11) unstable; urgency=low + + * Fix build dependancies (closes: #54258). + + -- Mark Brown Fri, 7 Jan 2000 10:42:28 +0000 + +mpich (1.1.2-10) unstable; urgency=low + + * Seperate runtime and development slave links. + * Add build depends to update to policy 3.1.1. + + -- Mark Brown Mon, 3 Jan 2000 13:32:19 +0000 + +mpich (1.1.2-9) unstable; urgency=low + + * Configure without comm=shared (closes: #49827). + + -- Mark Brown Sat, 13 Nov 1999 02:02:28 +0000 + +mpich (1.1.2-8) unstable; urgency=low + + * Make mpicc and friends alternatives (closes: #47321). + + -- Mark Brown Sun, 16 Oct 1999 01:56:03 +0100 + +mpich (1.1.2-7) unstable; urgency=low + + * Update to policy 3.0.1 (FHS) ignoring /usr/lib/mpich contents. + * Delete symlinks in /usr/lib/mpich/man in preinst for both packages + in order to ensure that they get replaced by directories correctly. + (closes: #45315). + * Depend on rsh-client rather than netstd since that is now a seperate + package. Also recommend rsh-server, which is almost certainly also + going to be needed. + + -- Mark Brown Tue, 7 Sep 1999 22:25:16 +0100 + +mpich (1.1.2-6) unstable; urgency=low + + * Update copyright information to record applied patches. + * Don't update to policy 3.0.0 since I don't want to work around + debhelper in this package. + + -- Mark Brown Tue, 27 Jul 1999 10:29:18 +0100 + +mpich (1.1.2-5.1) unstable; urgency=low + + * Non-maintainer upload: recompiled on a potato system. + With agreement of maintainer. + + -- Philipp Frauenfelder Sun, 16 May 1999 17:46:03 +0200 + +mpich (1.1.2-5) unstable; urgency=low + + * Fixed argument checking in mpich prerm. + * Removed lib symlink and updated alternatives to match, fixing + problems with the symlink not being created when upgrading from + slink (bug #36662). + * mpich postinst is now non-interactive. + * Simplified sed usage in fixup.sh. + * mpi-doc postinst and prerm also check arguments (d'oh!). + + -- Mark Brown Mon, 26 Apr 1999 15:32:34 +0100 + +mpich (1.1.2-4) unstable; urgency=low + + * Apply upstream patches: + - 4180: Handle null requests correctly in WAITANY and TESTANY. + - 4169: Fix filesystem determination code. + - 4152: Minor fixes to testsuite programs. + - 4224: Remove unneeded FILE initializers (includes some of the + previous Debian glibc fixes). + * Install examples from MPE contrib directory. + * Enable compiler optimizations. + * postinst and prerm now check their arguments. + + -- Mark Brown Wed, 31 Mar 1999 00:28:35 +0100 + +mpich (1.1.2-3) unstable; urgency=low + + * Patch to build under glibc2.1 (the i386 package is still built + against glibc2.0). + * Install MPI reference manual from ref in mpi-doc as ref.ps. + * Install some documentation from p4 subsystem. + * Downgrade priority to extra - MPI is not precisely mainstream. + * Correct spelling mistake in control file. + + -- Mark Brown Sun, 28 Mar 1999 01:26:15 +0000 + +mpich (1.1.2-2) unstable; urgency=low + + * Move manual pages to /usr/lib/mpich/man (more bug #32729). + * debian/rules: clean really cleans, remove hardcoded directory + (fixes bug #34059). + * Install user's guide and bibliography. + * Fix more installed references to build directory. + * Updated MPI.1 manual page to refer to Debian package. + + -- Mark Brown Thu, 4 Mar 1999 02:37:00 +0000 + +mpich (1.1.2-1) unstable; urgency=low + + * New upstream release. + * Repackaged using debhelper. + * Split MPI manual pages into seperate mpi-doc package so they may be + used by people using other MPI implementations. + * Enable shared memory communication within nodes. + * Supply Fortran 77 and C++ bindings (fixes wishlist bug #29772). + * mpiman now finds man pages (fixes bug #32729). + * Install more of the supplied documentation and examples. + * Both packages support doc-base. + + -- Mark Brown Tue, 2 Feb 1999 22:11:16 +0000 + +mpich (1.1.0-6) frozen unstable; urgency=low + + * Correctly install mpirun.1.gz. + + -- Mark Brown Wed, 20 Jan 1999 18:26:30 +0000 + +mpich (1.1.0-5) frozen unstable; urgency=low + + * Conflict with LAM version 6.1 and older. These versions of LAM + install files in main directories which are part of the standard + MPI interface. + * Use alternatives to provide /usr/include/mpi, mpirun and libmpi. + The real files remain as they were. This fixes bug #30231 and + provides compatibility with other implementations of MPI. + * Add dependancy on netstd for rsh. + * Removed "bogus" from the default machines.LINUX. The package + should work out of the box as far as possible. + * Cleaned up and corrected README.Debian. Added a brief warning + about the security of rsh. + * Force installation of header files, clearing up intermittent build + problems. + * This rebuild removes the version-specific libc6 dependancy. + + -- Mark Brown Wed, 16 Dec 1998 18:37:13 +0000 + +mpich (1.1.0-4) frozen unstable; urgency=low + + * Make /etc/mpich/machines.LINUX a conffile. + * Fixed examples symlink in /usr/doc/ (fixes bug #25342 and part of + #30231). + * Fixed use of stderr as constant initializer (fixes bugs #29882 + and #29592) (hand-apply patch from Christian Meder). + * Provide mpireconfig. This involves rewriting references to the + build directory in config.status in terms of /usr/mpich + (fixes bugs #18812, #24463 and #26017). + * Don't install machines.sample in /etc/mpich, install it in doc + directory (fixes part of bug #30231). + * Slightly fixed & expanded README.Debian. + * New maintainer. + + -- Mark Brown Fri, 4 Dec 1998 00:00:00 +0000 + +mpich (1.1.0-3.1) frozen unstable; urgency=low + + * non maintainer, sparc only upload + * fix initializer element not constant bugs with glibc2.1 + + -- Christian Meder Fri, 20 Nov 1998 16:20:43 +0100 + +mpich (1.1.0-3) unstable; urgency=low + + * Fixed the copyright file. Now has real info in it. + * Many fixes to build. Now installs mainly in /usr/lib/mpich instead + of all over like before. + * A new fixit.sh script has been added to the sourcepackage to help + move files around to the right locations. + + -- John Goerzen Thu, 12 Feb 1998 19:37:21 -0600 + +mpich (1.1.0-2) unstable; urgency=low + + * Build fixes + + -- John Goerzen Wed, 11 Feb 1998 23:01:04 -0600 + +mpich (1.1.0-1) unstable; urgency=low + + * Initial Release. + + -- John Goerzen Fri, 6 Feb 1998 19:50:40 -0600 + --- mpich-1.2.5.3.orig/debian/control +++ mpich-1.2.5.3/debian/control @@ -0,0 +1,104 @@ +Source: mpich +section: devel +Priority: extra +Maintainer: Adam C. Powell, IV +Standards-Version: 3.6.1.0 +Build-Depends: g77, rsh-client, libx11-dev, libxt-dev, file, debhelper (>> 2.0.0), dpatch +Build-Depends-Indep: bzip2 + +Package: mpich +Architecture: any +Depends: ${shlibs:Depends}, rsh-client, mpich-common (= ${Source-Version}), libmpich1.0 (= ${Source-Version}) +Recommends: rsh-server, wish +Suggests: mpi-doc, update-cluster +Conflicts: lam (<=6.1) +Description: MPI parallel computing system implementation + MPICH is a robust and flexible implementation of the MPI (Message + Passing Interface). MPI is often used with parallel or distributed + computing projects. MPICH is a multi-platform, configurable + system (development, execution, libraries, etc) for MPI. It can + achieve parallelism using networked machines or using multitasking on a + single machine. + . + This version is compiled with ch_p4 support, which is a + version of MPICH which only requires to be installed on the master + node, and starts up the parallel task using rsh. + +Package: mpich-mpd +Architecture: any +Depends: ${shlibs:Depends}, rsh-client, gdb, mpich-common (= ${Source-Version}), libmpich-p4mpd1.0 (= ${Source-Version}) +Recommends: rsh-server, wish +Suggests: mpi-doc, update-cluster +Replaces: libmpich-p4mpd1.0 (<= 1.2.4-8) +Conflicts: lam (<=6.1) +Description: MPI parallel computing system implementation, MPD version + MPICH is a robust and flexible implementation of the MPI (Message + Passing Interface). MPI is often used with parallel or distributed + computing projects. MPICH is a multi-platform, configurable + system (development, execution, libraries, etc) for MPI. It can + achieve parallelism using networked machines or using mulitasking on a + single machine. + . + This version is compiled with ch_p4mpd support, which requires + mpd daemons running on each of the cluster nodes. + This method is faster than ch_p4 + +Package: mpi-doc +Architecture: all +Section: doc +Priority: optional +Suggests: www-browser +Conflicts: mpich (<<1.1.2) +Description: Documentation for the MPICH implementation of MPI + This package provides manual pages in both man and HTML form + documenting the MPI (Message Passing Interface) parallel programming + standard as implemented by MPICH. + . + This documentation documents the MPI as implemented in MPICH. + For the MPI specification, see mpi-specs. + +Package: mpe-source +Architecture: all +Section: devel +Priority: extra +Description: Source for MPE, for other package to build-depend + This package includes the source to MPE, so that + other package can build MPE Build-depending in this package. + . + MPE is a set of tools to profile MPI (Message Passing Interface) programs, + and other tools, useful in debugging MPI applications. + +Package: mpich-common +Architecture: all +Section: devel +Priority: extra +Replaces: mpich (<< 1.2.4-4), mpich-mpd (<< 1.2.4-4) +Depends: mpich (= ${Source-Version}) | mpich-mpd (= ${Source-Version}) +Description: Manpages and other common files for mpich + This package includes the files shared between + different flavors of mpich package. + +Package: libmpich1.0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Recommends: mpich (= ${Source-Version}) +Description: mpich runtime shared library + This package includes the shared library files used for + mpich runtime. + . + You should normally require this package to be installed on + nodes for running mpich binaries that are dynamically linked. + +Package: libmpich-p4mpd1.0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Recommends: mpich (= ${Source-Version}) +Description: mpich-mpd runtime shared library + This package includes the shared library files used for + mpich-mpd runtime. + . + You should normally require this package to be installed on + nodes for running mpich binaries that are dynamically linked. + --- mpich-1.2.5.3.orig/debian/README.debian +++ mpich-1.2.5.3/debian/README.debian @@ -0,0 +1,174 @@ +mpich for DEBIAN +---------------------- + +MPICH is an implementation of MPI, a protocol of message passing that +is used widely for clustering machines +together. Clustering is a way of connecting several computers +via a network and making them work as one. + +The mpich homepage is at http://www.mcs.anl.gov/mpi/mpich/ . + +You need to install MPICH on the "server" machine only. Please note +that you need to have gcc, g++, or g77 installed if you want to +actually do anything with mpicc, mpiCC, mpif77. + + +CONFIGURATION +------------- + +MPICH requires rsh to execute programs, even when working on a single +node. If it is not already enabled, you should enable passwordless rsh +from the local host by adding a line to the file ~/.rhosts saying + +localhost username + +where username is your login name. Passwordless rsh may have already +been enabled by your system administrator. Make sure that the +rsh-server package is installed on all machines being used. + +MPICH is capable of executing programs in parallel on a cluster of +workstations. In this case, you will want to: + + * Mount a common directory containing your executables via NFS on all + machines that are to run them. Try to ensure that the path to this + directory is the same on all machines. + + * Modify your .rhosts to allow access from all machines in your cluster. + Make this modification to all machines in your cluster if necessary. + + * Edit /etc/mpich/machines.LINUX to list the hostname for + each machine that will be participating in your MPICH cluster. + If some machines have multiple CPUs or are more powerful you may + wish to add more entries for them - no attempt is made at load + balancing. If you are using multiple machines you cannot use + localhost as a hostname in /etc/mpich/machines.LINUX, you must use + the hostname of the machine. + + It should look something like: +dave +michael +xiaoling +donald + + + You may install update-cluster package in Debian GNU/Linux + systems. It will do the configuration of machine list automatically. + +Also note it is possible to use ssh instead, but the advantage of using +it is not obvious. I would recommend against it, but if and only if +the only remote shell program installed is ssh, then it might be +feasible. However thinking that you have to install ssh on every +node of the Beowulf cluster, this is too much of an overhead and +overload. Using ssh does not make mpich run much more secure than +using rsh. + + + +USING MPICH +----------- + +In a nutshell... + +To compile MPI programs, use mpicc instead of gcc. mpicc is a wrapper +around gcc that sets options appropriate for MPI programs. mpicc will +accept all standard gcc options. + +To run them, use: + +mpirun -np 5 program + +The number after np is the "number of processes" or "number of processors" +value. You can replace it with whatever number you like. If you have +specified multiple machines in /etc/mpich/machines.LINUX, MPICH will use +as many of them as possible to run your program in parallel. Otherwise, it +will fork off a number of processes on your local machine and use Linux's +native task switching to simulate true parallelism. If you have SMP-Linux, +the processes will be excuted on separate processors although they will +still use the network to communicate. A future version of the package +will add support for shared memory communication on SMP systems. + +SECURITY +-------- + +The Debian MPICH relies on rsh for communcation between computers, +requiring that it be possible to log in from one system to another +without supplying passwords. This means that if the security of one +account used in a cluster is compromised, all are and can make it easier +to exploit security problems in the rsh client and server. Please pay +due attention to the security of your machines when using this package. + +DOCUMENTATION +------------- + +As well as the documentation in /usr/share/doc/mpich and the manual pages +there is a package mpi-doc containing a set of manual pages for the API. + +The MPICH website has lots of good documentation, as does the author's +general MPI website at http://www.mcs.anl.gov/mpi/ + +There is a book out there called "Parallel Programming with MPI" by Peter S. +Pacheco. It is published by Morgan Kaufmann Publishers, ISBN 1-55860-339-5. +It seems to be a good introduction to MPI and covers parallel computing as +well. You can find details on this book at http://www.usfca.edu/mpi/. + +The MPICH authors have also written a book, "Using MPI : Portable Parallel +Programming With the Message-Passing Interface (Scientific and Engineering +Computation)" by William Gropp, Ewing Lusk and Anthony Skjellum. + +SHARED LIBS +----------- + +shared libraries for MPICH are installed in /usr/lib/mpich*/lib/shared. +You can NFS export that directory, and mount on child nodes. + +mpicc requires that command-line option "-shlib" is given to force +shared library linking to happen. + +e.g. + +$ mpicc -o a.out a.c -shlib + +It will create a binary with RPATH set. To remove the RPATH requirement, +symlinks to the shared libraries are created in /usr/lib + +MISCELLANEOUS +------------- + +It is also impossible to use different processor architectures within a +cluster, as MPICH does not distinguish between different kinds of Linux. +This is a portability problem with the networking layer of MIPCH, which +the authors intend to fix by rewriting them. + +It's also worth noting that the package is not properly FHS compilaint - +in particular, the man pages end up in /man + +There are some programs which seem not to work satisfactorily because +files were rearranged in an FHS manner. Namely mpiman and +others. mpiman works fine, except for the fact that it needs mpich and +mpi-doc packages installed for it to be working fully. + + + +DEBIAN SPECIFIC CHANGES +----------------------- + +Log file location is patched to use /var/lib/secure_server.log +for the secure server + +MPE library is made into shared library, as libmpe.so.1.0, and +libmpe-p4mpd.so.1.0. +mpicc is not hacked enough, yet. + +libslog is made into shared library, as libslog.so.1.0 + +MPICH/MPE/MPID install scripts are hacked up to allow DESTDIR +when installation. + + +These changes are sent back up to the upstream. + + + original text by Mark Brown , updated by Junichi Uekawa. + + -- Junichi Uekawa , Wed Dec 18 17:30:22 2002 + --- mpich-1.2.5.3.orig/debian/TODO +++ mpich-1.2.5.3/debian/TODO @@ -0,0 +1,24 @@ +Things to do or some of the wishlists: + + -- short-term TODO + + * Make mpich-mpd work with mpe-mpd, wrt mpicc. mpicc for mpd is + broken. + * keep on updating the TODO file. + + -- long-term TODO + + * make mpiman work -- isn't the Debian man program broken ? + * fix the bug about links being external + * lintian warning about script not being executable. I don't think they need to be fixed. + * make mpe into a different package so that LAM can use it. + * The debugger for mpich doesn't seem to be working at all.. + * relinking Clog2alog etc with alternatives. Having different priority for + things in mpd and mpich versions ?. + * build nupshot... It is in mpe/profiling/nupshot, and needs to be built with + ./configure; make there... : And it is so outdated and everything, I cannot + possibly build it. Life is tough. + * Jumpshot ? How do I build this beast, is beyond me. + + -- Junichi Uekawa Thu Oct 24 13:55:42 2002 + --- mpich-1.2.5.3.orig/debian/clog2alog.1 +++ mpich-1.2.5.3/debian/clog2alog.1 @@ -0,0 +1,16 @@ +.TH clog2alog 1 "27 Feb 2001" "Debian GNU/Linux" "MPE/MPICH" +.SH NAME +clog2alog \- converts clog format logs to alog +.SH SYNOPSIS +.B clog2alog [ +.I execfilename +.B ] + +.SH DESCRIPTION +.B clog2alog +generates alog file from clog file. alog files can be processed by upshot. +.SH AUTHOR +This manpage has been written by Junichi Uekawa for Debian GNU/Linux +.SH "SEE ALSO" +clog2slog(1), "MPICH user's guide". + --- mpich-1.2.5.3.orig/debian/clog2slog.1 +++ mpich-1.2.5.3/debian/clog2slog.1 @@ -0,0 +1,14 @@ +.TH clog2slog 1 "27 Feb 2001" "Debian GNU/Linux" "MPE/MPICH" +.SH NAME +clog2slog \- converts clog format logs to slog +.SH SYNOPSIS +.B clog2slog [-d=FrameNum] [-f=FrameSize] [-h] file.clog +.SH DESCRIPTION +.B clog2slog +generates slog file from clog file. +.SH AUTHOR +This manpage has been written by Junichi Uekawa for Debian GNU/Linux. +.SH "SEE ALSO" +clog2alog(1), "MPICH user's guide." + + --- mpich-1.2.5.3.orig/debian/clog_print.1 +++ mpich-1.2.5.3/debian/clog_print.1 @@ -0,0 +1,16 @@ +.TH clog_print 1 "27 Feb 2001" "Debian GNU/Linux" "MPE/MPICH" +.SH NAME +clog_print \- prints out the contents of a clog file +.SH SYNOPSIS +.B clog_print [ +.I clogfilename +.B ] + +.SH DESCRIPTION +.B clog_print +dumps the contents of a clog file out to stdout. +.SH AUTHOR +This manpage has been written by Junichi Uekawa for Debian GNU/Linux +.SH "SEE ALSO" +clog2slog(1), clog2alog(1), mpicc(1), mpiCC(1), mpif77(1), mpirun(1), "MPICH user's guide". + --- mpich-1.2.5.3.orig/debian/copyright +++ mpich-1.2.5.3/debian/copyright @@ -0,0 +1,204 @@ +This package was intially debianized by John Goerzen jgoerzen@complete.org on +Fri, 6 Feb 1998 19:50:40 -0600. It has since been repackaged by Mark Brown +. +Then it was taken up by Junichi Uekawa dancer@netfort.gr.jp on +Tue, 13 Jun 2000 16:21:06 +0900. + +It was downloaded from http://www.mcs.anl.gov/mpi/mpich/ + ftp://ftp.mcs.anl.gov/pub/mpi + +The upstream contact address is mpi-bugs@mcs.anl.gov. + + +Copyright: + +The main MPICH package is distributed via a following license: +--------------------------------------------------------------- + + COPYRIGHT + +The following is a notice of limited availability of the code, and disclaimer +which must be included in the prologue of the code and in all source listings +of the code. + +Copyright Notice + + 1993 University of Chicago + + 1993 Mississippi State University + +Permission is hereby granted to use, reproduce, prepare derivative works, and +to redistribute to others. This software was authored by: + +Argonne National Laboratory Group +W. Gropp: (630) 252-4318; FAX: (708) 252-7852; e-mail: gropp@mcs.anl.gov +E. Lusk: (630) 252-7852; FAX: (708) 252-7852; e-mail: lusk@mcs.anl.gov +Mathematics and Computer Science Division +Argonne National Laboratory, Argonne IL 60439 + +Mississippi State Group +N. Doss: (601) 325-2565; FAX: (601) 325-7692; e-mail: doss@erc.msstate.edu +A. Skjellum:(601) 325-8435; FAX: (601) 325-8997; e-mail: tony@erc.msstate.edu +Mississippi State University, Computer Science Department & + NSF Engineering Research Center for Computational Field Simulation +P.O. Box 6176, Mississippi State MS 39762 + + GOVERNMENT LICENSE + +Portions of this material resulted from work developed under a U.S. +Government Contract and are subject to the following license: the Government +is granted for itself and others acting on its behalf a paid-up, nonexclusive, +irrevocable worldwide license in this computer software to reproduce, prepare +derivative works, and perform publicly and display publicly. + + DISCLAIMER + +This computer code material was prepared, in part, as an account of work +sponsored by an agency of the United States Government. Neither the United +States, nor the University of Chicago, nor Mississippi State University, nor +any of their employees, makes any warranty express or implied, or assumes any +legal liability or responsibility for the accuracy, completeness, or +usefulness of any information, apparatus, product, or process disclosed, or +represents that its use would not infringe privately owned rights. +--------------------------------------------------------------- + +MPI-2-C++ come with the following license +--------------------------------------------------------------- +COPYRIGHT NOTICE: + +Copyright 1997, University of Notre Dame. +Authors: Andrew Lumsdaine, Michael P. McNally, Jeremy G. Siek, + Jeffery M. Squyres. + +LICENSE AGREEMENT: + +In consideration of being allowed to copy and/or use this software, +user agrees to be bound by the terms and conditions of this License +Agreement as "Licensee." This Agreement gives you, the LICENSEE, +certain rights and obligations. By using the software, you indicate +that you have read, understood, and will comply with the following +terms and conditions. + +Permission is hereby granted to use or copy this program for any +purpose, provided the text of this NOTICE (to include COPYRIGHT +NOTICE, LICENSE AGREEMENT, and DISCLAIMER) is retained with all +copies. Permission to modify the code and to distribute modified code +is granted, provided the text of this NOTICE is retained, a notice +that the code was modified is included with the above COPYRIGHT NOTICE +and with the COPYRIGHT NOTICE in any modified files, and that this +file ("LICENSE") is distributed with the modified code. + +Title to copyright to this software and its derivatives and to any +associated documentation shall at all times remain with Licensor and +LICENSEE agrees to preserve the same. Nothing in this Agreement shall +be construed as conferring rights to use in advertising, publicity or +otherwise any trademark or the name of the University of Notre Dame du +Lac. + +DISCLAIMER: + +LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. +By way of example, but not limitation, Licensor MAKES NO +REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY +PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE COMPONENTS +OR DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS +OR OTHER RIGHTS. + +The Authors and the University of Notre Dame du Lac shall not be held +liable for any liability nor for any direct, indirect or consequential +damages with respect to any claim by LICENSEE or any third party on +account of or arising from this Agreement or use of this software. + +Any disputes arising out of this Agreement or LICENSEE'S use of the +software at any time shall be resolved by the courts of the state of +Indiana. LICENSEE hereby consents to the jurisdiction of the Indiana +courts and waives the right to challenge the jurisdiction thereof in +any dispute arising out of this Agreement or Licensee's use of the +software. +--------------------------------------------------------------- + +Jumpshot comes with the following license +--------------------------------------------------------------- + COPYRIGHT + + The following is a notice of limited availability of the code, and disclaimer + which must be included in the prologue of the code and in all source listings + of the code. + + Copyright Notice + + 1998 The University of Chicago + + Permission is hereby granted to use, reproduce, prepare derivative works, and + to redistribute to others. This software was authored by: + + O. Zaki: (630) 252-7852; FAX: (630) 252-5986; e-mail: zaki@mcs.anl.gov + E. Lusk: (630) 252-7852; FAX: (630) 252-5986; e-mail: lusk@mcs.anl.gov + W. Gropp: (630) 252-4318; FAX: (630) 252-5986; e-mail: gropp@mcs.anl.gov + D. Swider: (630) 252-5941; FAX: (630) 252-5986; e-mail: swider@mcs.anl.gov + Mathematics and Computer Science Division + Argonne National Laboratory, Argonne IL 60439 + + + GOVERNMENT LICENSE + + Portions of this material resulted from work developed under a U.S. + Government Contract and are subject to the following license: the Government + is granted for itself and others acting on its behalf a paid-up, nonexclusive, + irrevocable worldwide license in this computer software to reproduce, prepare + derivative works, and perform publicly and display publicly. + + DISCLAIMER + + This computer code material was prepared, in part, as an account of work + sponsored by an agency of the United States Government. Neither the United + States, nor the University of Chicago, nor Mississippi State University, nor + any of their employees, makes any warranty express or implied, or assumes any + legal liability or responsibility for the accuracy, completeness, or + usefulness of any information, apparatus, product, or process disclosed, or + represents that its use would not infringe privately owned rights. +--------------------------------------------------------------- + +romio comes with the following license. +--------------------------------------------------------------- + COPYRIGHT + +The following is a notice of limited availability of the code and +disclaimer, which must be included in the prologue of the code and in +all source listings of the code. + +Copyright (C) 1997 University of Chicago + +Permission is hereby granted to use, reproduce, prepare derivative +works, and to redistribute to others. + +The University of Chicago makes no representations as to the suitability, +operability, accuracy, or correctness of this software for any purpose. +It is provided "as is" without express or implied warranty. + +This software was authored by: +Rajeev Thakur: (630) 252-1682; thakur@mcs.anl.gov +Mathematics and Computer Science Division +Argonne National Laboratory, Argonne IL 60439, USA + + + GOVERNMENT LICENSE + +Portions of this material resulted from work developed under a U.S. +Government Contract and are subject to the following license: the +Government is granted for itself and others acting on its behalf a +paid-up, nonexclusive, irrevocable worldwide license in this computer +software to reproduce, prepare derivative works, and perform publicly +and display publicly. + + DISCLAIMER + +This computer code material was prepared, in part, as an account of +work sponsored by an agency of the United States Government. Neither +the United States Government, nor the University of Chicago, nor any +of their employees, makes any warranty express or implied, or assumes +any legal liability or responsibility for the accuracy, completeness, +or usefulness of any information, apparatus, product, or process +disclosed, or represents that its use would not infringe privately +owned rights. +--------------------------------------------------------------- + +All modifications made for Debian may be used, modifed and distributed +freely. --- mpich-1.2.5.3.orig/debian/docs +++ mpich-1.2.5.3/debian/docs @@ -0,0 +1 @@ +README --- mpich-1.2.5.3.orig/debian/fixup.sh +++ mpich-1.2.5.3/debian/fixup.sh @@ -0,0 +1,42 @@ +#! /bin/bash +#fixup routine (Makefile got too crowded.) +# 15 jul 2000 Junichi Uekawa -- taken from original MPICH fixup.sh +# 27 jan 2001 Junichi Uekawa -- modified a bit. +# 13 Oct 2001 Junichi Uekawa -- modified for 1.2.2.2 build system + +echo Doing extra installation +# +# MPICH does seem to have "mpich/" and "mpich/debian/tmp" prefices +# and it needs to be hacked. +# -- this is because MPICH needs mpicc et al for installation +# and before installation is finished we cannot put it in +# /usr/share/lib... etc. +# +# only wreck script files or binary files being overwritten +# will cause major problems. +dir=`pwd` + +#just to make sure "file" will output an understandable output +LANG=C +LC_ALL=C + + +for processes in mpich mpich-mpd ; do +( + cd debian/${processes}; + for d in usr/lib/${processes}/{bin,sbin,share/upshot/bin,etc} usr/share/doc/${processes}/examples{,/pi{,/MPI-2-C++}}; do + ( + cd ${d} + echo Doing ${d} + for x in $(grep -l ${dir} * 2>/dev/null); do + if (file ${x} | grep script ) || \ + (file ${x} | grep text ); then + echo Fixing ${x} + sed -e 's|/image_mpich/../debian/mpich||g' -e 's|/image_mpich-mpd/../debian/mpich-mpd||g' -e 's|'$(echo ${dir})'||g' -e 's|'${HOME}'|${HOME}|g' ${x} > ${x}.new + cp ${x}.new ${x} + rm ${x}.new ; + fi + done ) + done +) done + --- mpich-1.2.5.3.orig/debian/machines.LINUX +++ mpich-1.2.5.3/debian/machines.LINUX @@ -0,0 +1 @@ +localhost --- mpich-1.2.5.3.orig/debian/mpereconfig.1 +++ mpich-1.2.5.3/debian/mpereconfig.1 @@ -0,0 +1,31 @@ +.TH mpereconfig 1 "2001 Feb 27" "Debian GNU/Linux" "MPE/MPICH" +.SH NAME +mpereconfig \- Reconstructs mpe files from template database files +.SH DESCRIPTION +The +.I mpereconfig +command takes a template file and creates a +file that may be given to the +.I make +command by replacing variable +with values appropriate for a particular MPICH configuration. + +.SH SYNTAX + +mpereconfig filename + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B filename +- Name of file to be generated. The file +.I filename.in +must exist. +.PD 1 + +.SH AUTHORS +This manpage was hacked out from mpireconfig manpage by Junichi Uekawa for the Debian GNU/Linux system. + +.SH SEE ALSO +mpicc, mpif77, mpif90, mpiCC + --- mpich-1.2.5.3.orig/debian/mpi-doc.dirs +++ mpich-1.2.5.3/debian/mpi-doc.dirs @@ -0,0 +1,3 @@ +usr/share/doc/mpi-doc +usr/share/doc/mpi-doc/www +usr/share/man/man3 --- mpich-1.2.5.3.orig/debian/mpi-doc.doc-base +++ mpich-1.2.5.3/debian/mpi-doc.doc-base @@ -0,0 +1,14 @@ +Document: mpi-doc +Title: MPI Model implementation "MPICH" reference manual +Author: William Gropp, Nathan Doss, Anthony Skjellum +Abstract: Reference manual on the programming interface of MPICH + (the Message Passing Interface for cluster computer programming) + with all the available functions documented. +Section: Apps/Programming + +Format: postscript +Files: /usr/share/doc/mpi-doc/mpiman.ps.gz + +Format: HTML +Index: /usr/share/doc/mpi-doc/www/index.html +Files: /usr/share/doc/mpi-doc/www/www?/*.html --- mpich-1.2.5.3.orig/debian/mpich.dirs.in +++ mpich-1.2.5.3/debian/mpich.dirs.in @@ -0,0 +1,5 @@ +etc/#MPICH# +usr/bin +usr/sbin +usr/share/doc/#MPICH# +usr/share/lib/#MPICH# --- mpich-1.2.5.3.orig/debian/mpich.preinst.in +++ mpich-1.2.5.3/debian/mpich.preinst.in @@ -0,0 +1,27 @@ +#!/bin/sh + +case "$1" in + upgrade) + + # If /usr/lib/mpich/man/* are symlinks, delete them so that dpkg will + # create the directories correctly. Do this on any upgrade since we + # may have done a borken upgrade in the past. + for x in /usr/lib/#MPICH#/man/* ; do + if [ -L $x ] ; then + rm $x + fi + done + ;; + + install) + ;; + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \'$1\'" >&2 + exit 0 + ;; +esac + +#DEBHELPER# --- mpich-1.2.5.3.orig/debian/mpich.prerm.in +++ mpich-1.2.5.3/debian/mpich.prerm.in @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ $1 != "upgrade" ] ; then + update-alternatives --remove mpi /usr/lib/#MPICH#/include + update-alternatives --remove mpirun /usr/bin/mpirun.#MPICH# +fi; + +#DEBHELPER# + --- mpich-1.2.5.3.orig/debian/mpich.updatelist.in +++ mpich-1.2.5.3/debian/mpich.updatelist.in @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +cat $CLUSTERXML | \ +update-cluster-remove --master | \ +update-cluster-parseconfig hostname > /etc/#MPICHDIR#/machines.LINUX || \ +exit 1 + --- mpich-1.2.5.3.orig/debian/slog_print.1 +++ mpich-1.2.5.3/debian/slog_print.1 @@ -0,0 +1,16 @@ +.TH slog_print 1 "27 Feb 2001" "Debian GNU/Linux" "MPE/MPICH" +.SH NAME +slog_print \- prints out the contents of a slog file +.SH SYNOPSIS +.B slog_print [ +.I slogfilename +.B ] + +.SH DESCRIPTION +.B clog_print +dumps the contents of a slog file out to stdout. +.SH AUTHOR +This manpage has been written by Junichi Uekawa for Debian GNU/Linux +.SH "SEE ALSO" +clog2slog(1), clog2alog(1), clog_print(1), mpicc(1), mpiCC(1), mpif77(1), mpirun(1), "MPICH user's guide". + --- mpich-1.2.5.3.orig/debian/upshot.1 +++ mpich-1.2.5.3/debian/upshot.1 @@ -0,0 +1,15 @@ +.TH upshot 1 "2001 Feb 27" "Debian GNU/Linux" "MPE/MPICH" +.SH NAME +upshot \- Graphical visualization tool for parallel programs +.SH SYNOPSIS +.B upshot [ +.I logfilename +.B ] +.SH DESCRIPTION +upshot displays graphically the state of parallel programs, using data +emit from MPE library. Log files can be generated from MPICH programs using the mpilog option. + +.SH AUTHORS +This manpage was written by Junichi Uekawa for the Debian GNU/Linux system +.SH "SEE ALSO" +mpicc(1), mpiCC(1), mpif77(1), mpirun(1), "The MPICH User's manual". --- mpich-1.2.5.3.orig/debian/mpich.postinst.in +++ mpich-1.2.5.3/debian/mpich.postinst.in @@ -0,0 +1,39 @@ +#!/bin/sh + + +set -e + +case "$1" in + configure) + # Continue below + ;; + abort-upgrade|abort-remove|abort-deconfigure) + exit 0; + ;; + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0; + ;; +esac + +update-alternatives \ + --install /usr/include/mpi mpi /usr/lib/#MPICH#/include 10 \ + --slave /usr/lib/libmpi.a libmpi.a /usr/lib/#MPICH#/lib/libmpich.a \ + --slave /usr/lib/libmpi.so libmpi.so /usr/lib/#MPICH#/lib/shared/libmpich.so \ + --slave /usr/lib/libmpi++.a libmpi++.a /usr/lib/#MPICH#/lib/libpmpich++.a \ + --slave /usr/lib/libmpi++.so libmpi++.so /usr/lib/#MPICH#/lib/shared/libpmpich.so \ + --slave /usr/bin/mpicc mpicc /usr/bin/mpicc.#MPICH# \ + --slave /usr/bin/mpiCC mpiCC /usr/bin/mpiCC.#MPICH# \ + --slave /usr/bin/mpif77 mpif77 /usr/bin/mpif77.#MPICH# \ + --slave /usr/share/man/man1/mpicc.1.gz mpicc.1.gz /usr/share/man/man1/mpicc.mpich-common.1.gz \ + --slave /usr/share/man/man1/mpif77.1.gz mpif77.1.gz /usr/share/man/man1/mpif77.mpich-common.1.gz \ + --slave /usr/share/man/man1/mpiCC.1.gz mpiCC.1.gz /usr/share/man/man1/mpiCC.mpich-common.1.gz + +update-alternatives \ + --install /usr/bin/mpirun mpirun /usr/bin/mpirun.#MPICH# 10 \ + --slave /usr/share/man/man1/mpirun.1.gz mpirun.1.gz /usr/share/man/man1/mpirun.mpich-common.1.gz + + +#DEBHELPER# + +# read --- mpich-1.2.5.3.orig/debian/mpich.conffiles.in +++ mpich-1.2.5.3/debian/mpich.conffiles.in @@ -0,0 +1 @@ +/etc/#MPICH#/machines.LINUX --- mpich-1.2.5.3.orig/debian/mpich-common.doc-base +++ mpich-1.2.5.3/debian/mpich-common.doc-base @@ -0,0 +1,11 @@ +Document: mpich-common +Title: User's guide for mpich, a portable implementation of MPI +Author: William Gropp, Ewing Lusk +Abstract: Manual about using MPICH to compile and run applications on + machines. +Section: Apps/Programming + +Format: postscript +Files: /usr/share/doc/mpich-common/mpichman-chp4.ps.gz + + --- mpich-1.2.5.3.orig/debian/mpich-common.dirs +++ mpich-1.2.5.3/debian/mpich-common.dirs @@ -0,0 +1 @@ +usr/share/doc/mpich-common --- mpich-1.2.5.3.orig/debian/patches/00list +++ mpich-1.2.5.3/debian/patches/00list @@ -0,0 +1,10 @@ +02_mpeshlibs +03_move_logfile +04_hackg2c +05_tvshlib +06_mpichboot_homedir +07_makesharedlib-errorcheck +08_mpih_include_mpidefs +09_remove_p4_from_clean_execer_port +10_pass_cflags_to_mpid_mpd +11_romio_index \ No newline at end of file --- mpich-1.2.5.3.orig/debian/patches/11_romio_index.dpatch +++ mpich-1.2.5.3/debian/patches/11_romio_index.dpatch @@ -0,0 +1,58 @@ +#! /bin/sh -e +## 11_mpio_index.dpatch by Adam Powell +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Just here to avoid tons of warnings when building with gcc 3.3+. + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + + + +--- mpich-1.2.5.3.orig/romio/include/mpio.h.in ++++ mpich-1.2.5.3/romio/include/mpio.h.in +@@ -255,12 +255,14 @@ + /* The foll. functions are required, because an MPIO_Request object + is currently used for nonblocking I/O. These functions will go away + after generalized requests are implemented. */ ++/* Third argument to Testany and Waitany is index, removed to avoid warnings ++ for the Debian package by Adam Powell 11/3/2004. */ + int MPIO_Test(MPIO_Request *request, int *flag, MPI_Status *status); + int MPIO_Wait(MPIO_Request *request, MPI_Status *status); + int MPIO_Testall(int count, MPIO_Request *request, int *flag, MPI_Status *status); + int MPIO_Waitall(int count, MPIO_Request *request, MPI_Status *status); +-int MPIO_Testany(int count, MPIO_Request *request, int *index, int *flag, MPI_Status *status); +-int MPIO_Waitany(int count, MPIO_Request *request, int *index, MPI_Status *status); ++int MPIO_Testany(int count, MPIO_Request *request, int *, int *flag, MPI_Status *status); ++int MPIO_Waitany(int count, MPIO_Request *request, int *, MPI_Status *status); + int MPIO_Waitsome(int, MPIO_Request *, int *, int *, MPI_Status *); + int MPIO_Testsome(int, MPIO_Request *, int *, int *, MPI_Status *); + +@@ -439,12 +441,14 @@ + /* The foll. functions are required, because an MPIO_Request object + is currently used for nonblocking I/O. These functions will go away + after generalized requests are implemented. */ ++/* Third argument to Testany and Waitany is index, removed to avoid warnings ++ for the Debian package by Adam Powell 11/3/2004. */ + int PMPIO_Test(MPIO_Request *request, int *flag, MPI_Status *status); + int PMPIO_Wait(MPIO_Request *request, MPI_Status *status); + int PMPIO_Testall(int count, MPIO_Request *request, int *flag, MPI_Status *status); + int PMPIO_Waitall(int count, MPIO_Request *request, MPI_Status *status); +-int PMPIO_Testany(int count, MPIO_Request *request, int *index, int *flag, MPI_Status *status); +-int PMPIO_Waitany(int count, MPIO_Request *request, int *index, MPI_Status *status); ++int PMPIO_Testany(int count, MPIO_Request *request, int *, int *flag, MPI_Status *status); ++int PMPIO_Waitany(int count, MPIO_Request *request, int *, MPI_Status *status); + int PMPIO_Waitsome(int, MPIO_Request *, int *, int *, MPI_Status *); + int PMPIO_Testsome(int, MPIO_Request *, int *, int *, MPI_Status *); + MPI_Fint PMPIO_Request_c2f(MPIO_Request request); --- mpich-1.2.5.3.orig/debian/patches/05_tvshlib.dpatch +++ mpich-1.2.5.3/debian/patches/05_tvshlib.dpatch @@ -0,0 +1,64 @@ +#! /bin/sh -e +## 05_tvshlib.dpatch by Adam Powell +## (original made by some of the former maintainers) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Build libtvmpich shlib from objects made using -fPIC. + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- mpich-1.2.5.3.orig/src/infoexport/Makefile.in 2002-09-03 17:07:27.000000000 -0400 ++++ mpich-1.2.5.3/src/infoexport/Makefile.in 2003-06-20 16:48:11.000000000 -0400 +@@ -1,5 +1,6 @@ + # Make file for the MPI DLL + CC = @CC@ ++CLINKER = @CLINKER@ + prefix = @prefix@ + top_srcdir = @top_srcdir@ + srcdir = @srcdir@ +@@ -14,7 +15,7 @@ + SHELL = /bin/sh + + .SUFFIXES: +-.SUFFIXES: .o .c .f ++.SUFFIXES: .o .lo .c .f + + + # Target library +@@ -25,6 +26,8 @@ + # + .c.o: + -${CC} ${DEFS} ${CFLAGS} ${INCLUDES} -c $< ++.c.lo: ++ ${CC} ${DEFS} ${CFLAGS} ${INCLUDES} -fPIC -c $< -o $@ + + # Compilers and flags + +@@ -68,12 +71,11 @@ + # Let makesharedlib choose the suffix so that shared library handling + # is the same for all shared libraries + #${LIB}: ${OBJS} +-libtvmpich.so.1.0: dll_mpich.o ++libtvmpich.so.1.0: dll_mpich.lo + -if test "@SHAREDKIND_FOR_TV@" != "ignore" ; then \ + ${REMOVER} ${LIB}; \ +- ( CC="${CC}" ; export CC ; CLINKER="@CLINKER@" ; export CLINKER ; \ +- ${top_srcdir}/util/makesharedlib -lib=libtvmpich.a -obj="${OBJS}" \ +- -kind=@SHAREDKIND_FOR_TV@ -local ; ) ; fi ++ $(CLINKER) -shared -Wl,-soname,$@ -o $@ $< ; \ ++ fi + + compile: ${OBJS} + --- mpich-1.2.5.3.orig/debian/patches/04_hackg2c.dpatch +++ mpich-1.2.5.3/debian/patches/04_hackg2c.dpatch @@ -0,0 +1,33 @@ +#! /bin/sh -e +## 04_hackg2c.dpatch by Junichi Uekawa +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Hack to link libg2c to libpmpich +## DP: not sent upstream yet. + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +diff -urNad 04.tmp/util/makesharedlib 04/util/makesharedlib +--- 04.tmp/util/makesharedlib 2002-12-21 03:26:04.000000000 +0900 ++++ 04/util/makesharedlib 2003-01-13 19:05:33.000000000 +0900 +@@ -149,7 +149,7 @@ + # Include any other libraries needed to link with in case they are + # needed to resolve any symbols. This is needed for Scyld and should + # be harmless in general. +- OtherLibs="$BASE_LIB_LIST" ++ OtherLibs="$BASE_LIB_LIST -lg2c " + for libname in $SHLIBS ; do + $Verbose "Making a shared library of $libname" + rm -rf .tmp --- mpich-1.2.5.3.orig/debian/patches/02_mpeshlibs.dpatch +++ mpich-1.2.5.3/debian/patches/02_mpeshlibs.dpatch @@ -0,0 +1,330 @@ +#! /bin/sh -e +## 02_makeshlibs.dpatch by Junichi Uekawa +## (original made by some of the former maintainers) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Adds shlibs support for MPE and slog. +## DP: upstream refused to apply. +## DP: Modified by Adam Powell to add --with-sloglibname to configure options +## DP: for 1.2.5-4 built May 19, 2003; moved that material from the .diff.gz +## DP: to this patch (and 01_destdir) October 7, 2003 for 1.2.5.2-1. +## DP: Big changes in forward-port to 1.2.5.3 October 26, 2004 (Adam Powell). + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + + + +--- mpich-1.2.5.3.orig/mpe/configure.in ++++ mpich-1.2.5.3/mpe/configure.in +@@ -131,6 +131,11 @@ + AC_ARG_WITH( mpelibname, [--with-mpelibname=MPE_LIBNAME - Set the MPE library name instead of the default 'mpe'. e.g. if MPE_LIBNAME='mpe_new', then the libraries generated will be libmpe_new.a, liblmpe_new.a, libtmpe_new.a and libampe_new.a.], MPE_LIBNAME="$withval" ) + + # ++# Set the SLOG Libraries name ++# ++AC_ARG_WITH( sloglibname, [--with-sloglibname=SLOG_LIBNAME - Set the SLOG library name instead of the default 'slog'. e.g. if SLOG_LIBNAME='slog_new', then the libraries generated will be libslog_new.a, liblslog_new.a, libtslog_new.a and libaslog_new.a.], SLOG_LIBNAME="$withval" ) ++ ++# + # Set the Fortran Library Leading Character + # + AC_ARG_WITH( flib_path_leader, [--with-flib_path_leader=FLIB_PATH_LEADER - This option shows how to specify a Fortran library path .], FLIB_PATH_LEADER="$withval" ) +@@ -286,10 +291,15 @@ + if test ! -d slog_api ; then mkdir slog_api ; fi + echo + ++ if test -z "$SLOG_LIBNAME" ; then ++ SLOG_LIBNAME=slog ++ fi ++ + echo "Configuring SLOG-API, for support of scalable logfile format SLOG-1" ; \ + ( cd slog_api ; \ + $SLOG_HOME/configure --with-cc="$CC" \ + --with-cflags="$MPE_CFLAGS" \ ++ --with-sloglibname="$SLOG_LIBNAME" \ + -prefix=$prefix $enable_args ) + + # Check if there is any error in SLOG-API's configure +@@ -989,6 +999,7 @@ + AC_SUBST(DEBUG_LIBS) + + AC_SUBST(PROF_LIBNAME) ++AC_SUBST(SLOG_LIBNAME) + AC_SUBST(LOG_LIBNAME) + AC_SUBST(TRACE_LIBNAME) + AC_SUBST(ANIM_LIBNAME) +--- mpich-1.2.5.3.orig/mpe/configure ++++ mpich-1.2.5.3/mpe/configure +@@ -40,6 +40,8 @@ + ac_help="$ac_help + --with-mpelibname=MPE_LIBNAME - Set the MPE library name instead of the default 'mpe'. e.g. if MPE_LIBNAME='mpe_new', then the libraries generated will be libmpe_new.a, liblmpe_new.a, libtmpe_new.a and libampe_new.a." + ac_help="$ac_help ++--with-sloglibname=SLOG_LIBNAME - Set the SLOG library name instead of the default 'slog'. e.g. if SLOG_LIBNAME='slog_new', then the libraries generated will be libslog_new.a, liblslog_new.a, libtslog_new.a and libaslog_new.a." ++ac_help="$ac_help + --with-flib_path_leader=FLIB_PATH_LEADER - This option shows how to specify a Fortran library path ." + ac_help="$ac_help + --with-cflags=MPE_CFLAGS - supply extra MPE CFLAGS to the CC compiler" +@@ -929,6 +931,16 @@ + + + # ++# Set the SLOG Libraries name ++# ++# Check whether --with-sloglibname or --without-sloglibname was given. ++if test "${with_sloglibname+set}" = set; then ++ withval="$with_sloglibname" ++ SLOG_LIBNAME="$withval" ++fi ++ ++ ++# + # Set the Fortran Library Leading Character + # + # Check whether --with-flib_path_leader or --without-flib_path_leader was given. +@@ -1508,10 +1520,15 @@ + if test ! -d slog_api ; then mkdir slog_api ; fi + echo + ++ if test -z "$SLOG_LIBNAME" ; then ++ SLOG_LIBNAME=slog ++ fi ++ + echo "Configuring SLOG-API, for support of scalable logfile format SLOG-1" ; \ + ( cd slog_api ; \ + $SLOG_HOME/configure --with-cc="$CC" \ + --with-cflags="$MPE_CFLAGS" \ ++ --with-sloglibname="$SLOG_LIBNAME" \ + -prefix=$prefix $enable_args ) + + # Check if there is any error in SLOG-API's configure +@@ -5168,6 +5185,7 @@ + s%@MPI_LIBS@%$MPI_LIBS%g + s%@DEBUG_LIBS@%$DEBUG_LIBS%g + s%@PROF_LIBNAME@%$PROF_LIBNAME%g ++s%@SLOG_LIBNAME@%$SLOG_LIBNAME%g + s%@LOG_LIBNAME@%$LOG_LIBNAME%g + s%@TRACE_LIBNAME@%$TRACE_LIBNAME%g + s%@ANIM_LIBNAME@%$ANIM_LIBNAME%g +--- mpich-1.2.5.3.orig/mpe/slog_api/configure.in ++++ mpich-1.2.5.3/mpe/slog_api/configure.in +@@ -17,7 +17,15 @@ + COPTIONS="${COPTIONS} -Wall -O -Wstrict-prototypes -Wmissing-prototypes -DGCC_WALL") + # + MAKE=${MAKE:-"make"} +-SLOGNAME=slog ++# ++# Set the SLOG Libraries name ++# ++AC_ARG_WITH( sloglibname, [--with-sloglibname=SLOGNAME - Set the SLOG library name instead of the default 'slog'. e.g. if SLOGNAME='slog_new', then the libraries generated will be libslog_new.a, liblslog_new.a, libtslog_new.a and libaslog_new.a.], SLOGNAME="$withval" ) ++ ++if test -z "$SLOGNAME" ; then ++ SLOGNAME=slog ++fi ++ + CFLAGS="-DHAVE_SLOGCONF_H $CFLAGS" + # + AC_DEFINE( CHECKRECDEFS ) +--- mpich-1.2.5.3.orig/mpe/slog_api/configure ++++ mpich-1.2.5.3/mpe/slog_api/configure +@@ -14,6 +14,8 @@ + ac_help="$ac_help + --enable-strict - Turn on strict compilation testing when using gcc" + ac_help="$ac_help ++--with-sloglibname=SLOGNAME - Set the SLOG library name instead of the default 'slog'. e.g. if SLOGNAME='slog_new', then the libraries generated will be libslog_new.a, liblslog_new.a, libtslog_new.a and libaslog_new.a." ++ac_help="$ac_help + --with-cc=SLOG_CC - pass the preferred CC compiler, + e.g. --with-cc=xlc. This will overide + the environmental variable CC." +@@ -627,6 +629,20 @@ + + CC=${CC:-cc} + ++# ++# Set the SLOG Libraries name ++# ++# Check whether --with-sloglibname or --without-sloglibname was given. ++if test "${with_sloglibname+set}" = set; then ++ withval="$with_sloglibname" ++ SLOGNAME="$withval" ++fi ++ ++ ++if test -z "$SLOGNAME" ; then ++ SLOGNAME=slog ++fi ++ + # Check whether --with-cc or --without-cc was given. + if test "${with_cc+set}" = set; then + withval="$with_cc" +--- mpich-1.2.5.3.orig/mpe/src/Makefile.in ++++ mpich-1.2.5.3/mpe/src/Makefile.in +@@ -23,6 +23,7 @@ + -I../slog_api -I$(SLOG_HOME)/include \ + @X_INC@ $(MPI_INC) + PROF_LIBNAME = @PROF_LIBNAME@ ++SLOG_LIBNAME = @SLOG_LIBNAME@ + LOG_LIBNAME = @LOG_LIBNAME@ + TRACE_LIBNAME = @TRACE_LIBNAME@ + ANIM_LIBNAME = @ANIM_LIBNAME@ +@@ -93,8 +94,7 @@ + + # Allow compilers that do not allow -o for renaming object files + .c.lo: +- $(CC_SHL) $(CFLAGS) -c $< $(INC_DIR) +- @mv $*.@OBJEXT@ $*.lo ++ $(MPI_CC) $(CFLAGS) -fPIC -c $< -o $@ + + # default_all is the same as default, but without the RANLIB. This + # can speed up the build (ranlibs can take a LONG time). profile_all +@@ -110,9 +110,10 @@ + # with the NO_MPI switch), this can cause problems. + default: clean rmprog rmlib + $(MAKE) mpe_debug_objs +- $(MAKE) libslog.a ++ $(MAKE) lib$(SLOG_LIBNAME).a + sleep 1 + $(MAKE) ${libbuild_dir}/lib$(PROF_LIBNAME).a ++ $(MAKE) ${libbuild_dir}/shared/lib$(PROF_LIBNAME).so + $(MAKE) ${libbuild_dir}/lib$(TRACE_LIBNAME).a + $(MAKE) ${libbuild_dir}/lib$(LOG_LIBNAME).a + @if [ -n "$(MPE_GRAPHICS)" ] ; then \ +@@ -144,7 +145,7 @@ + # set this up to a dummy directory. + # Use && to ensure that the second test is only performed if the + # first is true. +-libslog.a: ++lib$(SLOG_LIBNAME).a: + @if [ "$(SLOG_HOME)" != "" ] && [ -d "$(SLOG_HOME)" ]; then \ + ( cd ../slog_api ; \ + $(MAKE) "SLOG_DESTLIB=${libbuild_dir}/lib$(PROF_LIBNAME).a" ) \ +@@ -171,11 +172,10 @@ + # Building a shared library requires different tools on different systems. + # The following will work *ONLY* for gcc. Eventually, this should invoke + # the approriate command to handle other shared libraries on other systems. +-${libbuild_dir}/lib$(PROF_LIBNAME).so: $(MPE_SHLOBJECTS) +- if [ "@SHAREDKIND@" = "gcc" ] ; then \ +- $(CLINKER) -shared -Wl,-soname,lib$(PROF_LIBNAME).so.1.0 -Wl,-rpath,$(libdir) -o $@.1.0 $(MPE_SHLOBJECTS) -L /usr/X11R6/lib -lX11 -L ../slog_api/lib -lslog -lm ; \ +- ln -sf lib$(PROF_LIBNAME).so.1.0 ${libbuild_dir}/lib$(PROF_LIBNAME).so ; \ +- fi ++${libbuild_dir}/shared/lib$(PROF_LIBNAME).so: $(MPE_SHLOBJECTS) ++ if [ ! -d ${libbuild_dir}/shared ]; then mkdir ${libbuild_dir}/shared; fi ++ $(CLINKER) -shared -Wl,-soname,lib$(PROF_LIBNAME).so.1.0 -o $@.1.0 $(MPE_SHLOBJECTS) -L /usr/X11R6/lib -lX11 -L ../slog_api/lib/shared -l$(SLOG_LIBNAME) -lm ++ ln -sf lib$(PROF_LIBNAME).so.1.0 ${libbuild_dir}/shared/lib$(PROF_LIBNAME).so + + ${libbuild_dir}/lib$(PROF_LIBNAME)_nompi.a: $(MPEGRAPHICS_SOURCE) + @if [ "$(MPEGRAPHICS_SOURCE)" != "" ] ; then \ +@@ -237,7 +237,7 @@ + mv $@@EXEEXT@ $(binbuild_dir) ; \ + fi + +-slog_print: libslog.a ++slog_print: lib$(SLOG_LIBNAME).a + @if [ ! -x ../slog_api/bin/slog_printbbufs@EXEEXT@ ] ; then \ + ( cd ../slog_api ; $(MAKE) ) ; \ + fi +@@ -253,14 +253,14 @@ + # requirements of different compilers for parallel and serial executable. + # Also cannot put ${libbuild_dir}/libslog.a as prerequisite + clog2slog: $(C2S_CSOURCES) +- @if [ ! -s ../slog_api/lib/libslog.a ] ; then \ +- $(MAKE) libslog.a ; \ ++ @if [ ! -s ../slog_api/lib/lib$(SLOG_LIBNAME).a ] ; then \ ++ $(MAKE) lib$(SLOG_LIBNAME).a ; \ + fi + @for srcfile in $? ; do \ + echo "$(MPI_CC) -DSTANDALONE $(CFLAGS) -c $${srcfile}"; \ + $(MPI_CC) -DSTANDALONE $(CFLAGS) -c $${srcfile} ; \ + done +- $(CLINKER) $(CC_LDFLAGS) -o $@@EXEEXT@ $(C2S_OBJECTS) -L../slog_api/lib -lslog $(DEBUG_LIBS) ++ $(CLINKER) $(CC_LDFLAGS) -o $@@EXEEXT@ $(C2S_OBJECTS) -L../slog_api/lib -l$(SLOG_LIBNAME) $(DEBUG_LIBS) + @if [ "$(binbuild_dir)" != "" ] && [ -d "$(binbuild_dir)" ] ; then \ + mv $@@EXEEXT@ $(binbuild_dir) ; \ + fi +@@ -288,7 +288,7 @@ + ( cd ../slog_api ; $(MAKE) rmlib ) \ + fi + $(RM) -f ${libbuild_dir}/lib$(PROF_LIBNAME).a +- $(RM) -f ${libbuild_dir}/lib$(PROF_LIBNAME).so ++ $(RM) -f ${libbuild_dir}/shared/lib$(PROF_LIBNAME).so + $(RM) -f ${libbuild_dir}/lib$(TRACE_LIBNAME).a + $(RM) -f ${libbuild_dir}/lib$(LOG_LIBNAME).a + $(RM) -f ${libbuild_dir}/lib$(ANIM_LIBNAME).a +--- mpich-1.2.5.3.orig/mpe/slog_api/sbin/install-slog.in ++++ mpich-1.2.5.3/mpe/slog_api/sbin/install-slog.in +@@ -209,6 +209,22 @@ + CopyFileP $file $2/$file $3 + fi + done ++ # Now do shared lib symlinks ++ rm -f $DESTDIR$2/*.so ++ for file in $DESTDIR$2/*.so* ; do ++ cd $DESTDIR$2 >/dev/null ++ file=`basename $file` ++ filebase=`echo $file | sed -e 's%\.[0-9]*$%%'` ++ while [ $filebase != $file ]; do ++ if [ ! -h $filebase -a -s $file ] ; then ++ $Show ln -s $file $DESTDIR$2/$filebase ++ echo "/bin/rm -f $sharedlib_dir/$filebase" >>$UNINSTALLFILE ++ fi ++ file=$filebase ++ filebase=`echo $file | sed -e 's%\.[0-9]*$%%'` ++ done ++ cd $4 >/dev/null && cd $1 >/dev/null ++ done + for dir in * ; do + if [ -d $dir \ + -a "$dir" != "CVS" -a "$dir" != "old" \ +--- mpich-1.2.5.3.orig/mpe/slog_api/src/Makefile.in ++++ mpich-1.2.5.3/mpe/slog_api/src/Makefile.in +@@ -69,13 +69,12 @@ + + # Allow compilers that do not allow -o for renaming object files + .c.lo: +- $(CC_SHL) $(CFLAGS) -c $< $(INC_DIR) +- @mv $*.@OBJEXT@ $*.lo ++ $(CC) $(CFLAGS) -fPIC -c $< $(INC_DIR) -o $@ + .@OBJEXT@@EXEEXT@: + $(CLINKER) $(CFLAGS) -o $@ $< -L$(LIB_DIR) -l$(SLOGNAME) $(DEBUG_LIBS) + + +-default: $(LIB_DIR)/lib$(SLOGNAME).a prog slog_destlib ++default: $(LIB_DIR)/lib$(SLOGNAME).a prog slog_destlib $(LIB_DIR)/shared/lib$(SLOGNAME).so + + $(LIB_DIR)/lib$(SLOGNAME).a: $(LIB_OBJ) + $(AR) $(ARFLAGS) $@ $? +@@ -85,11 +84,10 @@ + # Building a shared library requires different tools on different systems. + # The following will work *ONLY* for gcc. Eventually, this should invoke + # the approriate command to handle other shared libraries on other systems. +-$(LIB_DIR)/lib$(SLOGNAME).so: $(SHLIB_OBJ) +- if [ "@SHAREDKIND@" = "gcc" ] ; then \ +- $(CLINKER) -shared -Wl,-soname,lib$(SLOGNAME).so.1.0 -Wl,-rpath,$(libdir) -o $@.1.0 $(SHLIB_OBJ) ; \ +- ln -sf lib$(SLOGNAME).so.1.0 ${LIB_DIR}/lib$(SLOGNAME).so ; \ +- fi ++$(LIB_DIR)/shared/lib$(SLOGNAME).so: $(SHLIB_OBJ) ++ if [ ! -d $(LIB_DIR)/shared ]; then mkdir $(LIB_DIR)/shared; fi ++ $(CLINKER) -shared -Wl,-soname,lib$(SLOGNAME).so.1.0 -o $@.1.0 $(SHLIB_OBJ) ++ ln -sf lib$(SLOGNAME).so.1.0 ${LIB_DIR}/shared/lib$(SLOGNAME).so + + prog: $(MAIN_OBJ) $(MAIN_EXE) + mv -f $(MAIN_EXE) $(BIN_DIR) +@@ -107,7 +105,7 @@ + + rmlib: + $(RM) -f $(LIB_DIR)/lib$(SLOGNAME).a +- -$(RM) -f $(LIB_DIR)/lib$(SLOGNAME).so ++ $(RM) -f $(LIB_DIR)/shared/lib$(SLOGNAME).so + + rmprog: + @if [ -d $(BIN_DIR) ] ; then \ --- mpich-1.2.5.3.orig/debian/patches/03_move_logfile.dpatch +++ mpich-1.2.5.3/debian/patches/03_move_logfile.dpatch @@ -0,0 +1,36 @@ +#! /bin/sh -e +## 03_move_logfile.dpatch by Junichi Uekawa +## (original made by some of the former maintainers) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Moves log file to standard location. +## DP: debian specific + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + + + + +--- mpich-1.2.5.3.orig/mpid/server/serv_p4.c ++++ mpich-1.2.5.3/mpid/server/serv_p4.c +@@ -145,7 +145,7 @@ + #define MAXARGS 256 + + #ifndef LOGFILE +-#define LOGFILE "/usr/adm/secure_server.log" ++#define LOGFILE "/var/log/secure_server.log" + #endif + char logfile[1024]; + FILE *logfile_fp; --- mpich-1.2.5.3.orig/debian/patches/01_destdir.dpatch +++ mpich-1.2.5.3/debian/patches/01_destdir.dpatch @@ -0,0 +1,659 @@ +#! /bin/sh -e +## 01_destdir.dpatch by Junichi Uekawa +## (original made by some of the former maintainers) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Adds DESTDIR support to MPICH build rules. +## DP: sent upstream + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- mpich-1.2.5.orig/mpe/sbin/mpeinstall.in ++++ mpich-1.2.5/mpe/sbin/mpeinstall.in +@@ -76,7 +76,7 @@ + if [ -z "$UNINSTALLFILE" ] ; then + INSTALL_base=`basename $0` + UNINSTALL_base=`echo $INSTALL_base | sed -e 's/install/uninstall/'` +- UNINSTALLFILE=${sbindir}/${UNINSTALL_base} ++ UNINSTALLFILE=$DESTDIR${sbindir}/${UNINSTALL_base} + fi + + for arg in "$@" ; do +@@ -155,10 +155,11 @@ + else + mode=$3 + fi +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -216,7 +217,7 @@ + set $1 $2 ${3:-$MODE} `pwd` + cd $1 + for file in * ; do +- if [ -f $file -a ! -f $2/$file ] ; then ++ if [ -f $file -a ! -f $DESTDIR$2/$file ] ; then + CopyFileP $file $2/$file $3 + fi + done +@@ -230,20 +231,18 @@ + done + # cd back where it comes from + # counter the effect of "cd $1" above, +- # so "for" loop stiil works ++ # so "for" loop still works + cd $4 + fi + fi + } + +- +- + # + # Make the given directory. This handles building intermediate directories + # as required, and maintains a list of created directories in dirlist. + MkDir() { +-if [ ! -d $1 ] ; then +- dir=`echo $1 | sed 's%/% /%g'` ++if [ ! -d $DESTDIR$1 ] ; then ++ dir=`echo $DESTDIR$1 | sed 's%/% /%g'` + path_to_date='' + for path in $dir ; do + path_to_date="$path_to_date$path" +@@ -279,10 +278,11 @@ + # Fixup files that need #...# replaced + # + FixupFile() { +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -315,7 +315,7 @@ + else + mode=$3 + fi +-$Show chmod $mode $2 ++$Show chmod $mode $dest + rc=$? + if [ $rc != 0 ] ; then + echo "**Error setting mode on file $2**" +@@ -375,11 +375,11 @@ + if [ -n "$includebuild_dir" ] ; then + if [ -d $includebuild_dir ] ; then + echo "Copying MPE include files to $includedir" +- if [ ! -d $includedir ] ; then ++ if [ ! -d $DESTDIR$includedir ] ; then + MkDir $includedir + fi + for file in $MPE_HEADERS ; do +- if [ -f $includebuild_dir/$file -a ! -f $includedir/$file ] ; then ++ if [ -f $includebuild_dir/$file -a ! -f $DESTDIR$includedir/$file ] ; then + CopyFileP $includebuild_dir/$file $includedir/$file $MODE + fi + done +@@ -401,7 +401,7 @@ + CopyDirRecurP $binbuild_dir $bindir $XMODE + fi + # Create mpereconfig from mpereconfig.in +- $Show /bin/rm -f $bindir/mpereconfig ++ $Show /bin/rm -f $DESTDIR$bindir/mpereconfig + if [ $verbose = 1 ] ; then + echo "Creating mpereconfig from mpereconfig.in" + fi +@@ -441,9 +441,9 @@ + -e "s%^ac_given_srcdir=.*$%ac_given_srcdir=%g" \ + -e '/if test "\$ac_dir/,/^[ ]*fi[ ]*$/d' \ + -e 's/ac_dir_suffix/ac_dir/' \ +- > $bindir/mpereconfig.dat ++ > ${DESTDIR}$bindir/mpereconfig.dat + filelist="$filelist $bindir/mpereconfig.dat" +- chmod $XMODE $bindir/mpereconfig.dat ++ chmod $XMODE ${DESTDIR}$bindir/mpereconfig.dat + else + cat <<. + cat config.status | \ +@@ -466,9 +466,9 @@ + -e "s%^ac_given_srcdir=.*$%ac_given_srcdir=%g" \ + -e '/if test "\$ac_dir/,/^[ ]*fi[ ]*$/d' \ + -e 's/ac_dir_suffix/ac_dir/' \ +- > $bindir/mpereconfig.dat ++ > $DESTDIR$bindir/mpereconfig.dat + filelist="$filelist $bindir/mpereconfig.dat" +- chmod $XMODE $bindir/mpereconfig.dat ++ chmod $XMODE $DESTDIR$bindir/mpereconfig.dat + else + cat <<. + cat config.status | \ +@@ -488,23 +488,25 @@ + CopyDirRecurP $top_srcdir/contrib/test $examplesdir + + # Create MPE examples Makefile +-( cd $examplesdir ; $bindir/mpereconfig Makefile ) ++( cd $DESTDIR$examplesdir ; $bindir/mpereconfig Makefile ) + filelist="$filelist $examplesdir/Makefile" + + if [ -x $bindir/mpirun ] ; then +- $Show "( cd $examplesdir ; \ ++ $Show "( cd $DESTDIR$examplesdir ; \ + /bin/rm -f mpirun ; \ + ln -s $bindir/mpirun mpirun )" + filelist="$filelist $examplesdir/mpirun" + fi +- +-if [ -f $examplesdir/Makefile ] ; then ++ ++if [ -z "$DESTDIR" ]; then ++ if [ -f $DESTDIR$examplesdir/Makefile ] ; then + echo "About to run installation test for C programs..." +- $Show "( cd $examplesdir ; $MAKE linktest_C )" ++ $Show "( cd $DESTDIR$examplesdir ; $MAKE linktest_C )" + if test "$NOF77" = "0" ; then + echo "About to run installation test for Fortran programs..." + $Show "( cd $examplesdir ; $MAKE linktest_f77 )" + fi ++ fi + fi + + # Remove old uninstall file +@@ -537,7 +539,7 @@ + fi + fi + +-if [ -s $examplesdir/Makefile ] ; then ++if [ -s $DESTDIR$examplesdir/Makefile ] ; then + echo "( cd $examplesdir ; $MAKE clean )" >> $UNINSTALLFILE + fi + +--- mpich-1.2.5.orig/mpe/viewers/sbin/install-viewers.in ++++ mpich-1.2.5/mpe/viewers/sbin/install-viewers.in +@@ -62,7 +62,7 @@ + if [ -z "$UNINSTALLFILE" ] ; then + INSTALL_base=`basename $0` + UNINSTALL_base=`echo $INSTALL_base | sed -e 's/install/uninstall/'` +- UNINSTALLFILE=${sbindir}/${UNINSTALL_base} ++ UNINSTALLFILE=$DESTDIR${sbindir}/${UNINSTALL_base} + fi + + # Update the $prefix if necessary +@@ -134,10 +134,11 @@ + else + mode=$3 + fi +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -200,7 +201,7 @@ + set $1 $2 ${3:-$MODE} `pwd` + cd $1 + for file in * ; do +- if [ -f $file -a ! -f $2/$file ] ; then ++ if [ -f $file -a ! -f $DESTDIR$2/$file ] ; then + CopyFileP $file $2/$file $3 + fi + done +@@ -225,8 +226,8 @@ + # Make the given directory. This handles building intermediate directories + # as required, and maintains a list of created directories in dirlist. + MkDir() { +-if [ ! -d $1 ] ; then +- dir=`echo $1 | sed 's%/% /%g'` ++if [ ! -d $DESTDIR$1 ] ; then ++ dir=`echo $DESTDIR$1 | sed 's%/% /%g'` + path_to_date='' + for path in $dir ; do + path_to_date="$path_to_date$path" +@@ -268,10 +269,11 @@ + # Change the FIRST libpath to the new form. This allows + # the LIB_PATH to contain multiple names, as long as the MPICH libpath + # is first +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -301,7 +303,7 @@ + else + mode=$3 + fi +-$Show chmod $mode $2 ++$Show chmod $mode $dest + rc=$? + if [ $rc != 0 ] ; then + echo "**Error setting mode on file $2**" +@@ -330,7 +332,7 @@ + echo "Install into $prefix" + fi + +-if [ -d $prefix ] ; then ++if [ -d $DESTDIR$prefix ] ; then + if [ $verbose = 1 ] ; then echo "using existing directory $prefix" ; fi + else + MkDir $prefix +@@ -341,7 +343,7 @@ + sbindir=$prefix/sbin + datadir=$prefix/share + if [ $appendUninstall = 0 ] ; then +- UNINSTALLFILE=${sbindir}/${UNINSTALL_base} ++ UNINSTALLFILE=$DESTDIR${sbindir}/${UNINSTALL_base} + fi + fi + +--- mpich-1.2.5.orig/mpe/viewers/upshot/sbin/install-viewer.in ++++ mpich-1.2.5/mpe/viewers/upshot/sbin/install-viewer.in +@@ -60,7 +60,7 @@ + if [ -z "$UNINSTALLFILE" ] ; then + INSTALL_base=`basename $0` + UNINSTALL_base=`echo $INSTALL_base | sed -e 's/install/uninstall/'` +- UNINSTALLFILE=${sbindir}/${UNINSTALL_base} ++ UNINSTALLFILE=$DESTDIR${sbindir}/${UNINSTALL_base} + fi + + # Update the $prefix if necessary +@@ -132,10 +132,11 @@ + else + mode=$3 + fi +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -198,7 +199,7 @@ + set $1 $2 ${3:-$MODE} `pwd` + cd $1 + for file in * ; do +- if [ -f $file -a ! -f $2/$file ] ; then ++ if [ -f $file -a ! -f $DESTDIR$2/$file ] ; then + CopyFileP $file $2/$file $3 + fi + done +@@ -223,8 +224,8 @@ + # Make the given directory. This handles building intermediate directories + # as required, and maintains a list of created directories in dirlist. + MkDir() { +-if [ ! -d $1 ] ; then +- dir=`echo $1 | sed 's%/% /%g'` ++if [ ! -d $DESTDIR$1 ] ; then ++ dir=`echo $DESTDIR$1 | sed 's%/% /%g'` + path_to_date='' + for path in $dir ; do + path_to_date="$path_to_date$path" +@@ -266,10 +267,11 @@ + # Change the FIRST libpath to the new form. This allows + # the LIB_PATH to contain multiple names, as long as the MPICH libpath + # is first +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -300,7 +302,7 @@ + else + mode=$3 + fi +-$Show chmod $mode $2 ++$Show chmod $mode $dest + rc=$? + if [ $rc != 0 ] ; then + echo "**Error setting mode on file $2**" +--- mpich-1.2.5.orig/mpe/tmp/confdefs.h ++++ mpich-1.2.5/mpe/tmp/confdefs.h +@@ -0,0 +1 @@ ++ +--- mpich-1.2.5.orig/mpe/confdefs.h ++++ mpich-1.2.5/mpe/confdefs.h +@@ -0,0 +1 @@ ++ +--- mpich-1.2.5.orig/mpid/ch_p4mpd/install_ch_p4mpd ++++ mpich-1.2.5/mpid/ch_p4mpd/install_ch_p4mpd +@@ -10,9 +10,9 @@ + fi + if [ -f mpid/mpd/Makefile ] ; then + export XMODE +- (cd mpid/mpd ; $MAKE install UNINSTALLFILE=$UNINSTALLFILE ) +- rm -f ${bindir}/mpichboot +- cat >${bindir}/mpichboot <$DESTDIR${bindir}/mpichboot <>$UNINSTALLFILE +- rm -f ${bindir}/mpichstop +- cat >${bindir}/mpichstop <$DESTDIR${bindir}/mpichstop <>$UNINSTALLFILE + else + echo "Could not find Makefile for mpid/mpd!" +--- mpich-1.2.5.orig/mpid/mpd/Makefile.in ++++ mpich-1.2.5/mpid/mpd/Makefile.in +@@ -2,7 +2,7 @@ + + @SET_MAKE@ + @VPATH@ +-prefix = @prefix@ ++prefix ?= @prefix@ + exec_prefix = @exec_prefix@ + bindir = @bindir@ + srcdir = @srcdir@ +@@ -126,32 +126,32 @@ + # startdaemons at least temporarily obsolete + # sed -e "s/^DIR=.*$/DIR=${bindir}/g" ${top_srcdir}/mpid/mpd/startdaemons.in ${bindir}/startdaemons + # chmod ${XMODE} ${bindir}/startdaemons +- if [ ! -d ${bindir} ] ; then \ +- mkdir -p ${bindir} ;\ ++ if [ ! -d ${DESTDIR}${bindir} ] ; then \ ++ mkdir -p ${DESTDIR}${bindir} ;\ + fi +- cp -f mpd ${bindir}/mpd +- cp -f mpdcon ${bindir}/mpdcon ++ cp -f mpd ${DESTDIR}${bindir}/mpd ++ cp -f mpdcon ${DESTDIR}${bindir}/mpdcon + @if [ "`whoami`" = "root" ] ; then \ +- echo "chmod 4755 ${bindir}/mpdcon" ;\ +- chmod 4755 ${bindir}/mpdcon ;\ ++ echo "chmod 4755 ${DESTDIR}${bindir}/mpdcon" ;\ ++ chmod 4755 ${DESTDIR}${bindir}/mpdcon ;\ + fi +- cp -f mpdman ${bindir}/mpdman ++ cp -f mpdman ${DESTDIR}${bindir}/mpdman + # if [ -f startdaemons -a mpd.hosts ] ; then \ +-# cp startdaemons ${bindir}/startdaemons ;\ +-# cp mpd.hosts ${bindir}/mpd.hosts ;\ ++# cp startdaemons ${DESTDIR}${bindir}/startdaemons ;\ ++# cp mpd.hosts ${DESTDIR}${bindir}/mpd.hosts ;\ + # fi + -@for cmd in ${CMDS_FROM_CON} ; do \ +- rm -f ${bindir}/$$cmd ; \ +- @LN_S@ -f ${bindir}/mpdcon ${bindir}/$$cmd ; done ++ rm -f ${DESTDIR}${bindir}/$$cmd ; \ ++ @LN_S@ -f ${DESTDIR}${bindir}/mpdcon ${DESTDIR}${bindir}/$$cmd ; done + # Some other part of mpich install might have created an mpirun +- /bin/rm -f ${bindir}/mpirun +- @LN_S@ -f ${bindir}/mpdcon ${bindir}/mpirun ++ /bin/rm -f ${DESTDIR}${bindir}/mpirun ++ @LN_S@ -f ${DESTDIR}${bindir}/mpdcon ${DESTDIR}${bindir}/mpirun + -@if [ -n "${UNINSTALLFILE}" ] ; then \ + for file in mpd mpdcon mpdman mpdtrace mpddump mpdexit mpirun \ + mpdallexit mpdbomb mpdhelp mpdcleanup mpdmpexec \ + mpdclean \ + mpigdb mpdmandump mpdlistjobs mpdkilljob mpdringtest mpdringsize mpdshutdown; do \ +- echo "/bin/rm -f ${bindir}/$$file" >> "${UNINSTALLFILE}" ; \ ++ echo "/bin/rm -f ${DESTDIR}${bindir}/$$file" >> "${UNINSTALLFILE}" ; \ + done ; \ + fi + # +--- mpich-1.2.5.orig/util/mpiinstall.in ++++ mpich-1.2.5/util/mpiinstall.in +@@ -186,7 +186,7 @@ + + # Uninstall filename + if [ -z "$UNINSTALLFILE" ] ; then +- UNINSTALLFILE="$sbindir/mpiuninstall" ++ UNINSTALLFILE="$DESTDIR$sbindir/mpiuninstall" + fi + + if [ -z "$APREFIX" ] ; then +@@ -222,10 +222,11 @@ + else + mode=$3 + fi +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -274,8 +275,8 @@ + # Make the given directory. This handles building intermediate directories + # as required, and maintains a list of created directories in dirlist. + MkDir() { +-if [ ! -d $1 ] ; then +- dir_to_make=`echo $1 | sed 's%/% /%g'` ++if [ ! -d $DESTDIR$1 ] ; then ++ dir_to_make=`echo $DESTDIR$1 | sed 's%/% /%g'` + path_to_date='' + for path in $dir_to_make ; do + path_to_date="$path_to_date$path" +@@ -310,10 +311,11 @@ + # perl program. mpireconfig can use FixupFile2 . + # + FixupFile() { +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -349,7 +351,7 @@ + else + mode=$3 + fi +-$Show chmod $mode $2 ++$Show chmod $mode $dest + rc=$? + if [ $rc != 0 ] ; then + echo "**Error setting mode on file $2**" +@@ -362,10 +364,11 @@ + # This version merely replaces builddir versions with the master versions + # + FixupFile2() { +-if [ -d $2 ] ; then +- dest=$2/`basename $1` ++dest=$DESTDIR$2 ++if [ -d $dest ] ; then ++ dest=$dest/`basename $1` + else +- dest=$2 ++ dest=$dest + fi + if [ $replace = 0 -a -f $dest ] ; then + if [ $verbose = 1 ] ; then echo "$dest exists; not changed" ; fi +@@ -402,7 +405,7 @@ + else + mode=$3 + fi +-$Show chmod $mode $2 ++$Show chmod $mode $dest + rc=$? + if [ $rc != 0 ] ; then + echo "**Error setting mode on file $2**" +@@ -478,7 +481,7 @@ + CopyFile util/mpichlib.conf ${sysconfdir} + # + # mpiman +- $Show /bin/rm -f $bindir/mpiman ++ $Show /bin/rm -f $DESTDIR$bindir/mpiman + FixupFile2 bin/mpiman $bindir/mpiman $XMODE + # + # mpirun et al. This would be a good place to identify +@@ -511,7 +514,7 @@ + CopyFile $top_srcdir/bin/tarch $bindir $XMODE + fi + # +- $Show /bin/rm -f $bindir/mpireconfig ++ $Show /bin/rm -f $DESTDIR$bindir/mpireconfig + if [ $verbose = 1 ] ; then + echo "Creating mpireconfig from util/mpireconfig.in" + fi +@@ -542,8 +545,8 @@ + -e "s%^MPIF77=\([^/ ]*\)/.*\$%MPIF77=$bindir/mpif77%g" \ + -e "s%^MPIF90=\([^/ ]*\)/.*\$%MPIF90=$bindir/mpif90%g" \ + -e "s%^MPICPLUSPLUS=\([^/ ]*\)/.*\$%MPICPLUSPLUS=$bindir/mpiCC%g" \ +- config.status > ${bindir}/mpireconfig.dat +- chmod $XMODE ${bindir}/mpireconfig.dat ++ config.status > ${DESTDIR}${bindir}/mpireconfig.dat ++ chmod $XMODE ${DESTDIR}${bindir}/mpireconfig.dat + echo "/bin/rm -f ${bindir}/mpireconfig.dat" >> $UNINSTALLFILE + else + echo "Construct new ${bindir}/mpireconfig.dat from config.status" +@@ -760,15 +763,15 @@ + # Get the current directory (see pushd/popd comments in shared lib code) + curdir="`pwd`" + # Create links from foo.so.n.m to foo.so.n and foo.so.n to foo.so +-for file in $libdir/libtvmpich.so* ; do ++for file in $DESTDIR$libdir/libtvmpich.so* ; do + # pushd would be cleaner, but not all systems support it (e.g.,IRIX) + #pushd $sharedlib_dir >/dev/null +- cd $libdir >/dev/null ++ cd $DESTDIR$libdir >/dev/null + file=`basename $file` + filebase=`echo $file | sed -e 's%\.[0-9]*$%%'` + while [ $filebase != $file ]; do + if [ ! -h $filebase -a -s $file ] ; then +- $Show ln -s $file $filebase ++ $Show ln -sf $file $filebase + # We need to debug this. If there is an error, generate + # some information on the failure + if [ $? != 0 ] ; then +@@ -807,15 +810,15 @@ + # Get the current directory (see pushd/popd comments below) + curdir=`pwd` + # Create links from foo.so.n.m to foo.so.n and foo.so.n to foo.so +-for file in $sharedlib_dir/*.so* ; do ++for file in $DESTDIR$sharedlib_dir/*.so* ; do + # pushd would be cleaner, but not all systems support it (e.g.,IRIX) + #pushd $sharedlib_dir >/dev/null +- cd $sharedlib_dir >/dev/null ++ cd $DESTDIR$sharedlib_dir >/dev/null + file=`basename $file` + filebase=`echo $file | sed -e 's%\.[0-9]*$%%'` + while [ $filebase != $file ]; do + if [ ! -h $filebase -a -s $file ] ; then +- $Show ln -s $file $filebase ++ $Show ln -sf $file $filebase + echo "/bin/rm -f $sharedlib_dir/$filebase" >>$UNINSTALLFILE + fi + file=$filebase +@@ -828,8 +831,8 @@ + # + + # Handle the case of a weak-symbol profiling library +-if [ ! -s $libdir/libp@MPILIBNAME@.a ] ; then +- (cd $libdir ; ln -s lib@MPILIBNAME@.a libp@MPILIBNAME@.a ) ++if [ ! -s $DESTDIR$libdir/libp@MPILIBNAME@.a ] ; then ++ (cd $DESTDIR$libdir ; ln -s lib@MPILIBNAME@.a libp@MPILIBNAME@.a ) + echo "/bin/rm -f $libdir/libp@MPILIBNAME@.a" >> $UNINSTALLFILE + fi + # Message queue routine for debuggers must be built with the proper prefix. +@@ -968,11 +971,11 @@ + # prefix=@prefix@ when ever prefix= starts in the first column (!) + # It also does this with exec_prefix (!!) + prefix=$APREFIX +-(cd $prefix/examples ; $bindir/mpireconfig Makefile ) ++(cd $DESTDIR$prefix/examples ; $DESTDIR$bindir/mpireconfig Makefile ) + echo "(cd $prefix/examples ; $MAKE clean)" >> $UNINSTALLFILE + echo "/bin/rm -f $prefix/examples/Makefile" >> $UNINSTALLFILE + prefix=$Savevar +-CopyFile $prefix/examples/Makefile $datadir/Makefile.sample ++CopyFile $DESTDIR$prefix/examples/Makefile $datadir/Makefile.sample + CopyFile $top_srcdir/installtest/cpi.c $prefix/examples + CopyFile $top_srcdir/installtest/cpip.c $prefix/examples + CopyFile $top_srcdir/installtest/cpilog.c $prefix/examples +@@ -990,15 +993,18 @@ + CopyFile $top_srcdir/installtest/README $prefix/examples + # + # Test build the examples +-$Show "(cd $prefix/examples ; /bin/rm -f mpirun ; \ ++$Show "(cd $DESTDIR$prefix/examples ; /bin/rm -f mpirun ; \ + ln -s ../bin/mpirun mpirun )" + echo "/bin/rm -f $prefix/examples/mpirun" >> $UNINSTALLFILE + # + echo "About to run installation test..." +-$Show "(cd $prefix/examples; $MAKE all ; $MAKE clean )" +-if [ @SHAREDKIND@ != "ignore" ] ; then ++if [ "x$DESTDIR" = "x" ]; then ++ # only works when DESTDIR is blank, and installing on final location. ++ $Show "(cd $DESTDIR$prefix/examples; $MAKE all ; $MAKE clean )" ++ if [ @SHAREDKIND@ != "ignore" ] ; then + echo "About to run installation test for shared libraries ..." +- $Show "(cd $prefix/examples; MPICH_USE_SHLIB="yes"; export MPICH_USE_SHLIB; $MAKE all ; $MAKE clean )" ++ $Show "(cd $DESTDIR$prefix/examples; MPICH_USE_SHLIB="yes"; export MPICH_USE_SHLIB; $MAKE all ; $MAKE clean )" ++ fi + fi + # + # This SHOULD use mpireconfig... +@@ -1048,7 +1054,7 @@ + echo "if [ -d $dir ] ; then rmdir $dir ; fi" >> $UNINSTALLFILE + done + # +-echo installed MPICH in $prefix ++echo installed MPICH in $prefix + echo $UNINSTALLFILE may be used to remove the installation. + # + if [ $errs -gt 0 ] ; then --- mpich-1.2.5.3.orig/debian/patches/06_mpichboot_homedir.dpatch +++ mpich-1.2.5.3/debian/patches/06_mpichboot_homedir.dpatch @@ -0,0 +1,32 @@ +#! /bin/sh -e +## 06_mpichboot_homedir.dpatch by Adam Powell +## (original made by some of the former maintainers) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Escape $HOME so result has $HOME and not builder's home dir. + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- mpich-1.2.5.3.orig/mpid/ch_p4mpd/install_ch_p4mpd 2003-06-20 16:54:21.000000000 -0400 ++++ mpich-1.2.5.3/mpid/ch_p4mpd/install_ch_p4mpd 2003-06-20 16:55:19.000000000 -0400 +@@ -14,7 +14,7 @@ + rm -f $DESTDIR${bindir}/mpichboot + cat >$DESTDIR${bindir}/mpichboot < +## +## All lines beginning with ## DP: are a description of the patch. +## DP: Fail if linking has failed, not ignoring errors. +## DP: Not sent to upstream yet. + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + + +--- mpich-1.2.5.3.orig/util/makesharedlib ++++ mpich-1.2.5.3/util/makesharedlib +@@ -170,7 +170,12 @@ + libbase=`basename $libname .a` + # The -h name sets the name of the object; this is necessary to + # ensure that the dynamic linker can find the proper shared library. +- $CLINKER -shared -Wl,-h,$libbase.$slsuffix -o ../shared/$libbase.$slsuffix *.o $OtherLibs ++ if $CLINKER -shared -Wl,-h,$libbase.$slsuffix -o ../shared/$libbase.$slsuffix *.o $OtherLibs ; then ++ echo Successfully linked $libname ++ else ++ echo "Linking $libname shared lib failed " ++ exit 1 ++ fi + cd .. + # Make a link in the library directory to the shared library in the + # shared directory. --- mpich-1.2.5.3.orig/debian/patches/10_pass_cflags_to_mpid_mpd.dpatch +++ mpich-1.2.5.3/debian/patches/10_pass_cflags_to_mpid_mpd.dpatch @@ -0,0 +1,35 @@ +#! /bin/sh -e +## Junichi Uekawa +## +## All lines beginning with ## DP: are a description of the patch. +## DP: Try passing CFLAGS to configure of mpid/mpd. +## DP: Not yet sent upstream + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + + +--- mpich-1.2.5.3.orig/mpid/ch_p4mpd/setup_ch_p4mpd ++++ mpich-1.2.5.3/mpid/ch_p4mpd/setup_ch_p4mpd +@@ -329,7 +329,9 @@ + echo "Configuring mpd subsystem..." + (cd mpid/mpd ; \ + export VPATH ; export RSHCOMMAND ;\ +- export CC ; export CLINKER ; export CFLAGS ; export CC_SHARED_OPT ; \ ++ export CC ; export CLINKER ; \ ++ CFLAGS="$USER_CFLAGS $P4_CFLAGS $CC_SHARED_OPT" \ ++ export CFLAGS ; export CC_SHARED_OPT ; \ + export SHAREDKIND ; \ + $top_srcdir/mpid/mpd/configure --with-cc="$CC" \ + --with-opt="$OPTFLAGS" \ --- mpich-1.2.5.3.orig/debian/patches/08_mpih_include_mpidefs.dpatch +++ mpich-1.2.5.3/debian/patches/08_mpih_include_mpidefs.dpatch @@ -0,0 +1,55 @@ +#! /bin/sh -e +## 05_mpih_include_mpidefs.dpatch by Adam Powell +## (original made by some of the former maintainers) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Move #include "mpidefs.h" to its proper place in mpi.h + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + +--- mpich-1.2.5.3.orig/include/mpi.h 2003-01-10 10:55:40.000000000 -0500 ++++ mpich-1.2.5.3/include/mpi.h 2003-10-07 10:00:39.000000000 -0400 +@@ -167,15 +167,6 @@ + #define MPI_ROOT (-3) + #define MPI_ANY_TAG (-1) + +-/* MPI Error handlers. Systems that don't support stdargs can't use +- this definition +- */ +-#if defined(USE_STDARG) +-typedef void (MPI_Handler_function) ( MPI_Comm *, int *, ... ); +-#else +-typedef void (MPI_Handler_function) (); +-#endif +- + #define MPI_ERRORS_ARE_FATAL ((MPI_Errhandler)119) + #define MPI_ERRORS_RETURN ((MPI_Errhandler)120) + #define MPIR_ERRORS_WARN ((MPI_Errhandler)121) +@@ -238,6 +229,15 @@ + It now includes the definition of MPI_Status */ + #include "mpidefs.h" + ++/* MPI Error handlers. Systems that don't support stdargs can't use ++ this definition ++ */ ++#if defined(USE_STDARG) ++typedef void (MPI_Handler_function) ( MPI_Comm *, int *, ... ); ++#else ++typedef void (MPI_Handler_function) (); ++#endif ++ + /* Handle conversion types/functions */ + + /* Programs that need to convert types used in MPICH should use these */ --- mpich-1.2.5.3.orig/debian/patches/09_remove_p4_from_clean_execer_port.dpatch +++ mpich-1.2.5.3/debian/patches/09_remove_p4_from_clean_execer_port.dpatch @@ -0,0 +1,75 @@ +#! /bin/sh -e +## 09_remove_p4_from_clean_execer_port.dpatch by Adam Powell +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Removes p4 from p4_clean_execer_port symbol name for compatibility +## DP: between ch_p4 and ch_p4mpd libs (which seem to share p4_error.c). + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 + + + + +--- mpich-1.2.5.3.orig/mpid/ch_p4/p4/lib/p4_utils.c ++++ mpich-1.2.5.3/mpid/ch_p4/p4/lib/p4_utils.c +@@ -1020,7 +1020,7 @@ + + # endif + +- p4_clean_execer_port(); ++ clean_execer_port(); + + if (p4_get_my_id()) + p4_dprintfl(20,"process exiting\n"); +@@ -1392,7 +1392,7 @@ + + return(port); + } +-void p4_clean_execer_port( void ) ++void clean_execer_port( void ) + { + char job_filename[64]; + if (execer_starting_remotes && execer_mynodenum == 0) +@@ -1424,7 +1424,7 @@ + if (close(fd) < 0) + p4_error("put_execer_port: close", errno); + } +-void p4_clean_execer_port(void) ++void clean_execer_port(void) + { + } + #endif +--- mpich-1.2.5.3.orig/mpid/ch_p4/p4/lib/p4_error.c ++++ mpich-1.2.5.3/mpid/ch_p4/p4/lib/p4_error.c +@@ -151,7 +151,7 @@ + BNR_Kill( mygroup ); + } + #endif +- p4_clean_execer_port(); ++ clean_execer_port(); + + if (interrupt_caught && value != SIGINT) + { +--- mpich-1.2.5.3.orig/mpid/ch_p4/p4/lib/p4_sys_funcs.h ++++ mpich-1.2.5.3/mpid/ch_p4/p4/lib/p4_sys_funcs.h +@@ -41,7 +41,7 @@ + /* P4VOID exec_pgm ( ); */ + P4VOID put_execer_port (int); + int get_execer_port (char *); +-void p4_clean_execer_port( void ); ++void clean_execer_port( void ); + int fork_p4 (void); + P4VOID free_p4_msg (struct p4_msg *); + P4VOID free_quel (struct p4_queued_msg *);