Bug 635515

Summary: Review Request: libphidget - Drivers and API for Phidget devices
Product: [Fedora] Fedora Reporter: Rich Mattes <richmattes>
Component: Package ReviewAssignee: Peter Lemenkov <lemenkov>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, lemenkov, notting
Target Milestone: ---Flags: lemenkov: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libphidget-2.1.7.20100621-5.fc12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-12 12:46:48 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:

Description Rich Mattes 2010-09-20 04:11:43 UTC
Spec URL: http://rmattes.fedorapeople.org/RPMS/libphidget/libphidget.spec
SRPM URL: http://rmattes.fedorapeople.org/RPMS/libphidget/libphidget-2.1.7.20100621-1.fc13.src.rpm 

Description: Phidgets are a set of "plug and play" building blocks for low cost USB sensing and control from your PC.  All the USB complexity is taken care of by the robust libphidget API.

koji-f12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2476637
koji-f13: http://koji.fedoraproject.org/koji/taskinfo?taskID=2476642
koji-f14: http://koji.fedoraproject.org/koji/taskinfo?taskID=2476645

$ rpmlint ../RPMS/x86_64/libphidget-* libphidget*
libphidget.x86_64: W: spelling-error %description -l en_US Phidgets -> Fidgets, Midgets, Widgets
libphidget-devel.x86_64: W: no-documentation
libphidget.src: W: spelling-error %description -l en_US Phidgets -> Fidgets, Midgets, Widgets
4 packages and 0 specfiles checked; 0 errors, 3 warnings.

Comment 1 Peter Lemenkov 2010-09-20 12:04:37 UTC
I'll review it

Comment 2 Peter Lemenkov 2010-09-20 12:31:07 UTC
REVIEW:

Legend: + = PASSED, - = FAILED, 0 = Not Applicable

+ rpmlint is (almost) silent

work ~/Desktop: rpmlint libphidget-*
libphidget.i686: W: spelling-error %description -l en_US Phidgets -> Fidgets
libphidget-devel.i686: W: no-documentation
3 packages and 0 specfiles checked; 0 errors, 2 warnings.
work ~/Desktop: 

+ The package is named according to the Package Naming Guidelines .
+ The spec file name matches the base package %{name}, in the format %{name}.spec.
+ The package meets the Packaging Guidelines .
+ The package is licensed with a Fedora approved license and meets the Licensing Guidelines .
+ The License field in the package spec file matches the actual license.(LGPLv3)
+ The file, containing the text of the license(s) for the package is included in %doc.
+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package matches the upstream source, as provided in the spec URL.

Sulaco ~/rpmbuild/SOURCES: sha256sum libphidget_2.1.7.20100621.tar.gz*
63a1a7157f4a2b976b6d6858d8ae03ebef2fdc44f8dbb5832a3bfe2c9579e20c  libphidget_2.1.7.20100621.tar.gz
63a1a7157f4a2b976b6d6858d8ae03ebef2fdc44f8dbb5832a3bfe2c9579e20c  libphidget_2.1.7.20100621.tar.gz.1
Sulaco ~/rpmbuild/SOURCES: 

+ The package successfully compiles and builds into binary rpms on at least one primary architecture. See koji links above.
+ All build dependencies are listed in BuildRequires.
0 No need to handle locales.
+ The package calls ldconfig in %post and %postun.
+ The package does NOT bundle copies of system libraries.
0 The package is not designed to be relocatable.
+ The package owns all directories that it creates.
+ The package does not list a file more than once in the spec file's %files listings.
+ Permissions on files are set properly.
+ The package consistently uses macros.
+ The package contains code, or permissible content.
0 No extremely large documentation files.
+ Anything, the package includes as %doc, does not affect the runtime of the application.
+ Header files are in a -devel package.
0 No static libraries.
+ The library files that end in .so (without suffix) are in a -devel package.
+ The devel package requires the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
+ The package does NOT contain any .la libtool archives
0 Not a GUI application.
+ The package does not own files or directories already owned by other packages.
+ All filenames in rpm packages are valid UTF-8.

Ok, looks good but some questions are still remains:

1. Why you don't enable java support? Is is intentional? See --enable-jni configure option.
2. No zeroconf support too. Why?
3. Config-files for hotplug/udev also not installed. I belive that they worth installing.
4. You provided patch for removing ldconfig and rm at %install stage, but there is a configure switch --disable-ldconfig. Why not to use it instead?

Comment 3 Rich Mattes 2010-09-21 00:48:55 UTC
Thanks for taking on the review!

I've enabled zeroconf, zeroconf-lookup, and am now using the ldconfig switch.  I added the patch to keep the buildsystem from trying to rm old versions of itself, and commented out the ldconfig stuff cause i was already in there.  I've dropped the patches (and the calls to aclocal and libtoolize.)  I've also installed the udev rules.  

--enable-jni didn't seem to do anything, but I did a little digging and the .jar file has a separate make target.  I've enabled it and installed the .jar file to the jnidir.  I'm not really sure what to do with the resulting .jar file: the packaging guidelines say that the .jar file should be installed in %{_libdir}/%{name}, but then it goes on to outline the %{_jnidir}.  I've put the .jar in the jnidir for now.  If it's wrong, I'll fix or remove it.

Spec URL: http://rmattes.fedorapeople.org/RPMS/libphidget/libphidget.spec
SRPM URL:
http://rmattes.fedorapeople.org/RPMS/libphidget/libphidget-2.1.7.20100621-2.fc13.src.rpm 


$ rpmlint ../RPMS/x86_64/libphidget-* ../SRPMS/libphidget*
libphidget.x86_64: W: spelling-error %description -l en_US Phidgets -> Fidgets, Midgets, Widgets
libphidget-devel.x86_64: W: no-documentation
libphidget.src: W: spelling-error %description -l en_US Phidgets -> Fidgets, Midgets, Widgets
4 packages and 0 specfiles checked; 0 errors, 3 warnings.

Comment 4 Peter Lemenkov 2010-09-21 08:27:41 UTC
Ok, we almost finished, but now you'd better to split off java-part into its own sub-package. 

Also there are some new issues:

* You need to install into %{_javadir} instead of %{_jnidir}. Take a look at the following link:

https://fedoraproject.org/wiki/Packaging:Java#Directory_structure

* You need to add "Requires: udev" (owner of %{_sysconfdir}/udev/rules.d)
* You also need to add necessary (Build)Requires for java-related stuff. See this link for details:

https://fedoraproject.org/wiki/Packaging:Java#BuildRequires_and_Requires

Comment 5 Rich Mattes 2010-09-21 12:41:52 UTC
Thanks, I split the java stuff into its own subpackage and corrected the issues you pointed out.  The package builds fine for me in mock (fedora-13-x86_64.)  The new spec and SRPM are available here:

Spec URL: http://rmattes.fedorapeople.org/RPMS/libphidget/libphidget.spec
SRPM URL:
http://rmattes.fedorapeople.org/RPMS/libphidget/libphidget-2.1.7.20100621-3.fc13.src.rpm 

$ rpmlint ../RPMS/x86_64/libphidget-* ../SRPMS/libphidget-*
libphidget.x86_64: W: spelling-error %description -l en_US Phidgets -> Fidgets
libphidget-devel.x86_64: W: no-documentation
libphidget-java.x86_64: W: no-documentation
libphidget.src: W: spelling-error %description -l en_US Phidgets -> Fidgets
5 packages and 0 specfiles checked; 0 errors, 4 warnings.

Comment 6 Peter Lemenkov 2010-09-21 12:50:36 UTC
Ok, I don't see any other issues so far. This package is

APPROVED.

Comment 7 Rich Mattes 2010-09-21 14:55:15 UTC
Thanks for the quick review Peter!

Comment 8 Rich Mattes 2010-09-21 14:55:44 UTC
New Package SCM Request
=======================
Package Name: libphidget
Short Description: Drivers and API for Phidget devices
Owners: rmattes
Branches: f12 f13 f14

Comment 9 Kevin Fenzi 2010-09-25 05:02:31 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2010-09-27 13:09:39 UTC
libphidget-2.1.7.20100621-4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/libphidget-2.1.7.20100621-4.fc14

Comment 11 Fedora Update System 2010-09-27 20:07:46 UTC
libphidget-2.1.7.20100621-4.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update libphidget'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/libphidget-2.1.7.20100621-4.fc14

Comment 12 Fedora Update System 2010-10-04 03:17:55 UTC
libphidget-2.1.7.20100621-5.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/libphidget-2.1.7.20100621-5.fc13

Comment 13 Fedora Update System 2010-10-04 03:18:02 UTC
libphidget-2.1.7.20100621-5.fc12 has been submitted as an update for Fedora 12.
https://admin.fedoraproject.org/updates/libphidget-2.1.7.20100621-5.fc12

Comment 14 Fedora Update System 2010-10-04 03:18:08 UTC
libphidget-2.1.7.20100621-5.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/libphidget-2.1.7.20100621-5.fc14

Comment 15 Fedora Update System 2010-10-12 12:46:43 UTC
libphidget-2.1.7.20100621-5.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2010-10-14 06:28:01 UTC
libphidget-2.1.7.20100621-5.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2010-10-14 06:37:51 UTC
libphidget-2.1.7.20100621-5.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.