Bug 913152 - Review Request: MUMPS - A MUltifrontal Massively Parallel sparse direct Solver
Summary: Review Request: MUMPS - A MUltifrontal Massively Parallel sparse direct Solver
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Paulo Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 908089
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-20 14:19 UTC by Antonio T. (sagitter)
Modified: 2013-04-10 22:15 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 566750
Environment:
Last Closed: 2013-04-04 23:51:13 UTC
Type: ---
Embargoed:
paulo.cesar.pereira.de.andrade: fedora-review+
pbabinca: fedora-cvs+


Attachments (Terms of Use)

Description Antonio T. (sagitter) 2013-02-20 14:19:23 UTC
Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-0.fc18.src.rpm

Description: MUMPS implements a direct solver for large sparse linear systems, with a particular focus on symmetric positive definite matrices.  It can
operate on distributed matrices e.g. over a cluster.  It has Fortran and
C interfaces, and can interface with ordering tools such as Scotch.

Fedora Account System Username: sagitter

Compared to version 4.9.2, this version of MUMPS seems contain less libraries.

Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5036019

$ rpmlint MUMPS-4.10.0-0.fc18.x86_64.rpm
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest
MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest
MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest
1 packages and 0 specfiles checked; 0 errors, 6 warnings.
$ rpmlint MUMPS-debuginfo-4.10.0-0.fc18.x86_64.rpm
MUMPS-debuginfo.x86_64: E: debuginfo-without-sources
1 packages and 0 specfiles checked; 1 errors, 0 warnings.
$ rpmlint MUMPS-devel-4.10.0-0.fc18.x86_64.rpm
MUMPS-devel.x86_64: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
$ rpmlint MUMPS-seq-4.10.0-0.fc18.x86_64.rpm
MUMPS-seq.x86_64: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 1 warnings.


This error appears if I try to install MUMPS:

# yum install MUMPS-4.10.0-0.fc18.x86_64.rpm MUMPS-seq-4.10.0-0.fc18.x86_64.rpm
Loaded plugins: langpacks, presto, refresh-packagekit
Examining MUMPS-4.10.0-0.fc18.x86_64.rpm: MUMPS-4.10.0-0.fc18.x86_64
Marking MUMPS-4.10.0-0.fc18.x86_64.rpm to be installed
Examining MUMPS-seq-4.10.0-0.fc18.x86_64.rpm: MUMPS-seq-4.10.0-0.fc18.x86_64
Marking MUMPS-seq-4.10.0-0.fc18.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package MUMPS.x86_64 0:4.10.0-0.fc18 will be installed
--> Processing Dependency: libopen-pal.so.4()(64bit) for package: MUMPS-4.10.0-0.fc18.x86_64
--> Processing Dependency: libopen-rte.so.4()(64bit) for package: MUMPS-4.10.0-0.fc18.x86_64
---> Package MUMPS-seq.x86_64 0:4.10.0-0.fc18 will be installed
--> Finished Dependency Resolution
Error: Package: MUMPS-4.10.0-0.fc18.x86_64 (/MUMPS-4.10.0-0.fc18.x86_64)
           Requires: libopen-rte.so.4()(64bit)
Error: Package: MUMPS-4.10.0-0.fc18.x86_64 (/MUMPS-4.10.0-0.fc18.x86_64)
           Requires: libopen-pal.so.4()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

'libopen-pal' and 'libopen-rte' are installed, so why ?

Comment 1 Michael Schwendt 2013-02-20 18:51:08 UTC
Run

  repoquery --whatprovides 'libopen-rte.4()(64bit)'

to find that nothing provides that library SONAME. Hence nothing satisfies the dependency. The library file is include in some non-public path in openmpi-1.6.3-7.fc18.x86_64.rpm - http://koji.fedoraproject.org/koji/rpminfo?rpmID=3664682 - but it seems the automatic Provides are filtered. The %changelog mentions bug 741104 (Exclude private libraries from provides/requires).

Some investigation is needed.

Comment 2 Antonio T. (sagitter) 2013-02-21 11:06:30 UTC
(In reply to comment #1)
> Run
> 
>   repoquery --whatprovides 'libopen-rte.4()(64bit)'
> 
> to find that nothing provides that library SONAME. Hence nothing satisfies
> the dependency. The library file is include in some non-public path in
> openmpi-1.6.3-7.fc18.x86_64.rpm -
> http://koji.fedoraproject.org/koji/rpminfo?rpmID=3664682 - but it seems the
> automatic Provides are filtered. The %changelog mentions bug 741104 (Exclude
> private libraries from provides/requires).
> 
> Some investigation is needed.

Hi Michael.

I have added %__requires_exclude_* macros to prevent the libraries request from openmpi.
openmpi downgrading seems not resolve the problem.

Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-1.fc18.src.rpm

Comment 3 Michael Schwendt 2013-02-21 11:36:33 UTC
That sounds questionable. Either the libs are _private_ and nothing external ought to depend on them - then it's okay to hide their automatic Provides. Or external pieces may depend on them, and then it would not be okay to kill the RPM dependencies in any of the packages.

I'll mail openmpi-owner(s) and Cc you.

Comment 4 Paulo Andrade 2013-02-21 16:40:04 UTC
Since this package intersects with your ipopt, and my
coin-or-Ipopt review request, I did a simple review
request:


================================
MUST:

1. %build honors applicable compiler flags or justifies otherwise.
   Build does not honor compiler flags. See "grep -r CFLAGS" and
   "grep -r OPTC" in the BUILD dir. Need to either patch, or just
   pass CFLAGS to make call.

2. Changelog in prescribed format.
   Minor issue, just break the line between the 2 changelog entries.

3. Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
   beginning of %install.
   Self explanatory. Also remove the %clean section.

4. Each %files section contains %defattr if rpm < 4.4
   Note: %defattr present but not needed
   Remove %defattr from all %files sections.

5. Development files must be in a -devel package
   .so links are not in the -devel package and also should use
   a relative link (target is in the same directory).

6. Package does not contain duplicates in %files.
   Note: warning: File listed twice: /usr/lib64/MUMPS
   Self explanatory.

7. If (and only if) the source package includes the text of the license(s)
   in its own file, then that file, containing the text of the license(s)
   for the package is included in %doc.
   LICENSE file is not in %doc.
   README is installed and not set as %doc.
   Package is not owner of %{_docdir}/%{name}-%{version}.
   Since the -seq package does not require the main package (error?)
   it should also include LICENSE as %doc; I suggest making it require
   the main package to also silence the warning about it not requiring
   the main package...
   The .ps and .pdf documentation is not installed. I suggest
   "%doc doc/*.pdf" and "%doc doc/%.ps"

8. License file installed when any subpackage combination is installed.
   See 7.

9. Package must own all directories that it creates.
   As described in 8., package is not owner of %{_docdir}/%{name}-%{version}.


================================
SHOULD:

1. Buildroot is not present
   Note: Buildroot: present but not needed
   Just remove the
   BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
   line.

2. Package has no %clean section with rm -rf %{buildroot} (or
   $RPM_BUILD_ROOT)
   Note: %clean present but not required
   Just remove the %clean section.

3. Spec use %global instead of %define.
   Note: %define __provides_exclude_from
   %{_libdir}/openmpi/lib/(lib(mca|o|v)|openmpi/).*.so %define
   __requires_exclude libopen.*.so
   Self explanatory.

================================
EXTRA:

1. Please consider installing headers in /usr/include/MUMPS:
   $ ls rpms-unpacked/MUMPS-devel-4.10.0-1.fc18.x86_64.rpm/usr/include/|wc -l
   14
   this may need some minor patching or adding -IMUMPS to build.

2. -devel package should have:
   Requires: %{name}%{?_isa} = %{version}-%{release}
   instead of
   Requires: %{name} = %{version}-%{release}

3. Summary and description of the seq subpackage are a wrong, cut&paste
   of the -devel package.

4. Please make a examples subpackage with the examples subdir, verify
   the README there, and validate it works. *OR* make of the examples
   subdirectory a %check section. This would help a reviewer to press
   "x" in the "Package functions as described" field.

5. You should not do
   chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/?simpletest
   chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/input_*
   in %install. This just causes it to install ELF binary files without
   executable permission just for the bogus warning
   'script-without-shebang'

6. Instead of using a single mumps-extra.tar.gz tarball, You should add
   it as a Patch, with the proper link to
   http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/mumps/raring/files/head:/debian/patches/$PATCH_NAME
   and use %patch instead of calling patch in %build. At least, should
   use patch in %prep (that is, to help in "without prep" partial
   debug builds).
   Should also give a brief description of what the patch does, and
   if applicable, a link to where the patch was submitted upstream.



==============================================================================

Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
[!]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files directly in %_libdir.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
[!]: Package does not contain duplicates in %files.
     Note: warning: File listed twice: /usr/lib64/MUMPS
See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles


===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[!]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files directly in %_libdir.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[!]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[!]: Changelog in prescribed format.
[!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required
[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[!]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[!]: Package does not contain duplicates in %files.
     Note: warning: File listed twice: /usr/lib64/MUMPS
[x]: Permissions on files are set properly.
[-]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     seq
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[!]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[-]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/pcpa/913152-MUMPS/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 20480 bytes in 1 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[!]: Buildroot is not present
     Note: Buildroot: present but not needed
[!]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: %clean present but not required
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source1 (mumps-extra.tar.gz)
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[ ]: Package should compile and build into binary rpms on all supported
     architectures.
[ ]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[!]: Spec use %global instead of %define.
     Note: %define __provides_exclude_from
     %{_libdir}/openmpi/lib/(lib(mca|o|v)|openmpi/).*.so %define
     __requires_exclude libopen.*.so

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: MUMPS-devel-4.10.0-1.fc18.x86_64.rpm
          MUMPS-4.10.0-1.fc18.src.rpm
          MUMPS-debuginfo-4.10.0-1.fc18.x86_64.rpm
          MUMPS-seq-4.10.0-1.fc18.x86_64.rpm
          MUMPS-4.10.0-1.fc18.x86_64.rpm
MUMPS-devel.x86_64: W: no-documentation
MUMPS.src: W: invalid-url Source1: mumps-extra.tar.gz
MUMPS-debuginfo.x86_64: E: debuginfo-without-sources
MUMPS-seq.x86_64: W: no-documentation
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest
MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest
MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest
5 packages and 0 specfiles checked; 1 errors, 9 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint MUMPS-seq MUMPS-debuginfo MUMPS-devel MUMPS
MUMPS-seq.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmpiseq-4.10.0.so /lib64/libm.so.6
MUMPS-seq.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmpiseq-4.10.0.so /lib64/libgcc_s.so.1
MUMPS-seq.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmpiseq-4.10.0.so /lib64/libquadmath.so.0
MUMPS-seq.x86_64: W: no-documentation
MUMPS-debuginfo.x86_64: E: debuginfo-without-sources
MUMPS-devel.x86_64: W: no-documentation
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi_f77.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libopen-rte.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libopen-pal.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libscalapack.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacs.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /lib64/libpord-4.10.0.so
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /lib64/libgcc_s.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /lib64/libquadmath.so.0
MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so /lib64/libgcc_s.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so /lib64/libquadmath.so.0
MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi_f77.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libopen-rte.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libopen-pal.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libscalapack.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacs.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /lib64/libpord-4.10.0.so
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /lib64/libgcc_s.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /lib64/libquadmath.so.0
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi_f77.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libopen-rte.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libopen-pal.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libscalapack.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacs.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /lib64/libpord-4.10.0.so
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /lib64/libgcc_s.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /lib64/libquadmath.so.0
MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libopen-rte.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libopen-pal.so.4
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libscalapack.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacs.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /lib64/libpord-4.10.0.so
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /lib64/libgcc_s.so.1
MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0
4 packages and 0 specfiles checked; 1 errors, 61 warnings.
# echo 'rpmlint-done:'



Requires
--------
MUMPS-devel-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig
    MUMPS = 4.10.0-1.fc18

MUMPS-debuginfo-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    

MUMPS-seq-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgfortran.so.3()(64bit)
    libgfortran.so.3(GFORTRAN_1.0)(64bit)
    libgfortran.so.3(GFORTRAN_1.4)(64bit)
    libm.so.6()(64bit)
    libquadmath.so.0()(64bit)
    rtld(GNU_HASH)

MUMPS-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig
    libblas.so.3()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgfortran.so.3()(64bit)
    libgfortran.so.3(GFORTRAN_1.0)(64bit)
    libgfortran.so.3(GFORTRAN_1.4)(64bit)
    liblapack.so.3()(64bit)
    libm.so.6()(64bit)
    libmpi.so.1()(64bit)
    libmpi_f77.so.1()(64bit)
    libmpiblacs.so.1()(64bit)
    libmpiblacsCinit.so.1()(64bit)
    libmpiblacsF77init.so.1()(64bit)
    libmumps_common-4.10.0.so()(64bit)
    libpord-4.10.0.so()(64bit)
    libpthread.so.0()(64bit)
    libquadmath.so.0()(64bit)
    libscalapack.so.1()(64bit)
    rtld(GNU_HASH)



Provides
--------
MUMPS-devel-4.10.0-1.fc18.x86_64.rpm:
    
    MUMPS-devel = 4.10.0-1.fc18
    MUMPS-devel(x86-64) = 4.10.0-1.fc18

MUMPS-debuginfo-4.10.0-1.fc18.x86_64.rpm:
    
    MUMPS-debuginfo = 4.10.0-1.fc18
    MUMPS-debuginfo(x86-64) = 4.10.0-1.fc18

MUMPS-seq-4.10.0-1.fc18.x86_64.rpm:
    
    MUMPS-seq = 4.10.0-1.fc18
    MUMPS-seq(x86-64) = 4.10.0-1.fc18
    libmpiseq-4.10.0.so()(64bit)

MUMPS-4.10.0-1.fc18.x86_64.rpm:
    
    MUMPS = 4.10.0-1.fc18
    MUMPS(x86-64) = 4.10.0-1.fc18
    libcmumps-4.10.0.so()(64bit)
    libdmumps-4.10.0.so()(64bit)
    libmumps_common-4.10.0.so()(64bit)
    libpord-4.10.0.so()(64bit)
    libsmumps-4.10.0.so()(64bit)
    libzmumps-4.10.0.so()(64bit)



Unversioned so-files
--------------------
MUMPS-seq-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libmpiseq-4.10.0.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libcmumps-4.10.0.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libcmumps.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libdmumps-4.10.0.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libdmumps.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libmumps_common-4.10.0.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libmumps_common.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libpord-4.10.0.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libpord.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libsmumps-4.10.0.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libsmumps.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libzmumps-4.10.0.so
MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libzmumps.so

MD5-sum check
-------------
http://mumps.enseeiht.fr/MUMPS_4.10.0.tar.gz :
  CHECKSUM(SHA256) this package     : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933
  CHECKSUM(SHA256) upstream package : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review -v -m fedora-18-x86_64 -b 913152

Comment 5 Antonio T. (sagitter) 2013-02-22 11:47:11 UTC
Hi Paulo.
Thank you for cooperation.

I'm dedicated myself to the Make* files insomuch as I've forgotten all that in evidence. :P

(In reply to comment #4)
> Since this package intersects with your ipopt, and my
> coin-or-Ipopt review request, I did a simple review
> request:
> 
> 
> ================================
> MUST:
> 
> 1. %build honors applicable compiler flags or justifies otherwise.
>    Build does not honor compiler flags. See "grep -r CFLAGS" and
>    "grep -r OPTC" in the BUILD dir. Need to either patch, or just
>    pass CFLAGS to make call.

I've added all flags in the Make.par.inc and Make.seq.inc files directly.

> 
> 2. Changelog in prescribed format.
>    Minor issue, just break the line between the 2 changelog entries.

Fixed.

> 
> 3. Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
>    beginning of %install.
>    Self explanatory. Also remove the %clean section.

Fixed.

> 
> 4. Each %files section contains %defattr if rpm < 4.4
>    Note: %defattr present but not needed
>    Remove %defattr from all %files sections.

Fixed.

> 
> 5. Development files must be in a -devel package
>    .so links are not in the -devel package and also should use
>    a relative link (target is in the same directory).

Fixed.

> 
> 6. Package does not contain duplicates in %files.
>    Note: warning: File listed twice: /usr/lib64/MUMPS
>    Self explanatory.

Fixed.

> 
> 7. If (and only if) the source package includes the text of the license(s)
>    in its own file, then that file, containing the text of the license(s)
>    for the package is included in %doc.
>    LICENSE file is not in %doc.
>    README is installed and not set as %doc.
>    Package is not owner of %{_docdir}/%{name}-%{version}.
>    Since the -seq package does not require the main package (error?)
>    it should also include LICENSE as %doc; I suggest making it require
>    the main package to also silence the warning about it not requiring
>    the main package...
>    The .ps and .pdf documentation is not installed. I suggest
>    "%doc doc/*.pdf" and "%doc doc/%.ps"

Fixed.

> 
> 9. Package must own all directories that it creates.
>    As described in 8., package is not owner of %{_docdir}/%{name}-%{version}.
> 
> 

Fixed.

> ================================
> SHOULD:
> 
> 1. Buildroot is not present
>    Note: Buildroot: present but not needed
>    Just remove the
>    BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
>    line.

Fixed.
 
> 
> 2. Package has no %clean section with rm -rf %{buildroot} (or
>    $RPM_BUILD_ROOT)
>    Note: %clean present but not required
>    Just remove the %clean section.

Fixed.

> 
> 3. Spec use %global instead of %define.
>    Note: %define __provides_exclude_from
>    %{_libdir}/openmpi/lib/(lib(mca|o|v)|openmpi/).*.so %define
>    __requires_exclude libopen.*.so
>    Self explanatory.

Fixed.

> 
> ================================
> EXTRA:
> 
> 1. Please consider installing headers in /usr/include/MUMPS:
>    $ ls rpms-unpacked/MUMPS-devel-4.10.0-1.fc18.x86_64.rpm/usr/include/|wc -l
>    14
>    this may need some minor patching or adding -IMUMPS to build.

Fixed.

> 
> 2. -devel package should have:
>    Requires: %{name}%{?_isa} = %{version}-%{release}
>    instead of
>    Requires: %{name} = %{version}-%{release}

Fixed.

> 
> 3. Summary and description of the seq subpackage are a wrong, cut&paste
>    of the -devel package.

Fixed.

> 
> 4. Please make a examples subpackage with the examples subdir, verify
>    the README there, and validate it works. *OR* make of the examples
>    subdirectory a %check section. This would help a reviewer to press
>    "x" in the "Package functions as described" field.

I've added a 'examples' sub-package that contains README and all 'simpletest' files. But it seems to exist another problem by executing them:

 $ ./ssimpletest < input_simpletest_real
./ssimpletest: error while loading shared libraries: libmpi_f77.so.1: cannot open shared object file: No such file or directory


> 
> 5. You should not do
>    chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/?simpletest
>    chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/input_*
>    in %install. This just causes it to install ELF binary files without
>    executable permission just for the bogus warning
>    'script-without-shebang'

Fixed.

> 
> 6. Instead of using a single mumps-extra.tar.gz tarball, You should add
>    it as a Patch, with the proper link to
>   
> http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/mumps/raring/
> files/head:/debian/patches/$PATCH_NAME
>    and use %patch instead of calling patch in %build. At least, should
>    use patch in %prep (that is, to help in "without prep" partial
>    debug builds).
>    Should also give a brief description of what the patch does, and
>    if applicable, a link to where the patch was submitted upstream.


Fixed.
> 
> 
> 
> =============================================================================
> =
> 
> Package Review
> ==============
> 
> Key:
> [x] = Pass
> [!] = Fail
> [-] = Not applicable
> [?] = Not evaluated
> [ ] = Manual review needed
> 
> 
> Issues:
> =======
> [!]: Development (unversioned) .so files in -devel subpackage, if present.
>      Note: Unversioned so-files directly in %_libdir.
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
> [!]: Package does not contain duplicates in %files.
>      Note: warning: File listed twice: /usr/lib64/MUMPS
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles
> 

> 
> 
> Rpmlint (installed packages)
> ----------------------------
> # rpmlint MUMPS-seq MUMPS-debuginfo MUMPS-devel MUMPS
> MUMPS-seq.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libmpiseq-4.10.0.so /lib64/libm.so.6
> MUMPS-seq.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libmpiseq-4.10.0.so /lib64/libgcc_s.so.1
> MUMPS-seq.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libmpiseq-4.10.0.so /lib64/libquadmath.so.0
> MUMPS-seq.x86_64: W: no-documentation
> MUMPS-debuginfo.x86_64: E: debuginfo-without-sources
> MUMPS-devel.x86_64: W: no-documentation
> MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libmpi_f77.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libmpi.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libopen-rte.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libopen-pal.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libscalapack.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libmpiblacs.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libmpiblacsF77init.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so libmpiblacsCinit.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so /lib64/libpord-4.10.0.so
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so /lib64/libgcc_s.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libcmumps-4.10.0.so /lib64/libquadmath.so.0
> MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so
> exit.5
> MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libmumps_common-4.10.0.so /lib64/libgcc_s.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libmumps_common-4.10.0.so /lib64/libquadmath.so.0
> MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so
> exit.5
> MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libmpi_f77.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libmpi.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libopen-rte.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libopen-pal.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libscalapack.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libmpiblacs.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libmpiblacsF77init.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so libmpiblacsCinit.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so /lib64/libpord-4.10.0.so
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so /lib64/libgcc_s.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libdmumps-4.10.0.so /lib64/libquadmath.so.0
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libmpi_f77.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libmpi.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libopen-rte.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libopen-pal.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libscalapack.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libmpiblacs.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libmpiblacsF77init.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so libmpiblacsCinit.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so /lib64/libpord-4.10.0.so
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so /lib64/libgcc_s.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libzmumps-4.10.0.so /lib64/libquadmath.so.0
> MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libmpi.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libopen-rte.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libopen-pal.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libscalapack.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libmpiblacs.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libmpiblacsF77init.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so libmpiblacsCinit.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so /lib64/libpord-4.10.0.so
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so /lib64/libgcc_s.so.1
> MUMPS.x86_64: W: unused-direct-shlib-dependency
> /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0
> 4 packages and 0 specfiles checked; 1 errors, 61 warnings.
> # echo 'rpmlint-done:'
>

'unused-direct-shlib-dependency' warnings seem the origin of dependency problems during installation.
Sincerely, I don't know how resolve them. After a searching, it seems that the flags '-Wl --as-needed' can be useful but it seems me they do not work.

Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-2.fc18.src.rpm

Comment 6 Paulo Andrade 2013-02-22 15:59:09 UTC
> > 4. Please make a examples subpackage with the examples subdir, verify
> >    the README there, and validate it works. *OR* make of the examples
> >    subdirectory a %check section. This would help a reviewer to press
> >    "x" in the "Package functions as described" field.
> 
> I've added a 'examples' sub-package that contains README and all
> 'simpletest' files. But it seems to exist another problem by executing them:
> 
>  $ ./ssimpletest < input_simpletest_real
> ./ssimpletest: error while loading shared libraries: libmpi_f77.so.1: cannot
> open shared object file: No such file or directory

  You probably need write some wrapper script(s) to
"module load mpi"

$ cd BUILD/MUMPS_4.10.0/examples/
$ ./ssimpletest < input_simpletest_real
./ssimpletest: error while loading shared libraries: libmpi_f77.so.1: cannot open shared object file: No such file or directory

$ module load mpi
$ ./ssimpletest < input_simpletest_real
 ERROR in MPI_ALLREDUCE, DATATYPE=           7
$ ./dsimpletest < input_simpletest_real
 ERROR in MPI_ALLREDUCE, DATATYPE=           7

$ mpirun -np 2 ./ssimpletest < input_simpletest_real
 ERROR in MPI_ALLREDUCE, DATATYPE=           7
 ERROR in MPI_ALLREDUCE, DATATYPE=           7

It appears to not be working...

[...]
> > MUMPS.x86_64: W: unused-direct-shlib-dependency
> > /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0
> > 4 packages and 0 specfiles checked; 1 errors, 61 warnings.
> > # echo 'rpmlint-done:'
> >
> 
> 'unused-direct-shlib-dependency' warnings seem the origin of dependency
> problems during installation.
> Sincerely, I don't know how resolve them. After a searching, it seems that
> the flags '-Wl --as-needed' can be useful but it seems me they do not work.

I am not sure about this either, using the last example, the the link command
line does not have an explicit -lquadmath, and it should not be linked by
gfotran:

$ grep quadmath /usr/lib/gcc/x86_64-redhat-linux/4.8.0/libgfortran.spec
*lib: %{static-libgfortran:--as-needed} -lquadmath %{static-libgfortran:--no-as-needed} -lm %(libgcc) %(liborig)

but something is pulling it.

the link command line is:

gfortran -shared smumps_part1.o smumps_part2.o smumps_part3.o smumps_part4.o smumps_part5.o smumps_part6.o smumps_part7.o smumps_part8.o smumps_comm_buffer.o smumps_load.o smumps_c.o smumps_ooc_buffer.o smumps_ooc.o smumps_struc_def.o -Wl,-soname,libsmumps-4.10.0.so -L../lib -lmumps_common   -L../PORD/lib/ -lpord  -L../libseq -lmpiseq -lblas  -o ../lib/libsmumps-4.10.0.so -Wl,-z,defs

Comment 7 Antonio T. (sagitter) 2013-02-23 10:50:32 UTC
(In reply to comment #6)
> 
> [...]
> > > MUMPS.x86_64: W: unused-direct-shlib-dependency
> > > /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0
> > > 4 packages and 0 specfiles checked; 1 errors, 61 warnings.
> > > # echo 'rpmlint-done:'
> > >
> > 
> > 'unused-direct-shlib-dependency' warnings seem the origin of dependency
> > problems during installation.
> > Sincerely, I don't know how resolve them. After a searching, it seems that
> > the flags '-Wl --as-needed' can be useful but it seems me they do not work.
> 
> I am not sure about this either, using the last example, the the link command
> line does not have an explicit -lquadmath, and it should not be linked by
> gfotran:
> 
> $ grep quadmath /usr/lib/gcc/x86_64-redhat-linux/4.8.0/libgfortran.spec
> *lib: %{static-libgfortran:--as-needed} -lquadmath
> %{static-libgfortran:--no-as-needed} -lm %(libgcc) %(liborig)
> 
> but something is pulling it.
> 
> the link command line is:
> 
> gfortran -shared smumps_part1.o smumps_part2.o smumps_part3.o smumps_part4.o
> smumps_part5.o smumps_part6.o smumps_part7.o smumps_part8.o
> smumps_comm_buffer.o smumps_load.o smumps_c.o smumps_ooc_buffer.o
> smumps_ooc.o smumps_struc_def.o -Wl,-soname,libsmumps-4.10.0.so -L../lib
> -lmumps_common   -L../PORD/lib/ -lpord  -L../libseq -lmpiseq -lblas  -o
> ../lib/libsmumps-4.10.0.so -Wl,-z,defs

Do you think we can't do nothing ?

Comment 8 Paulo Andrade 2013-02-23 16:56:11 UTC
I think the command line is somewhat messed, and
should add linker (-Wl) commands before objects, but
the -Wl,soname... last in the command line. Order
of options (usually) matter when linking. If
adding -Wl,-as-needed, it should also come
before objects, or it would not consider the object
files specified after it, and you would have an
underlink issue instead of overlink.

Why it must be called libsmumps-4.10.0.so and not
libsmumps.so.4.10.0 ?

Comment 9 Antonio T. (sagitter) 2013-02-23 17:44:10 UTC
(In reply to comment #8)
> I think the command line is somewhat messed, and
> should add linker (-Wl) commands before objects, but
> the -Wl,soname... last in the command line. Order
> of options (usually) matter when linking. If
> adding -Wl,-as-needed, it should also come
> before objects, or it would not consider the object
> files specified after it, and you would have an
> underlink issue instead of overlink.
> 
> Why it must be called libsmumps-4.10.0.so and not
> libsmumps.so.4.10.0 ?

At this point, I'm blocked by my knowledges which are limited in this field.
You think I had to study for a long time how Makefile.inc are used during compilation and probably it would have not been so difficult for an expert programmer.

About command line flags, I've not idea why he who has written the patches then has arranged those flags in that way. :)

How would you write that line ?

Comment 10 Paulo Andrade 2013-02-23 18:35:38 UTC
(In reply to comment #9)
> At this point, I'm blocked by my knowledges which are limited in this field.
> You think I had to study for a long time how Makefile.inc are used during
> compilation and probably it would have not been so difficult for an expert
> programmer.

  I think you should focus first on getting the examples
to show something more helpful :-) The error messages
 ERROR in MPI_ALLREDUCE, DATATYPE=           7
are not much encouraging.

> About command line flags, I've not idea why he who has written the patches
> then has arranged those flags in that way. :)

  Usually this is not much of an issue, and it it only
a rpmlint warning.

  There is a small chance of problems if one intends
to run debian binaries in fedora if changing the soname
to match the package version, so, probably better to
not let it be the cause of incompatibility.

> How would you write that line ?

  I would experiment a bit, no ready response, but I
would at first move the -Wl,-z,defs earlier in the
command line, and ensure any -L and -l are before
object file names, and also add -Wl,-as-needed.

  BTW, you should not hardcode CFLAGS in the SOURCEX
Makefile.*, and instead patch them. Could add a regex
pattern there like @@CFLAGS@@, and in the spec run
sed -e 's|@@CFLAGS@@|%{optflags}|g' -i Makefile.*

Comment 11 Antonio T. (sagitter) 2013-02-24 19:47:02 UTC
(In reply to comment #10)
> (In reply to comment #9)
> > At this point, I'm blocked by my knowledges which are limited in this field.
> > You think I had to study for a long time how Makefile.inc are used during
> > compilation and probably it would have not been so difficult for an expert
> > programmer.
> 
>   I think you should focus first on getting the examples
> to show something more helpful :-) The error messages
>  ERROR in MPI_ALLREDUCE, DATATYPE=           7
> are not much encouraging.
> 

Hi Paulo.

I have contacted maintainer team about this error: https://listes.ens-lyon.fr/sympa/arc/mumps-users/2013-02/msg00030.html

This error may be tied with the fake 'mpi.h' file included in the source.

I think I'm not able to take on these issues, if you want take this package, I would agree.  
Or in case I can co-maintain it with you.

Comment 12 Antonio T. (sagitter) 2013-02-25 15:03:41 UTC
Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-3.fc18.src.rpm

- Following the upstream indications, I've linked openmpi header/libs files to build sequential version.
This seems fix the examples' errors :D :

$ mpirun -np 2 ./ssimpletest < input_simpletest_real
Entering SMUMPS driver with JOB, N, NZ =   6           5             12

 SMUMPS 4.10.0        
L U Solver for unsymmetric matrices
Type of parallelism: Working host

 ****** ANALYSIS STEP ********

 ... Structural symmetry (in percent)=   92
 Density: NBdense, Average, Median   =    0    2    1
 ... No column permutation
 Ordering based on AMF 

Leaving analysis phase with  ...
INFOG(1)                                       =               0
INFOG(2)                                       =               0
 -- (20) Number of entries in factors (estim.) =              15
 --  (3) Storage of factors  (REAL, estimated) =              15
 --  (4) Storage of factors  (INT , estimated) =              50
 --  (5) Maximum frontal size      (estimated) =               3
 --  (6) Number of nodes in the tree           =               3
 -- (32) Type of analysis effectively used     =               1
 --  (7) Ordering option effectively used      =               2
ICNTL(6) Maximum transversal option            =               0
ICNTL(7) Pivot order option                    =               7
Percentage of memory relaxation (effective)    =              20
Number of level 2 nodes                        =               0
Number of split nodes                          =               0
RINFOG(1) Operations during elimination (estim)=   1.900D+01
 ** Rank of proc needing largest memory in IC facto        :         0
 ** Estimated corresponding MBYTES for IC facto            :         1
 ** Estimated avg. MBYTES per work. proc at facto (IC)     :         1
 ** TOTAL     space in MBYTES for IC factorization         :         2
 ** Rank of proc needing largest memory for OOC facto      :         0
 ** Estimated corresponding MBYTES for OOC facto           :         1
 ** Estimated avg. MBYTES per work. proc at facto (OOC)    :         1
 ** TOTAL     space in MBYTES for OOC factorization        :         2

 ****** FACTORIZATION STEP ********


 GLOBAL STATISTICS PRIOR NUMERICAL FACTORIZATION ...
 NUMBER OF WORKING PROCESSES              =           2
 OUT-OF-CORE OPTION (ICNTL(22))           =           0
 REAL SPACE FOR FACTORS                   =          15
 INTEGER SPACE FOR FACTORS                =          50
 MAXIMUM FRONTAL SIZE (ESTIMATED)         =           3
 NUMBER OF NODES IN THE TREE              =           3
 Convergence error after scaling for ONE-NORM (option 7/8)   = 0.38D+00
 Maximum effective relaxed size of S              =         147
 Average effective relaxed size of S              =         143
 GLOBAL TIME FOR MATRIX DISTRIBUTION       =      0.0000
 ** Memory relaxation parameter ( ICNTL(14)  )            :        20
 ** Rank of processor needing largest memory in facto     :         0
 ** Space in MBYTES used by this processor for facto      :         1
 ** Avg. Space in MBYTES per working proc during facto    :         1

 ELAPSED TIME FOR FACTORIZATION           =      0.0008
 Maximum effective space used in S   (KEEP8(67)   =          12
 Average effective space used in S   (KEEP8(67)   =           8
 ** EFF Min: Rank of processor needing largest memory :         0
 ** EFF Min: Space in MBYTES used by this processor   :         1
 ** EFF Min: Avg. Space in MBYTES per working proc    :         1

 GLOBAL STATISTICS 
 RINFOG(2)  OPERATIONS IN NODE ASSEMBLY   = 2.000D+00
 ------(3)  OPERATIONS IN NODE ELIMINATION= 1.900D+01
 INFOG (9)  REAL SPACE FOR FACTORS        =          15
 INFOG(10)  INTEGER SPACE FOR FACTORS     =          50
 INFOG(11)  MAXIMUM FRONT SIZE            =           3
 INFOG(29)  NUMBER OF ENTRIES IN FACTORS  =          15
 INFOG(12) NB OF OFF DIAGONAL PIVOTS      =           0
 INFOG(13)  NUMBER OF DELAYED PIVOTS      =           0
 INFOG(14)  NUMBER OF MEMORY COMPRESS     =           0
 KEEP8(108) Extra copies IP stacking      =           0


 ****** SOLVE & CHECK STEP ********


 STATISTICS PRIOR SOLVE PHASE     ...........
 NUMBER OF RIGHT-HAND-SIDES                    =           1
 BLOCKING FACTOR FOR MULTIPLE RHS              =           1
 ICNTL (9)                                     =           1
  --- (10)                                     =           0
  --- (11)                                     =           0
  --- (20)                                     =           0
  --- (21)                                     =           0
  --- (30)                                     =           0
 ** Rank of processor needing largest memory in solve     :         0
 ** Space in MBYTES used by this processor for solve      :         0
 ** Avg. Space in MBYTES per working proc during solve    :         0
  Solution is    1.00000048       2.00000024       3.00000000       4.00000000       4.99999952    
Entering SMUMPS driver with JOB, N, NZ =  -2           5             12

-  New warnings appear when MUMPS is installed:

MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridexit_

I think they are caused by the same problems of 'unused-direct-shlib-dependency' warnings.

Comment 13 Paulo Andrade 2013-02-25 16:25:27 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > (In reply to comment #9)
> > > At this point, I'm blocked by my knowledges which are limited in this field.
> > > You think I had to study for a long time how Makefile.inc are used during
> > > compilation and probably it would have not been so difficult for an expert
> > > programmer.
> > 
> >   I think you should focus first on getting the examples
> > to show something more helpful :-) The error messages
> >  ERROR in MPI_ALLREDUCE, DATATYPE=           7
> > are not much encouraging.
> > 
> 
> Hi Paulo.

  Hi Antonio,

> I have contacted maintainer team about this error:
> https://listes.ens-lyon.fr/sympa/arc/mumps-users/2013-02/msg00030.html
> 
> This error may be tied with the fake 'mpi.h' file included in the source.
> 
> I think I'm not able to take on these issues, if you want take this package,
> I would agree.  
> Or in case I can co-maintain it with you.

  You can do it :-)

  I even assigned the bug to myself so I could act as your sponsor.

  I suggest you add a %check in the spec, somewhat like:

%check
module load mpi
LD_LIBRARY_PATH=$PWD:../libmumps_seq:$LD_LIBRARY_PATH ./ssimpletest < input_simpletest_real
LD_LIBRARY_PATH=$PWD:../lib:$LD_LIBRARY_PATH mpirun -np 2 ./ssimpletest < input_simpletest_real

  I think it should also have some proper clarification of when and
how libmpiseq-4.10.0.so is used, also, it does not have a "simpler"
libmpiseq.so symlink to it like the other libraries generated. Is it
really required to generate the "sequential" mumps in the Fedora
environment?
If yes, maybe should also make a different examples build exercising it.
If not, probably could simplify significantly the spec by making only
the "non sequential" build.

About the blacs_gridexit_ it is defined at:
$ objdump -T /usr/lib64/openmpi/lib/libmpiblacs.so.1| grep  blacs_gridexit_
0000000000009d40 g    DF .text  0000000000000103  Base        blacs_gridexit_

and libzmumps.so is linked to it, so, it looks more likely rpmlint
does not resolve it because it did not run "module load mpi" in its
environment.

Comment 14 Antonio T. (sagitter) 2013-02-25 20:38:19 UTC
(In reply to comment #13)
> 
>   You can do it :-)
> 
>   I even assigned the bug to myself so I could act as your sponsor.

Great ! :D

> 
>   I suggest you add a %check in the spec, somewhat like:
> 
> %check
> module load mpi
> LD_LIBRARY_PATH=$PWD:../libmumps_seq:$LD_LIBRARY_PATH ./ssimpletest <
> input_simpletest_real
> LD_LIBRARY_PATH=$PWD:../lib:$LD_LIBRARY_PATH mpirun -np 2 ./ssimpletest <
> input_simpletest_real

Done.

Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-3.fc18.src.rpm

> 
>   I think it should also have some proper clarification of when and
> how libmpiseq-4.10.0.so is used, also, it does not have a "simpler"
> libmpiseq.so symlink to it like the other libraries generated. Is it
> really required to generate the "sequential" mumps in the Fedora
> environment?
> If yes, maybe should also make a different examples build exercising it.
> If not, probably could simplify significantly the spec by making only
> the "non sequential" build.

Well, this is what's reported in README file:

Sequential version
------------------
You can use the parallel MPI version of MUMPS on a single
processor. If you only plan to use MUMPS on a uniprocessor
machine, and do not want to install parallel libraries
such as MPI, ScaLAPACK, etc... then it might be more convenient
to use one of the Makefile.<ARCH>.SEQ to build a sequential
version of MUMPS instead of a parallel one.

It seems me that can be used the only parallel version. Hold the sequential one can be an option.

Comment 15 Paulo Andrade 2013-02-25 22:54:31 UTC
You should bump the release for every review request update,
that is, the last one should be Release 4.

Things that still should be done include:

1. You added
sed -e 's|@@CFLAGS@@|%{optflags}|g' -i Makefile.inc
to the spec as I suggested, but it is pointless, because
SOURCE1 (Makefile.seq.inc) and SOURCE2 (Makefile.par.inc)
still hardcode CFLAGS, that is, you should change those
to the pseudo patch:
-OPTC    = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
+OPTC    = -@@CFLAGS@@

2. Following above, the OPTF variable should also use
%{optflags}, and not the hardcoded "-O -Dintel_ -DALLOW_NON_INIT"
that is, should replace the -O with %{optflags}.

3. The variable OPTL appears to be the best place to use
-Wl,-as-needed, that is, the pseudo patch:
-OPTL    = -O
-OPTL    = -Wl,-as-needed

About the sequential vs parallel versions, it may not be a
runtime choice, so, should also build a version of the examples
using it the "seq" libraries, and test them. Should be something
like:
cp -ar examples examples.seq
sed -e 's|libdir = $(topdir)/lib|libdir = $(topdir)/libmums_seq' -i examples.seq/Makefile
This would also need some extra patching to add a
examples.seq target to the toplevel Makefile. Oterhwise,
you cannot know if the sequential packages and libraries
are functional. I can see the "seq" libraries as an
option when there is no functional mpi, otherwise, I
think it would be easier to just build the parallel
version.

Either way, I think it is doing a bogus build in the
libmumps_seq directory, because, if I understand it
correctly, libmpiseq-4.10.0.so should be a wrapper
to not need to link to the mpi libraries, but every
other library in that directory is linked to the
mpi libraries. And these chunks are duplicated
in the spec for the "seq" and "par" builds:

MUMPS_MPI=openmpi
MUMPS_INCDIR=-I/usr/include/openmpi-%{_arch}

MUMPS_LIBF77="\
-L%{_libdir}/openmpi -L%{_libdir}/openmpi/lib \
-lmpi_f77 -lmpi -lopen-rte \
-lopen-pal -lscalapack -lmpiblacs \
-lmpiblacsF77init -lmpiblacsCinit -llapack"

make MUMPS_MPI="$MUMPS_MPI" \
     MUMPS_INCDIR="$MUMPS_INCDIR" \
     MUMPS_LIBF77="$MUMPS_LIBF77" \
     all

Maybe the libraries should not be explicitly
linked to the mpi libraries? And only actual
binaries linked to; hmm, sanity tells it should
be other way around to allow runtime choice, so,
the MUMPS-seq package should include the libraries
in the libmumps_seq directory (and those cannot be
linked to mpi, but to libmpiseq-4.10.0.so), and then,
have the 2 packages conflict with each other, or
use alternatives or environment-modules to allow
both to be installed at the same time.


Long history short, for the sake of review, I would
be satisfied if you do the simpler approach of
dropping the "seq" build, and only do the "par"
build.

Comment 16 Antonio T. (sagitter) 2013-02-26 14:58:28 UTC
(In reply to comment #15)
> You should bump the release for every review request update,
> that is, the last one should be Release 4.

Yes. 

> 
> Things that still should be done include:
> 
> 1. You added
> sed -e 's|@@CFLAGS@@|%{optflags}|g' -i Makefile.inc
> to the spec as I suggested, but it is pointless, because
> SOURCE1 (Makefile.seq.inc) and SOURCE2 (Makefile.par.inc)
> still hardcode CFLAGS, that is, you should change those
> to the pseudo patch:
> -OPTC    = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> -fstack-protector --param=ssp-buffer-size=4
> +OPTC    = -@@CFLAGS@@
> 
> 2. Following above, the OPTF variable should also use
> %{optflags}, and not the hardcoded "-O -Dintel_ -DALLOW_NON_INIT"
> that is, should replace the -O with %{optflags}.

Done.

> 
> 3. The variable OPTL appears to be the best place to use
> -Wl,-as-needed, that is, the pseudo patch:
> -OPTL    = -O
> -OPTL    = -Wl,-as-needed

Okay but I don't know where impose this flags.


> 
> Long history short, for the sake of review, I would
> be satisfied if you do the simpler approach of
> dropping the "seq" build, and only do the "par"
> build.

I agree. 
I remove 'seq' sub-package building.

Comment 17 Antonio T. (sagitter) 2013-02-27 20:14:45 UTC
(In reply to comment #16)
> 
> > 
> > 3. The variable OPTL appears to be the best place to use
> > -Wl,-as-needed, that is, the pseudo patch:
> > -OPTL    = -O
> > -OPTL    = -Wl,-as-needed
> 

These flags now are inserted directly in 'shared-mumps.patch' for 'libopen-pal' and 'libopen-rte' libraries expressly indicated; this repairs the problem during installation already mentioned since first comment (#1).

As well it repairs 'unused-direct-shlib-dependency' warnings already mentioned in comment#4:

> MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libopen-pal.so.4
> MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libopen-pal.so.4

Furthermore, I've added '-Wuninitialized -Wno-maybe-uninitialized' in shared-mumps.patch to silence '-Wmaybe-uninizialized' warnings.


Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-6.fc18.src.rpm

Comment 18 Paulo Andrade 2013-02-28 16:49:23 UTC
Almost there, should be close to done now :-)

1. Development (unversioned) .so files in -devel subpackage, if present.
   Note: Unversioned so-files directly in %_libdir.
   ---
   You got it reversed :-)
   lib*-%{version}.so should go in the main package, and
   lib*.so should go in the -devel package, example:
   $ file /usr/lib64/libcmumps.so
   /usr/lib64/libcmumps.so: symbolic link to `/usr/lib64/libcmumps-4.10.0.so'
   $ rpm -qf /usr/lib64/libcmumps.so /usr/lib64/libcmumps-4.10.0.so
   MUMPS-4.10.0-6.fc19.x86_64
   MUMPS-devel-4.10.0-6.fc19.x86_64


2. Large documentation must go in a -doc subpackage.
   Note: Documentation size is 1669120 bytes in 6 files.
   ---
   I suggest not installing the .ps file, and then up to you if
   creating or not a -doc package just for the .pdf. Since this
   packge is expected to be a dependency of others, probably a
   good idea do create a -doc package.
   The ChangeLog file should go to the -devel package also.

3. SourceX / PatchY prefixed with %{name}.
   Note: Patch0 (examples-mpilibs.patch) Patch1 (shared-pord.patch) Source1
   (Makefile.par.inc) Patch2 (shared-mumps.patch)
   ---
   You may rename the sources to prefix it with MUMPS-, but it is
   optional (just to reduce the number the warnings)

============================
Extra:
1. Add openssh-clients to BuildRequires, optionally making all the
   %check conditional. Google'ing a bit I found the reason it would
   fail by missing ssh or rsh:
   http://www.open-mpi.org/community/lists/users/2010/07/13503.php

2. About the undefined-non-weak-symbol and unused-direct-shlib-dependency,
   unless someone else has some comments, I believe it is ok, as the
   package is functional. And it appears bogus, for example. it tells:
   W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1
   and then
   W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_
   but the mpi_reduce_ symbol is defined in libmpi_f77.so.1
   The warning should be either because of the mpi libraries not in
   LD_LIBRARY_PATH at rpmlint runtime, or maybe (unlikely) because of the
   reversed links in the main package and libraries in the -devel one
   as explained above.

----

Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
[!]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files directly in %_libdir.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 1669120 bytes in 6 files.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation


===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[!]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files directly in %_libdir.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     devel, %package examples
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/pcpa/review-MUMPS/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[!]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 1669120 bytes in 6 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Patch0 (examples-mpilibs.patch) Patch1 (shared-pord.patch) Source1
     (Makefile.par.inc) Patch2 (shared-mumps.patch)
[x]: SourceX is a working URL.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 1669120 bytes in /usr/share 1658880
     MUMPS-4.10.0-6.fc18.x86_64.rpm 10240 MUMPS-
     examples-4.10.0-6.fc18.x86_64.rpm


Rpmlint
-------
Checking: MUMPS-4.10.0-6.fc18.src.rpm
          MUMPS-devel-4.10.0-6.fc18.x86_64.rpm
          MUMPS-debuginfo-4.10.0-6.fc18.x86_64.rpm
          MUMPS-4.10.0-6.fc18.x86_64.rpm
          MUMPS-examples-4.10.0-6.fc18.x86_64.rpm
MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5
MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5
MUMPS-devel.x86_64: W: no-documentation
MUMPS.x86_64: E: no-binary
MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_real
MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_cmplx
5 packages and 0 specfiles checked; 3 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint MUMPS-examples MUMPS-debuginfo MUMPS-devel MUMPS
MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_real
MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_cmplx
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_abort_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_wtime_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_get_processor_name_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_type_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_pack_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_type_commit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_isend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_split_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_get_count_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so numroc_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_test_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so blacs_gridinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_iprobe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_gather_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_wait_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_initialized_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_reduce_scatter_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_waitall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_ssend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_unpack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_irecv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so psgetrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_alltoall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_cancel_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_pack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_barrier_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so pspotrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_probe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_recv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_request_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_send_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so psgetrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so blacs_gridinfo_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_op_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_gatherv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so descinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so blacs_gridexit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_op_create_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_type_contiguous_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_dup_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so pspotrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_waitany_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libscalapack.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacs.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_abort_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_wtime_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_get_processor_name_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_type_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_pack_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_type_commit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_isend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_split_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_get_count_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so numroc_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_test_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so blacs_gridinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_iprobe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_gather_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_wait_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdpotrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_initialized_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_scatter_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_waitall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_ssend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_unpack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_irecv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdgetrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_alltoall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_cancel_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_pack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_barrier_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_probe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_recv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_request_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_send_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so blacs_gridinfo_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_op_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_gatherv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so descinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so blacs_gridexit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_op_create_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdpotrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdgetrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_type_contiguous_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_dup_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_waitany_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi_f77.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libscalapack.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacs.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_abort_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_wtime_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_get_processor_name_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_type_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_pack_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_type_commit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_isend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_split_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_get_count_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so numroc_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_test_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so blacs_gridinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_iprobe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_gather_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_wait_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_initialized_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_reduce_scatter_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_waitall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_ssend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_unpack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcgetrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_irecv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_alltoall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcpotrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_cancel_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_pack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_barrier_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_probe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_recv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcpotrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_request_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_send_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so blacs_gridinfo_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_op_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_gatherv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so descinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so blacs_gridexit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_op_create_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcgetrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_type_contiguous_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_dup_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_waitany_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi_f77.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libscalapack.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacs.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_abort_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_wtime_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_get_processor_name_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpi_f77.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpi.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libscalapack.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpiblacs.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpiblacsF77init.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpiblacsCinit.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_abort_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_wtime_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_get_processor_name_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_reduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_type_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_pack_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_type_commit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_isend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_split_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_get_count_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so numroc_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_test_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_iprobe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_rank_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_gather_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_wait_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzpotrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_initialized_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_reduce_scatter_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzpotrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_waitall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_ssend_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_unpack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_irecv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_alltoall_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_cancel_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_pack_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_barrier_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_probe_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_recv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_request_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_send_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridinfo_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_op_free_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_gatherv_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so descinit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_allreduce_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzgetrf_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridexit_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_op_create_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_size_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_type_contiguous_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzgetrs_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_dup_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_waitany_
MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_bcast_
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi_f77.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libscalapack.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacs.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsF77init.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsCinit.so.1
MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3
MUMPS-devel.x86_64: W: no-documentation
MUMPS.x86_64: E: no-binary
4 packages and 0 specfiles checked; 3 errors, 253 warnings.
# echo 'rpmlint-done:'



Requires
--------
MUMPS-devel-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig
    MUMPS(x86-64) = 4.10.0-6.fc18
    libblas.so.3()(64bit)
    libc.so.6()(64bit)
    libgfortran.so.3()(64bit)
    libgfortran.so.3(GFORTRAN_1.0)(64bit)
    libgfortran.so.3(GFORTRAN_1.4)(64bit)
    liblapack.so.3()(64bit)
    libm.so.6()(64bit)
    libmpi.so.1()(64bit)
    libmpi_f77.so.1()(64bit)
    libmpiblacs.so.1()(64bit)
    libmpiblacsCinit.so.1()(64bit)
    libmpiblacsF77init.so.1()(64bit)
    libmumps_common-4.10.0.so()(64bit)
    libpord-4.10.0.so()(64bit)
    libpthread.so.0()(64bit)
    libscalapack.so.1()(64bit)
    rtld(GNU_HASH)

MUMPS-debuginfo-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    

MUMPS-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig

MUMPS-examples-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    MUMPS(x86-64) = 4.10.0-6.fc18
    libc.so.6()(64bit)
    libcmumps-4.10.0.so()(64bit)
    libdmumps-4.10.0.so()(64bit)
    libgfortran.so.3()(64bit)
    libgfortran.so.3(GFORTRAN_1.0)(64bit)
    libgfortran.so.3(GFORTRAN_1.4)(64bit)
    libmpi_f77.so.1()(64bit)
    libsmumps-4.10.0.so()(64bit)
    libzmumps-4.10.0.so()(64bit)
    rtld(GNU_HASH)



Provides
--------
MUMPS-devel-4.10.0-6.fc18.x86_64.rpm:
    
    MUMPS-devel = 4.10.0-6.fc18
    MUMPS-devel(x86-64) = 4.10.0-6.fc18
    libcmumps-4.10.0.so()(64bit)
    libdmumps-4.10.0.so()(64bit)
    libmumps_common-4.10.0.so()(64bit)
    libpord-4.10.0.so()(64bit)
    libsmumps-4.10.0.so()(64bit)
    libzmumps-4.10.0.so()(64bit)

MUMPS-debuginfo-4.10.0-6.fc18.x86_64.rpm:
    
    MUMPS-debuginfo = 4.10.0-6.fc18
    MUMPS-debuginfo(x86-64) = 4.10.0-6.fc18

MUMPS-4.10.0-6.fc18.x86_64.rpm:
    
    MUMPS = 4.10.0-6.fc18
    MUMPS(x86-64) = 4.10.0-6.fc18

MUMPS-examples-4.10.0-6.fc18.x86_64.rpm:
    
    MUMPS-examples = 4.10.0-6.fc18
    MUMPS-examples(x86-64) = 4.10.0-6.fc18



Unversioned so-files
--------------------
MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libcmumps.so
MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libdmumps.so
MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libmumps_common.so
MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libpord.so
MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libsmumps.so
MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libzmumps.so

MD5-sum check
-------------
http://mumps.enseeiht.fr/MUMPS_4.10.0.tar.gz :
  CHECKSUM(SHA256) this package     : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933
  CHECKSUM(SHA256) upstream package : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review -v -r -n MUMPS

Comment 19 Antonio T. (sagitter) 2013-02-28 18:22:23 UTC
(In reply to comment #18)
> Almost there, should be close to done now :-)
> 
> 1. Development (unversioned) .so files in -devel subpackage, if present.
>    Note: Unversioned so-files directly in %_libdir.
>    ---
>    You got it reversed :-)
>    lib*-%{version}.so should go in the main package, and
>    lib*.so should go in the -devel package, example:
>    $ file /usr/lib64/libcmumps.so
>    /usr/lib64/libcmumps.so: symbolic link to `/usr/lib64/libcmumps-4.10.0.so'
>    $ rpm -qf /usr/lib64/libcmumps.so /usr/lib64/libcmumps-4.10.0.so
>    MUMPS-4.10.0-6.fc19.x86_64
>    MUMPS-devel-4.10.0-6.fc19.x86_64
> 
> 
> 2. Large documentation must go in a -doc subpackage.
>    Note: Documentation size is 1669120 bytes in 6 files.
>    ---
>    I suggest not installing the .ps file, and then up to you if
>    creating or not a -doc package just for the .pdf. Since this
>    packge is expected to be a dependency of others, probably a
>    good idea do create a -doc package.
>    The ChangeLog file should go to the -devel package also.
> 
> 3. SourceX / PatchY prefixed with %{name}.
>    Note: Patch0 (examples-mpilibs.patch) Patch1 (shared-pord.patch) Source1
>    (Makefile.par.inc) Patch2 (shared-mumps.patch)
>    ---
>    You may rename the sources to prefix it with MUMPS-, but it is
>    optional (just to reduce the number the warnings)
> 
> ============================
> Extra:
> 1. Add openssh-clients to BuildRequires, optionally making all the
>    %check conditional. Google'ing a bit I found the reason it would
>    fail by missing ssh or rsh:
>    http://www.open-mpi.org/community/lists/users/2010/07/13503.php
> 
> 2. About the undefined-non-weak-symbol and unused-direct-shlib-dependency,
>    unless someone else has some comments, I believe it is ok, as the
>    package is functional. And it appears bogus, for example. it tells:
>    W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so
> libmpi_f77.so.1
>    and then
>    W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_
>    but the mpi_reduce_ symbol is defined in libmpi_f77.so.1
>    The warning should be either because of the mpi libraries not in
>    LD_LIBRARY_PATH at rpmlint runtime, or maybe (unlikely) because of the
>    reversed links in the main package and libraries in the -devel one
>    as explained above.
> 
> ----
> 

Fixed. :)

Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-7.fc18.src.rpm

Comment 20 Paulo Andrade 2013-03-02 03:52:09 UTC
Only 2 minor issues:

Add an ending "." to the description of the
devel and examples packages.

No need to %post and %postun in the devel
subpackage; ldconfig should be run only in
%post* of the actual library package.

Comment 21 Antonio T. (sagitter) 2013-03-02 11:22:00 UTC
(In reply to comment #20)
> 
> No need to %post and %postun in the devel
> subpackage; ldconfig should be run only in
> %post* of the actual library package.

Quote:  If the package has multiple subpackages with libraries, each subpackage should also have a %post/%postun section that calls /sbin/ldconfig.
http://fedoraproject.org/wiki/Packaging:Guidelines#Shared_Libraries

I suppose that, in this case, it is useless since every sub-package depends by main one, so if I remove one of them, all will be removed and %post* will run at one time.

Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec
SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-8.fc18.src.rpm

Will you use this package for your 'coin-or-Ipopt' package ?
Is it still necessary keep open my review request 908089 ?

:)

Comment 22 Michael Schwendt 2013-03-02 11:37:04 UTC
> If the package has multiple subpackages with libraries, each subpackage
> should also have a %post/%postun section that calls /sbin/ldconfig.

Each (sub-)package that stores shared libs in run-time linker's (!) search path should have a %post/%postun section that calls ldconfig. You can play with "ldconfig -v" to see what it does after adding/removing shared libs.

The -devel package contains no real libs but just softlinks. ldconfig doesn't care about those links.

Comment 23 Michael Schwendt 2013-03-02 11:38:40 UTC
> since every sub-package depends by main one, so if I remove one of them,
> all will be removed and %post* will run at one time.

It doesn't work like that. If you remove a subpackage that depends on the base package, the base package stays installed.

Comment 24 Antonio T. (sagitter) 2013-03-02 11:42:47 UTC
Thank you Michael for your clarification. :)

Comment 25 Paulo Andrade 2013-03-02 17:00:54 UTC
Antonio, I made my coin-or-Ipopt package work with your
MUMPS package, it did require a bit of patching and
several experimental builds to get it to work with an
external, and parallel, not bundled, sequential MUMPS.
See https://bugzilla.redhat.com/show_bug.cgi?id=894604

Well, I believe we should cooperate here, but not sure
if it is not "cheating" if I give you the coin-or-Ipopt
package so that I can review it :-)

Either way, I think you can at least test your ascend
package with your MUMPS package and my coin-or-Ipopt
for now.

Comment 26 Antonio T. (sagitter) 2013-03-02 17:16:47 UTC
(In reply to comment #25)
> Antonio, I made my coin-or-Ipopt package work with your
> MUMPS package, it did require a bit of patching and
> several experimental builds to get it to work with an
> external, and parallel, not bundled, sequential MUMPS.
> See https://bugzilla.redhat.com/show_bug.cgi?id=894604

Good!
I close my Bug908089 and we can focus ourselves on coin-or-Ipopt.

> 
> Well, I believe we should cooperate here, but not sure
> if it is not "cheating" if I give you the coin-or-Ipopt
> package so that I can review it :-)

Waiting for someone else opinion. :)

> 
> Either way, I think you can at least test your ascend
> package with your MUMPS package and my coin-or-Ipopt
> for now.

Okay.

Comment 27 Paulo Andrade 2013-03-16 02:05:31 UTC
Antonio, welcome as a new Fedora packager :-)
Please check
https://fedoraproject.org/w/index.php?title=Join_the_package_collection_maintainers#Add_Package_to_Source_Code_Management_.28SCM.29_system_and_Set_Owner
for the next steps, starting with requesting
MUMPS to be added to git, create branches if
you wish to make updates, e.g. build it also
for f18.

Feel free to ask me for any help in these
initial steps.

The MUMPS package is APPROVED.

Comment 28 Antonio T. (sagitter) 2013-03-16 16:56:43 UTC
New Package SCM Request
=======================
Package Name: MUMPS
Short Description: A MUltifrontal Massively Parallel sparse direct Solver
Owners: sagitter
Branches: f17 f18 f19 el6

Comment 29 Pavol Babinčák 2013-03-18 08:52:58 UTC
Git done (by process-git-requests).

Comment 30 Fedora Update System 2013-03-25 19:25:41 UTC
MUMPS-4.10.0-9.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/MUMPS-4.10.0-9.fc17

Comment 31 Fedora Update System 2013-03-25 19:25:58 UTC
MUMPS-4.10.0-9.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/MUMPS-4.10.0-9.fc18

Comment 32 Fedora Update System 2013-03-25 19:26:10 UTC
MUMPS-4.10.0-9.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/MUMPS-4.10.0-9.el6

Comment 33 Fedora Update System 2013-03-26 16:44:43 UTC
MUMPS-4.10.0-9.el6 has been pushed to the Fedora EPEL 6 testing repository.

Comment 34 Fedora Update System 2013-04-04 23:51:15 UTC
MUMPS-4.10.0-9.fc18 has been pushed to the Fedora 18 stable repository.

Comment 35 Fedora Update System 2013-04-04 23:52:27 UTC
MUMPS-4.10.0-9.fc17 has been pushed to the Fedora 17 stable repository.

Comment 36 Fedora Update System 2013-04-10 22:15:31 UTC
MUMPS-4.10.0-9.el6 has been pushed to the Fedora EPEL 6 stable repository.


Note You need to log in before you can comment on or make changes to this bug.