[Pkg-scicomp-devel] MPICH2 in Debian
Muammar El Khatib
muammarelkhatib at gmail.com
Tue Jun 16 17:38:43 UTC 2009
Hi,
On Wed, Jun 17, 2009 at 9:16 AM, Pavan Balaji<balaji at mcs.anl.gov> wrote:
>
> These emails seem to have been broken across two email chains; merging them
> here.
>
> Lucas: thanks for offering to help. I don't have a preference with who
> packages MPICH2. Either you or Muammar, or if needed I can package it
> (though I might need some help if I'm doing it). Also, if either one of you
> wants to do it, I can help with source code issues and even absorb patches
> upstream for the upcoming 1.1.1 release, so the build goes through cleanly.
>
> Muammar: since you have the priority on this, can you let us know how you
> want to proceed?
>
I have been working on it for some time. I started packaging it from
the work who other did (requesting his permission of using it
previously).
The package compiles, but it has a _bunch_ of lintian warnings. Look at them:
muammar at obey:~/src/main/libs/mpich2$ lintian -i mpich2_1.0.7-1_amd64.changes
W: mpich2 source: debian-watch-file-missing-version
N:
N: The debian/watch file in this package doesn't start a version= line. The
N: first non-comment line of debian/watch should be a version= declaration.
N: This may mean that this is an old version one watch file that should be
N: updated to the current version.
N:
N: Refer to the uscan(1) manual page for details.
N:
N: Severity: normal, Certainty: certain
N:
W: mpich2 source: debhelper-but-no-misc-depends mpich2
N:
N: The source package uses debhelper but it does not use ${misc:Depends} in
N: the given binary package's debian/control entry. This is required so the
N: dependencies are set correctly in case the result of a call to any of
N: the dh_ commands cause the package to depend on another package.
N:
N: Refer to the debhelper(7) manual page for details.
N:
N: Severity: normal, Certainty: certain
N:
W: mpich2 source: debhelper-but-no-misc-depends libmpich2-1.0-dev
W: mpich2 source: debhelper-but-no-misc-depends libmpich2-1.0
W: mpich2 source: debhelper-but-no-misc-depends mpich2-mpd
W: mpich2 source: debhelper-but-no-misc-depends mpich2-doc
W: mpich2 source: debhelper-but-no-misc-depends mpich2-mpe
E: mpich2 source: build-depends-on-obsolete-package build-depends: x-dev
N:
N: The package build-depends on a package that has been superseded. If the
N: superseded package is part of an ORed group, it should not be the first
N: package in the group.
N:
N: Severity: important, Certainty: possible
N:
E: mpich2 source: ancient-autotools-helper-file
src/mpi/romio/confdb/config.sub 2003-07-17
N:
N: The referenced file has a time stamp older than year 2004 and the
N: package does not build-depend on autotools-dev or automake and therefore
N: apparently does not update it. This usually means that the source
N: package will not build correctly on all currently released
N: architectures.
N:
N: Read /usr/share/doc/autotools-dev/README.Debian.gz (from the
N: autotools-dev package) for information on how to fix this problem. cdbs
N: will automatically update these files if autotools-dev is installed
N: during build, but the build dependency on autotools-dev is still
N: necessary.
N:
N: Severity: important, Certainty: possible
N:
E: mpich2 source: ancient-autotools-helper-file
src/mpi/romio/confdb/config.guess 2003-07-02
W: mpich2 source: outdated-autotools-helper-file confdb/config.sub 2005-02-10
N:
N: The referenced file has a time stamp older than June of 2006 and the
N: package does not build-depend on autotools-dev or automake and therefore
N: apparently does not update it. This usually means that the source
N: package will not build correctly on AVR32, for which a Debian port is
N: currently in progress, and may not support other newer architectures.
N:
N: Read /usr/share/doc/autotools-dev/README.Debian.gz (from the
N: autotools-dev package) for information on how to fix this problem. cdbs
N: will automatically update these files if autotools-dev is installed
N: during build, but the build dependency on autotools-dev is still
N: necessary.
N:
N: Severity: normal, Certainty: possible
N:
W: mpich2 source: outdated-autotools-helper-file confdb/config.guess 2005-03-24
W: libmpich2-1.0: non-dev-pkg-with-shlib-symlink
usr/lib/libfmpich.so.1.1 usr/lib/libfmpich.so
N:
N: Although this package is not a "-dev" package, it installs a
N: "libsomething.so" symbolic link referencing the corresponding shared
N: library. When the link doesn't include the version number, it is used by
N: the linker when other programs are built against this shared library.
N:
N: Shared libraries are supposed to place such symbolic links in their
N: respective "-dev" packages, so it is a bug to include it with the main
N: library package.
N:
N: However, if this is a small package which includes the runtime and the
N: development libraries, this is not a bug. In the latter case, please
N: override this warning.
N:
N: Refer to Debian Policy Manual section 8.4 (Development files) for
N: details.
N:
N: Severity: normal, Certainty: possible
N:
W: libmpich2-1.0: non-dev-pkg-with-shlib-symlink
usr/lib/libmpich.so.1.1 usr/lib/libmpich.so
W: libmpich2-1.0: copyright-without-copyright-notice
N:
N: The copyright file for this package does not appear to contain a
N: copyright notice. You should copy the copyright notice from the upstream
N: source (or add one of your own for a native package). A copyright notice
N: must consist of Copyright, Copr., or the Unicode symbol of C in a circle
N: followed by the years and the copyright holder. A copyright notice is
N: not required for a work to be copyrighted, but Debian requires the
N: copyright file include the authors and years of copyright, and including
N: a valid copyright notice is the best way to do that.
N:
N: If the package is in the public domain rather than copyrighted, be sure
N: to mention "public domain" in the copyright file. Please be aware that
N: this is very rare and not the same as a DFSG-free license. True public
N: domain software is generally limited to such special cases as a work
N: product of a United States government agency.
N:
N: Refer to http://ftp-master.debian.org/REJECT-FAQ.html for details.
N:
N: Severity: normal, Certainty: certain
N:
W: libmpich2-1.0: package-name-doesnt-match-sonames libfmpich1.1 libmpich1.1
N:
N: The package name of a library package should usually reflect the soname
N: of the included library. The package name can determined from the
N: library file name with the following code snippet:
N:
N: $ objdump -p /path/to/libfoo-bar.so.1.2.3 | sed -n
-e's/^[[:space:]]*SONAME[[:space:]]*//p' | sed
-e's/\([0-9]\)\.so\./\1-/; s/\.so\.//'
N:
N: Refer to Debian Library Packaging Guide chapter 5 (shared library
N: packages) for details.
N:
N: Severity: normal, Certainty: possible
N:
E: mpich2: non-standard-toplevel-dir examples/
N:
N: The Filesystem Hierarchy Standard forbids the installation of new files
N: or directories in the root directory.
N:
N: Refer to Filesystem Hierarchy Standard (The Root Filesystem) for
N: details.
N:
N: Severity: important, Certainty: certain
N:
W: mpich2: file-in-unusual-dir examples/cpi
N:
N: This file or symbolic link is in a directory where files are not
N: normally installed by Debian packages.
N:
N: Severity: normal, Certainty: certain
N:
W: mpich2: script-not-executable ./etc/mpich2/mpicc.conf
N:
N: This file starts with the #! sequence that marks interpreted scripts,
N: but it is not executable.
N:
N: Severity: normal, Certainty: certain
N:
W: mpich2: script-not-executable ./etc/mpich2/mpicxx.conf
W: mpich2: script-not-executable ./etc/mpich2/mpif77.conf
W: mpich2: copyright-without-copyright-notice
W: mpich2: binary-or-shlib-defines-rpath ./examples/cpi
/home/muammar/src/main/libs/mpich2/mpich2-1.0.7/lib
N:
N: The binary or shared library sets RPATH. This overrides the normal
N: library search path, possibly interfering with local policy and causing
N: problems for multilib, among other issues.
N:
N: The only time a binary or shared library in a Debian package should set
N: RPATH is if it is linked to private shared libraries in the same
N: package. In that case, place those private shared libraries in
N: /usr/lib/<package>. Libraries used by binaries in other packages should
N: be placed in /lib or /usr/lib as appropriate, with a proper SONAME, in
N: which case RPATH is unnecessary.
N:
N: To fix this problem, look for link lines like:
N: gcc test.o -o test -Wl,--rpath,/usr/local/lib
N: or
N: gcc test.o -o test -R/usr/local/lib
N: and remove the -Wl,--rpath or -R argument. You can also use the chrpath
N: utility to remove the RPATH.
N:
N: Refer to http://wiki.debian.org/RpathIssue for details.
N:
N: Severity: normal, Certainty: certain
N:
E: mpich2-mpe: non-standard-toplevel-dir src/
W: mpich2-mpe: file-in-unusual-dir src/mpe2/bin/clog2_print
W: mpich2-mpe: file-in-unusual-dir src/mpe2/include/mpe.h
W: mpich2-mpe: file-in-unusual-dir src/mpe2/include/mpe_graphics.h
W: mpich2-mpe: file-in-unusual-dir src/mpe2/include/mpe_graphicsf.h
W: mpich2-mpe: file-in-unusual-dir src/mpe2/include/mpe_log.h
W: mpich2-mpe: file-in-unusual-dir src/mpe2/include/mpe_logf.h
W: mpich2-mpe: file-in-unusual-dir src/mpe2/include/mpe_misc.h
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libampe.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/liblmpe.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libmpe.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libmpe_collchk.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libmpe_f2cmpi.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libmpe_nompi.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libmpe_nompi_null.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libmpe_null.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/libtmpe.a
W: mpich2-mpe: file-in-unusual-dir src/mpe2/lib/mpe_prof.o
W: mpich2-mpe: script-not-executable ./etc/mpich2/mpich2/mpicc.conf
W: mpich2-mpe: script-not-executable ./etc/mpich2/mpich2/mpicxx.conf
W: mpich2-mpe: script-not-executable ./etc/mpich2/mpich2/mpif77.conf
W: mpich2-mpe: script-not-executable ./etc/mpich2/mpich2/mpif90.conf
W: mpich2-mpe: copyright-without-copyright-notice
W: libmpich2-1.0-dev: copyright-without-copyright-notice
W: libmpich2-1.0-dev: wrong-section-according-to-package-name
libmpich2-1.0-dev => libdevel
N:
N: This package has a name suggesting that it belongs to a section other
N: than the one it is currently categorized in.
N:
N: Severity: normal, Certainty: certain
N:
W: mpich2-doc: copyright-without-copyright-notice
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpd.py.1
N:
N: Manual pages have to be installed compressed (using "gzip -9").
N:
N: Refer to Debian Policy Manual section 12.1 (Manual pages) for details.
N:
N: Severity: important, Certainty: certain
N:
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdallexit.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdboot.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdcheck.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdchkpyver.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdcleanup.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdexit.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdgdbdrv.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdhelp.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdkilljob.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdlib.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdlistjobs.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdman.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdringtest.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdsigjob.py.1
E: mpich2-mpd: manpage-not-compressed usr/share/man/man1/mpdtrace.py.1
W: mpich2-mpd: binary-without-manpage usr/bin/mpd
N:
N: Each binary in /usr/bin, /usr/sbin, /bin, /sbin or /usr/games should
N: have a manual page
N:
N: Note that though the man program has the capability to check for several
N: program names in the NAMES section, each of these programs should have
N: its own manual page (a symbolic link to the appropriate manual page is
N: sufficient) because other manual page viewers such as xman or tkman
N: don't support this.
N:
N: If the name of the man page differs from the binary by case, man may be
N: able to find it anyway; however, it is still best practice to make the
N: case of the man page match the case of the binary.
N:
N: If the man pages are provided by another package on which this package
N: depends, lintian may not be able to determine that man pages are
N: available. In this case, after confirming that all binaries do have man
N: pages after this package and its dependencies are installed, please add
N: a lintian override.
N:
N: Refer to Debian Policy Manual section 12.1 (Manual pages) for details.
N:
N: Severity: normal, Certainty: possible
N:
W: mpich2-mpd: binary-without-manpage usr/bin/mpdallexit
W: mpich2-mpd: binary-without-manpage usr/bin/mpdboot
W: mpich2-mpd: binary-without-manpage usr/bin/mpdcheck
W: mpich2-mpd: binary-without-manpage usr/bin/mpdcleanup
W: mpich2-mpd: binary-without-manpage usr/bin/mpdexit
W: mpich2-mpd: binary-without-manpage usr/bin/mpdhelp
W: mpich2-mpd: binary-without-manpage usr/bin/mpdkilljob
W: mpich2-mpd: binary-without-manpage usr/bin/mpdlistjobs
W: mpich2-mpd: binary-without-manpage usr/bin/mpdringtest
W: mpich2-mpd: binary-without-manpage usr/bin/mpdroot
W: mpich2-mpd: binary-without-manpage usr/bin/mpdsigjob
W: mpich2-mpd: binary-without-manpage usr/bin/mpdtrace
W: mpich2-mpd: script-with-language-extension usr/bin/mpd.py
N:
N: When scripts are installed into a directory in the system PATH, the
N: script name should not include an extension such as .sh or .pl that
N: denotes the scripting language currently used to implement it. The
N: implementation language may change; if it does, leaving the name the
N: same would be confusing and changing it would be disruptive.
N:
N: Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N: Severity: normal, Certainty: certain
N:
W: mpich2-mpd: script-with-language-extension usr/bin/mpdallexit.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdboot.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdcheck.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdchkpyver.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdcleanup.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdexit.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdgdbdrv.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdhelp.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdkilljob.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdlib.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdlistjobs.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdman.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdringtest.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdsigjob.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpdtrace.py
W: mpich2-mpd: script-with-language-extension usr/bin/mpiexec.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpd.py
N:
N: Packages with Python scripts must depend on the package python. Those
N: that have scripts executed with a versioned python package need a
N: dependency on the equivalent version of python.
N:
N: For example, if a script in the package uses #!/usr/bin/python, the
N: package needs a dependency on "python". If a script uses
N: #!/usr/bin/python2.5, the package need a dependency on "python2.5".
N:
N: In some cases a weaker relationship, such as Suggests or Recommends,
N: will be more appropriate.
N:
N: Severity: important, Certainty: certain
N:
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdallexit.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdboot.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdcheck.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdchkpyver.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdcleanup.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdexit.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdgdbdrv.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdhelp.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdkilljob.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdlib.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdlistjobs.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdman.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdringtest.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdsigjob.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpdtrace.py
E: mpich2-mpd: python-script-but-no-python-dep ./usr/bin/mpiexec.py
W: mpich2-mpd: copyright-without-copyright-notice
OTOH, I think the debian/copyright file should be rechecked again. I
don't have any problem in giving the work I've done, let others
maintain MPICH2, or co-maintain the package with debian-science. The
important thing is that there is people who is interested in maintain
it :). I'll upload what I have done in mentors.d.n so that you can
check it when you desire.
Regards,
--
Muammar El Khatib.
Linux user: 403107.
GPG Key = 127029F1
http://muammar.me | http://proyectociencia.org
,''`.
: :' :
`. `'
`-
More information about the Pkg-scicomp-devel
mailing list