[Bug 478470] Review Request: mrpt - The Mobile Robot Programming Toolkit (MRPT)
bugzilla at redhat.com
bugzilla at redhat.com
Sat Jan 10 17:57:40 UTC 2009
Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=478470
--- Comment #9 from Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> 2009-01-10 12:57:38 EDT ---
Created an attachment (id=328632)
--> (https://bugzilla.redhat.com/attachment.cgi?id=328632)
rpmlint for binary rpms
Well, for 0.6.4-2:
** Description etc
* License
- License tag should be "GPLv3+".
* Source
- Source tarball in your srpm differs from what I could
download from the Source URL in your spec:
------------------------------------------------
9773759 2009-01-09 00:43 mrpt-0.6.4.tar.gz
9773812 2009-01-09 00:51 mrpt-0.6.4-2.fc10.src/mrpt-0.6.4.tar.gz
------------------------------------------------
* BuildRequires:
- build.log says:
------------------------------------------------
107 -- Looking for doxygen...
108 -- Looking for doxygen... - found /usr/bin/doxygen
109 -- Looking for dot tool...
110 -- Looking for dot tool... - NOT found
------------------------------------------------
Perhaps "BuildRequires: graphviz" is missing.
** %prep -> %install
* Build failure
- Currently your srpm does not build by 4 reasons.
1 %check fails as
http://koji.fedoraproject.org/koji/taskinfo?taskID=1042528
This is because at "make test" this test needs
system-widely installed libmrpt-core.so.0.6, but on mockbuild
apparently this library is not yet installed system-widely.
2 The rebuilt libraries like libmrpt-core.so.0.6 are installed
under %buildroot/usr/lib, not %buildroot%_libdir even with
64 bits architecture
3 CMakeLists.txt adds "-mtune=native" to CPPFLAGS, which
is not recognized on ppc (maybe also on ppc64)
http://koji.fedoraproject.org/koji/taskinfo?taskID=1042483
Also, CMakeLists.txt adds "-O3" compilation option, however
Fedora default optimation level is "-O2" so this should
be removed.
4 %files lists are wrong. Some files are installed
under %{_datadir}/mrpt/datasets/ but no files are installed
under %{_datadir}/mrpt/config_files/datasets/
Possible solution:
- For 2,3: at %prep:
-------------------------------------------
%prep
%setup -q
sed -i.misc \
-e 's|-O3|-O2|' \
-e 's|-mtune=native||' \
-e '/DESTINATION/s|PREFIX}lib|PREFIX}lib\${LIB_SUFFIX}|' \
$(find . -name CMakeLists.txt)
-------------------------------------------
- For 1: at %check:
-------------------------------------------
%check
export LD_LIBRARY_PATH=$(pwd)/lib
make test VERBOSE=1 ARGS="-VV"
-------------------------------------------
- For 4: Check %files list
** %files, etc
* Package splitting
- First of all, please explain why you want to split each
library into different subpackges.
* desktop files
- desktop-file-install or so must be executed against
desktop files to be installed.
https://fedoraproject.org/wiki/Packaging/Guidelines#desktop-file-install_usage
* Scriptlets
- Some files has MimeType, so please refer to:
https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#desktop-database
- This package installs XML files under %_datadir/mime/packages:
https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#mimeinfo
* Directory ownership
- The directory %{_datadir}/mrpt is owned by 2 packages. Please
change this so that only one package owns this directory
( I guess having this directory owned by -core package is
an alternative solution)
- %{_datadir}/doc/mrpt-doc/ is not owned by any packages.
* pkgconfig
- pkgconfig/libmrpt.pc.in contains:
--------------------------------------------
3 libdir=${exec_prefix}/lib
--------------------------------------------
This is expanded as /usr/lib, even on 64 bits architecture,
while this should be expanded as /usr/lib64.
- Also installed libmrpt.pc contains:
--------------------------------------------
9 Libs: -L${libdir} -ldc1394 -lGL -lGLU -lglut -lftdi -lusb -l3ds -lz
-ljpeg -lrt -pthread -lmrpt-ann /usr/lib64/libboost_program_options-mt.so
-pthread -lwx_baseu-2.8 -lwx_gtk2u_core-2.8 -lwx_gtk2u_gl-2.8
-lwx_gtk2u_adv-2.8 -lwx_gtk2u_aui-2.8 -lmrpt-core -lmrpt-aria
--------------------------------------------
Please check if these explicit linkage lists are _really_
needed. I guess almost all of these can be removed
if the installed libraries are already properly linked.
Also, note that each "-lfoo" entry adds each corresponding
package dependency to mrpt-devel package. For example
"-lglut" means -devel package should have
"Requires: freeglut-devel", while I don't think this is needed.
* Header files dependency
- Please check if proper dependency packages are installed
with -devel packages to satisfy "include" macro dependencies
in header files.
- For example, gui/WxUtils.h contains
---------------------------------------------
40 #include <wx/sizer.h>
41 #include <wx/statbmp.h>
42 #include <wx/menu.h>
---------------------------------------------
This means that mrpt-devel package should have "Requires: wxGTK-devel"
(not wxGTK).
* Duplicate files
- Please check if all subpackages need "doc COPYING" or so.
Also "%doc foo" creates its own document directory (named
/usr/share/doc/mrpt-foo-%{version}) for each subpackage.
Especially -doc subpackage has two document directories
(/usr/share/doc/mrpt-doc and /usr/share/doc/mrpt-doc-%{version})
I suggest these directories should be unified.
* rpmlint issue
rpmlint output attached.
- Please change non-UTF8 files to UTF-8 encoding
- Usually libraries themselves should not call exit()
(see $ rpmlint -I shared-lib-calls-exit)
- Many files has Windows-like line terminators.
Please fix these by "sed -i -e 's|\r||g'" or dos2unix
--
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the Fedora-package-review
mailing list