wiki:jazz/mpich2_deb

Version 2 (modified by jazz, 16 years ago) (diff)

--

Rebuild mpich2 Debain package

There are 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
    
    • debian/control

      old new  
      2424Architecture: any
      2525Section: devel
      2626Priority: extra
      27 Depends: ${shlibs:Depends}, python2.3, python2.3-xml
       27Depends: ${shlibs:Depends}, python, python-xml
      2828Conflicts: mpd
      2929Recommends: mpich2-doc (= ${Source-Version}), ssh
      3030Description: 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
    
    • debian/changelog

      old new  
      1 mpich2 (1.0.3-3) unstable; urgency=low
       1mpich2 (1.0.7-1) unstable; urgency=low
       2
       3  * New upstream release
       4
       5 -- Jazz Yao-Tsung Wang <XXX@NCHC.ORG.TW>  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