https://bugzilla.redhat.com/show_bug.cgi?id=821727 Ryan Curtin <ryan@xxxxxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ryan@xxxxxxxxxxxx --- Comment #4 from Ryan Curtin <ryan@xxxxxxxxxxxx> --- Hello there, This is an unofficial review. Instead of pasting all the items which passed the guidelines successfully (like a lot of reviews) I prefer to just post the issues; it's shorter that way. > MUST: rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review. rpmlint is very noisy. Many of these problems I may address later on, but for now here is a dump of the output. Checking: dolfin-openmpi-devel-1.0.0-0.3.fc17.i686.rpm dolfin-1.0.0-0.3.fc17.i686.rpm dolfin-mpich2-devel-1.0.0-0.3.fc17.i686.rpm dolfin-mpich2-1.0.0-0.3.fc17.i686.rpm dolfin-doc-1.0.0-0.3.fc17.i686.rpm dolfin-openmpi-1.0.0-0.3.fc17.i686.rpm dolfin-devel-1.0.0-0.3.fc17.i686.rpm dolfin-1.0.0-0.3.fc17.src.rpm dolfin-debuginfo-1.0.0-0.3.fc17.i686.rpm dolfin-openmpi-devel.i686: I: enchant-dictionary-not-found en_US dolfin-openmpi-devel.i686: W: only-non-binary-in-usr-lib dolfin-openmpi-devel.i686: W: no-documentation dolfin-openmpi-devel.i686: E: non-executable-script /usr/lib/openmpi/share/dolfin/demo/undocumented/quadrature/python/demo_quadrature.py 0644L /usr/bin/env dolfin.i686: W: name-repeated-in-summary C DOLFIN dolfin.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/dolfin/_cpp.so dolfin.i686: E: binary-or-shlib-defines-rpath /usr/lib/python2.7/site-packages/dolfin/_cpp.so ['/builddir/build/BUILD/dolfin-1.0.0/serial/dolfin'] dolfin.i686: W: shared-lib-calls-exit /usr/lib/libdolfin.so.1.0.0 exit@GLIBC_2.0 dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env dolfin-mpich2-devel.i686: W: only-non-binary-in-usr-lib dolfin-mpich2-devel.i686: W: no-documentation dolfin-mpich2-devel.i686: E: non-executable-script /usr/lib/mpich2/share/dolfin/demo/undocumented/quadrature/python/demo_quadrature.py 0644L /usr/bin/env dolfin-mpich2.i686: W: shared-lib-calls-exit /usr/lib/mpich2/lib/libdolfin.so.1.0.0 exit@GLIBC_2.0 dolfin-mpich2.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/mpich2/dolfin/_cpp.so dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-convert.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-convert.1.gz dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-order.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-order.1.gz dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-plot.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-plot.1.gz dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-version.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-version.1.gz dolfin-doc.i686: W: hidden-file-or-dir /usr/share/doc/dolfin-doc-1.0.0/sphinx-python/build/html/.buildinfo dolfin-doc.i686: W: hidden-file-or-dir /usr/share/doc/dolfin-doc-1.0.0/sphinx-cpp/build/html/.buildinfo dolfin-doc.i686: W: doc-file-dependency /usr/share/doc/dolfin-doc-1.0.0/sphinx-python/source/demo/undocumented/quadrature/python/demo_quadrature.py /usr/bin/env dolfin-openmpi.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/openmpi/dolfin/_cpp.so dolfin-openmpi.i686: W: shared-lib-calls-exit /usr/lib/openmpi/lib/libdolfin.so.1.0.0 exit@GLIBC_2.0 dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-convert.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-convert.1.gz dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-order.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-order.1.gz dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-plot.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-plot.1.gz dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-version.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-version.1.gz dolfin-devel.i686: W: no-documentation dolfin-devel.i686: E: non-executable-script /usr/share/dolfin/demo/undocumented/quadrature/python/demo_quadrature.py 0644L /usr/bin/env dolfin.src: W: name-repeated-in-summary C DOLFIN dolfin.src:337: W: macro-in-comment %if dolfin.src:341: W: macro-in-comment %else dolfin.src:342: W: macro-in-comment %{_mandir} dolfin.src:342: W: macro-in-comment %{_arch} dolfin.src:343: W: macro-in-comment %endif dolfin.src:47: W: mixed-use-of-spaces-and-tabs (spaces: line 47, tab: line 27) 9 packages and 0 specfiles checked; 21 errors, 30 warnings. (( ryan @ samedi )) ~/review-work/dolfin $ rpmlint dolfin dolfin.i686: W: name-repeated-in-summary C DOLFIN dolfin.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/dolfin/_cpp.so dolfin.i686: E: binary-or-shlib-defines-rpath /usr/lib/python2.7/site-packages/dolfin/_cpp.so ['/builddir/build/BUILD/dolfin-1.0.0/serial/dolfin'] dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /lib/libboost_thread-mt.so.1.48.0 dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /lib/libboost_math_tr1-mt.so.1.48.0 dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /lib/libamd.so.2 dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /lib/libblas.so.3 dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /lib/libcamd.so.2 dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /lib/libcolamd.so.2 dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /lib/libccolamd.so.2 dolfin.i686: W: unused-direct-shlib-dependency /usr/lib/libdolfin.so.1.0.0 /usr/lib/atlas/liblapack.so.3 dolfin.i686: W: shared-lib-calls-exit /usr/lib/libdolfin.so.1.0.0 exit@GLIBC_2.0 dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env 1 packages and 0 specfiles checked; 4 errors, 11 warnings. (( ryan @ samedi )) ~/review-work/dolfin $ LD_LIBRARY_PATH="/usr/lib/openmpi/lib/" rpmlint dolfin-openmpi dolfin-openmpi.i686: W: spelling-error Summary(en_US) runtime -> run time, run-time, rudiment dolfin-openmpi.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/openmpi/dolfin/_cpp.so dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libboost_thread-mt.so.1.48.0 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libboost_math_tr1-mt.so.1.48.0 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libamd.so.2 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libblas.so.3 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libcamd.so.2 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libcolamd.so.2 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libccolamd.so.2 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /usr/lib/atlas/liblapack.so.3 dolfin-openmpi.i686: W: unused-direct-shlib-dependency /usr/lib/openmpi/lib/libdolfin.so.1.0.0 /lib/libdl.so.2 dolfin-openmpi.i686: W: shared-lib-calls-exit /usr/lib/openmpi/lib/libdolfin.so.1.0.0 exit@GLIBC_2.0 dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-convert.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-convert.1.gz dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-order.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-order.1.gz dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-plot.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-plot.1.gz dolfin-openmpi.i686: E: invalid-locale-man-dir /usr/share/man/openmpi-i386/man1/dolfin-version.1.gz dolfin-openmpi.i686: W: file-not-in-%lang /usr/share/man/openmpi-i386/man1/dolfin-version.1.gz 1 packages and 0 specfiles checked; 7 errors, 16 warnings. (( ryan @ samedi )) ~/review-work/dolfin $ LD_LIBRARY_PATH="/usr/lib/mpich2/lib/" rpmlint dolfin-mpich2 dolfin-mpich2.i686: W: spelling-error Summary(en_US) runtime -> run time, run-time, rudiment dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /lib/libboost_thread-mt.so.1.48.0 dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /lib/libboost_math_tr1-mt.so.1.48.0 dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /lib/libamd.so.2 dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /lib/libblas.so.3 dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /lib/libcamd.so.2 dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /lib/libcolamd.so.2 dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /lib/libccolamd.so.2 dolfin-mpich2.i686: W: unused-direct-shlib-dependency /usr/lib/mpich2/lib/libdolfin.so.1.0.0 /usr/lib/atlas/liblapack.so.3 dolfin-mpich2.i686: W: shared-lib-calls-exit /usr/lib/mpich2/lib/libdolfin.so.1.0.0 exit@GLIBC_2.0 dolfin-mpich2.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/mpich2/dolfin/_cpp.so dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-convert.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-convert.1.gz dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-order.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-order.1.gz dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-plot.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-plot.1.gz dolfin-mpich2.i686: E: invalid-locale-man-dir /usr/share/man/mpich2/man1/dolfin-version.1.gz dolfin-mpich2.i686: W: file-not-in-%lang /usr/share/man/mpich2/man1/dolfin-version.1.gz 1 packages and 0 specfiles checked; 7 errors, 15 warnings. > MUST: Development files must be in a -devel package. The dolfin-doc package contains a large number of source files, which appear to be demo files. This seems okay to me, but it may be worth going through all those files and ensuring that only examples are included in the doc subpackage. To me it looks like many of the demo source files (such as, perhaps 'sphinx-cpp/source/demo/undocumented/periodic/cpp/Poisson.h) may not actually be necessary in that package. In addition, the dolfin-devel package seems to both include the headers in /usr/include as well as a bunch of demos in /usr/share/dolfin/demo. I am not sure the demos are necessary in the devel subpackage and I would suggest that they should appear only in the doc subpackage. > MUST Rpath absent or only used for internal libs. >From rpmlint: > dolfin-openmpi.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/openmpi/dolfin/_cpp.so > dolfin-mpich2.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/mpich2/dolfin/_cpp.so > dolfin.i686: W: unstripped-binary-or-object /usr/lib/python2.7/site-packages/dolfin/_cpp.so CMake should automatically be stripping at install-time, so I am not sure what is happening here. > %description > DOLFIN is the C++/Python interface of FEniCS, providing a consistent > PSE (Problem Solving Environment) for ordinary and partial > differential equations. This could be rewrapped to have fewer lines and still be fewer than 80 characters per line. Yes, that is pedantry... sorry... To be even more unnecessarily pedantic, many of the subpackage descriptions do not have punctuation at the end of the sentences. > MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. The rpmlint output from earlier lists a couple files with potentially incorrect permissions. dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin.i686: E: non-executable-script /usr/lib/python2.7/site-packages/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin-openmpi.i686: E: non-executable-script /usr/lib/python2.7/site-packages/openmpi/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/torque.py 0644L /usr/bin/env dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/sge.py 0644L /usr/bin/env dolfin-mpich2.i686: E: non-executable-script /usr/lib/python2.7/site-packages/mpich2/dolfin_utils/pjobs/pjobs.py 0644L /usr/bin/env > SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. This package has no LICENSE file; just wanted to point that out. > [!]: MUST Buildroot is not present > Note: Buildroot is not needed unless packager plans to package for EPEL5 > See: http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag It looks like you are packaging for EPEL5, due to the cmake28 macro bits, so %{buildroot} should be defined. > [!]: MUST Package has no %clean section with rm -rf %{buildroot} (or > $RPM_BUILD_ROOT) > Note: Clean is needed only if supporting EPEL > See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean Somewhat self-explanatory. > [!]: MUST Package requires pkgconfig, if .pc files are present. (EPEL5) > Note: Only applicable for EL-5 > See: http://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies#EL5 That should be simple to fix. The package seems to build okay and a very simple test seems to indicate that it runs properly, too. Hopefully this review is helpful... -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/package-review