Bug 829097

Summary: Review Request: sicktoolbox - The SICK LIDAR Toolbox
Product: [Fedora] Fedora Reporter: Rich Mattes <richmattes>
Component: Package ReviewAssignee: Ralf Corsepius <rc040203>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, rc040203, volker27
Target Milestone: ---Flags: rc040203: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.0.1-4.fc23 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-09-24 05:11:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1225692    

Description Rich Mattes 2012-06-05 23:48:33 UTC
Spec URL: http://rmattes.fedorapeople.org/RPMS/sicktoolbox/sicktoolbox.spec
SRPM URL: http://rmattes.fedorapeople.org/RPMS/sicktoolbox/sicktoolbox-1.0.1-1.fc17.src.rpm

Description: The Sick LIDAR Toolbox is an open-source software package released under a BSD Open-Source License that provides stable and easy-to-use C++ drivers for Sick LMS 2xx and Sick LD laser range finders.

Fedora Account System Username: rmattes

$ rpmlint sicktoolbox.spec ../RPMS/x86_64/sicktoolbox-*
sicktoolbox.x86_64: W: no-manual-page-for-binary ld_config
sicktoolbox.x86_64: W: no-manual-page-for-binary lms_config
sicktoolbox-devel.x86_64: W: no-documentation
3 packages and 1 specfiles checked; 0 errors, 3 warnings.

Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4130527

Comment 1 Volker Fröhlich 2012-10-14 19:38:14 UTC
Did you try to submit your patch?

Don't the other methods work that are described in http://fedoraproject.org/wiki/Packaging:Guidelines#Removing_Rpath ?

rm -rf %{buildroot} is not necessary.

It must be:

%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig

I noticed the PDFs make up most of the size of the package. Consider a separated -doc sub-package, as mentioned here: http://fedoraproject.org/wiki/Packaging:Guidelines#Documentation

THANKS, NEWS and the examples directory could also be included.

I'd like to recommend registering the libray on http://upstream-tracker.org to keep track of ABI breakage.

You can remove the trailing slash from the URL, if you want.

Odd findings: "ld_config" sounds a lot like ldconfig. The version numbers that is part of the include-directories also surprised me.

Comment 2 Rich Mattes 2012-10-14 22:12:11 UTC
I just submitted the patch upstream, and included a comment in the spec (In reply to comment #1)
> Did you try to submit your patch?
> 
I hadn't, but I just did today.  The link to the upstream tracker is now in the spec, as is a description of what the patch does

> Don't the other methods work that are described in
> http://fedoraproject.org/wiki/Packaging:Guidelines#Removing_Rpath ?
> 
It looks like the second method concerning a local copy of libtool works.  I got rid of chrpath and am instead using the sed snippets from the wiki.

> rm -rf %{buildroot} is not necessary.
> 
Removed.

> It must be:
> 
> %post -p /sbin/ldconfig
> %postun -p /sbin/ldconfig
> 
Fixed.

> I noticed the PDFs make up most of the size of the package. Consider a
> separated -doc sub-package, as mentioned here:
> http://fedoraproject.org/wiki/Packaging:Guidelines#Documentation
> 
They're a total of a little over a meg, which isn't too huge.  They're not purely development docs either as some has to do with wiring the lasers and with running the example programs.  I split off a doc subpackage

> THANKS, NEWS and the examples directory could also be included.
> 
Included.

> I'd like to recommend registering the libray on http://upstream-tracker.org
> to keep track of ABI breakage.
> 
That's definitely a useful site, but the sicktoolbox isn't really actively developed anymore.  The last svn commits are from 2 years ago.

> You can remove the trailing slash from the URL, if you want.
> 
> Odd findings: "ld_config" sounds a lot like ldconfig. The version numbers
> that is part of the include-directories also surprised me.

I guess they were following the lms_config example. The toolbox supports both the LMS and LD lines of laser rangefinders, so i guess it's just an unfortunate coincidence.  If it's a problem, I can rename the executables to sick_lms_config and sick_ld_config.

The version number in the includedirs is strange, and the versions in the library names are kind of annoying, but I don't know if it's annoying enough to break compatibility with upstream.

New spec and SRPM can be found at:
Spec URL: http://rmattes.fedorapeople.org/RPMS/sicktoolbox/sicktoolbox.spec
SRPM URL: http://rmattes.fedorapeople.org/RPMS/sicktoolbox/sicktoolbox-1.0.1-2.fc17.src.rpm

rpmlint:
$ rpmlint sicktoolbox.spec ../RPMS/x86_64/sicktoolbox-* ../RPMS/noarch/sicktoolbox-*
sicktoolbox.x86_64: W: no-manual-page-for-binary ld_config
sicktoolbox.x86_64: W: no-manual-page-for-binary lms_config
sicktoolbox-devel.x86_64: W: no-documentation
4 packages and 1 specfiles checked; 0 errors, 3 warnings.

Comment 3 Ralf Corsepius 2015-09-04 06:08:50 UTC
Rich, are you still interested in this package?

I yes, I am going to proceed with a formal review, otherwise I'd close this request.

For the moment, some remarks:

- The package supports disabling building static libs.
  I'd suggest to 
  - %configure --disable-static
  - rm -rf %{buildroot}%{_libdir}/*.a

- I'd suggest to use a program-prefix to avoid the naming issues with
  ld/lms_config (e.g. %configure --program-prefix=sick-)
  However, this will only work if other packages don't have
  ld/lms_config hard-coded somewhere. Proposing upstream to change these
  tools' names would be appropriate, but I understand upstream is dead.
  Though I consider these names to be unfortunate, I don't see any actual
  conflicts between these and other packages.

Besides these, this package seems pretty clean to me.

Comment 4 Rich Mattes 2015-09-05 15:41:59 UTC
Thanks Ralf.  I am still interested in reviewing this package.  Upstream is unresponsive, but it's still widely used by others in the robotics community.

I've updated the spec to pass the configure arguments --disable-static and --program-prefix=sick_

You can find the updated spec and SRPM at:
Spec URL: http://rmattes.fedorapeople.org/RPMS/sicktoolbox/sicktoolbox.spec
SRPM URL: http://rmattes.fedorapeople.org/RPMS/sicktoolbox/sicktoolbox-1.0.1-3.fc22.src.rpm

rpmlint output:
$ rpmlint ./sicktoolbox.spec ../RPMS/x86_64/sicktoolbox-* ../RPMS/noarch/sicktoolbox-*
sicktoolbox.x86_64: W: no-manual-page-for-binary sick_ld_config
sicktoolbox.x86_64: W: no-manual-page-for-binary sick_lms_config
sicktoolbox-devel.x86_64: W: only-non-binary-in-usr-lib
sicktoolbox-devel.x86_64: W: no-documentation
4 packages and 1 specfiles checked; 0 errors, 4 warnings.

I'll submit a scratch build once I'm off of airport wifi.

Comment 5 Ralf Corsepius 2015-09-15 06:49:52 UTC
APPROVED

2 final remarks:

- I'd prefer the program to be prefixed with "sick-".
But, ... this is largely a matter of personal test ;)

- With --disable-static, there is no need for this:
rm -rf %{buildroot}%{_libdir}/*.a

Please remove it.

Comment 6 Rich Mattes 2015-09-17 01:12:27 UTC
Thanks for the review!

1. I opted for sick_ instead of sick- because there are already underscores in lms_config and ld_config, and it seemed more consistent to call the program sick_lms_config instead of sick-lms_config.

2. I'll remove the line that removes .a files when I import the RPM.

Comment 7 Rich Mattes 2015-09-17 01:14:17 UTC
New Package SCM Request
=======================
Package Name: sicktoolbox
Short Description: The SICK LIDAR Toolbox
Upstream URL: http://sicktoolbox.sourceforge.net
Owners: rmattes
Branches: f21 f22 f23 el6 epel7

Comment 8 Gwyn Ciesla 2015-09-17 12:49:41 UTC
Git done (by process-git-requests).

Comment 9 Fedora Update System 2015-09-18 01:24:56 UTC
sicktoolbox-1.0.1-4.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-16137

Comment 10 Fedora Update System 2015-09-19 00:20:53 UTC
sicktoolbox-1.0.1-4.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update sicktoolbox'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-16137

Comment 11 Fedora Update System 2015-09-24 05:11:44 UTC
sicktoolbox-1.0.1-4.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.