= Rebuild mpich2 Debain package = There are [http://torvalds.cs.mtsu.edu/~zach/debian/current Debian package] provided by Zach Lowry for MPICH2 version 1.0.3. We want to build 1.0.7 package with 1.0.3 package rules. Here is the procedures: == Extract 1.0.3 debian package rules == * Donwload 1.0.3 debian package source files {{{ root@r-mpi:~# wget http://www.cs.mtsu.edu/~zach/debian/current/mpich2_1.0.3-2.dsc root@r-mpi:~# wget http://www.cs.mtsu.edu/~zach/debian/current/mpich2_1.0.3-2.diff.gz root@r-mpi:~# wget http://www.cs.mtsu.edu/~zach/debian/current/mpich2_1.0.3.orig.tar.gz }}} * We will need '''dpkg-source''' command, so first check if you had installed dpkg-dev {{{ root@r-mpi:~# apt-get install dpkg-dev }}} * Extract 1.0.3 debian package source {{{ root@r-mpi:~# dpkg-source -x mpich2_1.0.3-2.dsc gpg: Signature made Mon 28 Nov 2005 07:49:49 PM PST using DSA key ID 1CE6894E gpg: Can't check signature: public key not found dpkg-source: extracting mpich2 in mpich2-1.0.3 dpkg-source: unpacking mpich2_1.0.3.orig.tar.gz dpkg-source: applying ./mpich2_1.0.3-2.diff.gz }}} == Configure 1.0.7 source tar ball == * Download 1.0.7 source tar ball from office website {{{ root@r-mpi:~# wget http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7.tar.gz root@r-mpi:~# tar zxvf mpich2-1.0.7.tar.gz }}} * Copy debian folder from 1.0.3 {{{ root@r-mpi:~# cd mpich2-1.0.7 root@r-mpi:~/mpich2-1.0.7# cp -aRp ../mpich2-1.0.3/debian/ . }}} * We will need '''dch''' command, so first check if you had installed devscripts {{{ root@r-mpi:~/mpich2-1.0.7# apt-get install devscripts }}} * modified debian/control {{{ root@r-mpi:~/mpich2-1.0.7# vi debian/control }}} {{{ #!diff --- debian/control.bak 2008-06-12 13:09:27.000000000 -0700 +++ debian/control 2008-06-12 12:57:37.000000000 -0700 @@ -24,7 +24,7 @@ Architecture: any Section: devel Priority: extra -Depends: ${shlibs:Depends}, python2.3, python2.3-xml +Depends: ${shlibs:Depends}, python, python-xml Conflicts: mpd Recommends: mpich2-doc (= ${Source-Version}), ssh Description: Process control for MPICH2 }}} * update debian/changelog {{{ root@r-mpi:~/mpich2-1.0.7# export DEBFULLNAME="Jazz Yao-Tsung Wang" root@r-mpi:~/mpich2-1.0.7# export DEBEMAIL="XXX@NCHC.ORG.TW" root@r-mpi:~/mpich2-1.0.7# dch -i }}} {{{ #!diff --- debian/changelog.bak 2008-06-12 13:13:57.000000000 -0700 +++ debian/changelog 2008-06-12 13:12:03.000000000 -0700 @@ -1,3 +1,8 @@ -mpich2 (1.0.3-3) unstable; urgency=low +mpich2 (1.0.7-1) unstable; urgency=low + + * New upstream release + + -- Jazz Yao-Tsung Wang Thu, 12 Jun 2008 13:11:50 -0700 }}} * remove old patches {{{ root@r-mpi:~/mpich2-1.0.7# rm -rf debian/patches/ }}} * use '''dpkg-checkbuilddeps''' to know which packages is not yet installed for building new packages. {{{ root@r-mpi:~/mpich2-1.0.7# dpkg-checkbuilddeps }}} * use '''cdbs-edit-patches''' to create new patches