Bug 753240 - Review Request: colorhug-client - Tools for the Hughski Colorimeter
Summary: Review Request: colorhug-client - Tools for the Hughski Colorimeter
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Tom Hughes
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-11 17:20 UTC by Richard Hughes
Modified: 2011-11-29 19:00 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-11-29 19:00:59 UTC
Type: ---
Embargoed:
tom: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Richard Hughes 2011-11-11 17:20:03 UTC
Spec URL: http://people.freedesktop.org/~hughsient/temp/colorhug-client.spec
SRPM URL: http://people.freedesktop.org/~hughsient/temp/colorhug-client-0.1.0-1.fc16.src.rpm
Koij Build: [not available, you need to build with libgusb in updates-testing]

Description:
The Hughski ColorHug colorimeter is a low cost open-source hardware
sensor used to calibrate screens.

This package includes the client tools which allows the user to upgrade
the firmware on the sensor or to access the sensor from command line
scripts.

rpmlint Output:
colorhug-client.x86_64: W: spelling-error %description -l en_US colorimeter -> cyclometer
colorhug-client.src: W: spelling-error %description -l en_US colorimeter -> cyclometer
3 packages and 0 specfiles checked; 0 errors, 2 warnings.

(these are clearly bogus...)

NOTE: I'm the owner of Hughski Ltd. and I want to get the package with the client tools in distributions *before* the hardware is sold so that users don't have to muck about with "configure && make" from a tarball when they get the device. The device is 100% open source, with GPL firmware, GPL client code and GPL bootloader. If you want to know more about the company or the device please don't hesitate to ask. Thanks.

Richard.

Comment 1 Volker Fröhlich 2011-11-19 08:09:32 UTC
I guess you can scratch-build in Rawhide with Koji.

Mock build in Rawhide fails for me:

...
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB... yes
checking for GUSB... yes
checking for GTK... no
configure: error: Package requirements (gtk+-3.0 >= 2.91.0) were not met:
No package 'gtk+-3.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables GTK_CFLAGS
and GTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
error: Bad exit status from /var/tmp/rpm-tmp.PNsPXm (%build)

Comment 2 Till Maas 2011-11-19 19:58:46 UTC
Please clear the whiteboard when the package will build.

Comment 3 Richard Hughes 2011-11-26 22:23:38 UTC
Okay, a new enough colord is now in rawhide (and F16 updates-testing) and I've fixed the GTK BR:

Spec URL: http://people.freedesktop.org/~hughsient/temp/colorhug-client.spec
SRPM URL: http://people.freedesktop.org/~hughsient/temp/colorhug-client-0.1.0-2.fc16.src.rpm
Koij Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3543779

Thanks,

Richard.

Comment 4 Tom Hughes 2011-11-28 09:22:37 UTC
Generally looks good, just one question really about whether the programs are in the right place:

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

Key:
- = N/A
x = Check
! = Problem
? = Not evaluated



==== C/C++ ====
[x]: MUST Header files in -devel subpackage, if present.
[x]: MUST Package does not contain any libtool archives (.la)
[x]: MUST Package does not contains kernel modules.
[x]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.
[x]: MUST Package is not relocatable.


==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at least one supported architecture.
[x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines.
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[-]: MUST Package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).(EPEL6 & Fedora < 13)
[x]: MUST Sources contain only permissible code or content.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
[-]: MUST Macros in Summary, %description expandable at SRPM build time.
[-]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.        
[-]: MUST Package run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) and the beginning of %install. (EPEL5)
[x]: MUST 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]: MUST License field in the package spec file matches the actual license.
[x]: MUST The spec file handles locales properly.
[x]: MUST Package consistently uses macros (instead of hard-coded directory names).
[s]: MUST Package meets the Packaging Guidelines.
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generates any conflict.
[!]: MUST Package obeys FHS, except libexecdir and /usr/target.
	Is is really correct for both executables to be in libexec? Isn't colorhug at least intended to be used
	directly by the user from the command line?
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[-]: MUST Requires correct, justified where necessary.
[x]: MUST Rpmlint output is silent.
        A bogus spelling complaint which can be ignored.        
[x]: MUST Sources used to build the package matches the upstream source, as provided in the spec URL.
        /home/thh/753240/colorhug-client-0.1.0.tar.xz :
          MD5SUM this package     : 651dd94c3c70a7945343f6baa8f03fba
          MD5SUM upstream package : 651dd94c3c70a7945343f6baa8f03fba
        
[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec.
[-]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: SHOULD Reviewer should test that the package builds in mock.
[-]: 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.
[x]: SHOULD Dist tag is present.
[-]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires).
[?]: SHOULD Package functions as described.
[x]: SHOULD Package does not include license text files separate from upstream.
[x]: SHOULD SourceX is a working URL.
[?]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available.
[?]: SHOULD Package should compile and build into binary rpms on all supported architectures.
[-]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed files.
[x]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST Package obeys FHS, except libexecdir and /usr/target.
	Is is really correct for both executables to be in libexec? Isn't colorhug at least intended to be used
	directly by the user from the command line?

Comment 5 Richard Hughes 2011-11-28 16:57:14 UTC
(In reply to comment #4)
> [!]: MUST Package obeys FHS, except libexecdir and /usr/target.
>  Is is really correct for both executables to be in libexec? Isn't colorhug at
> least intended to be used directly by the user from the command line?

colorhug the command is designed to be used by scripts, it's not at all friendly to the end user and it's not really how I want people to interact with the hardware. There's already a colorhug driver in colord, and using that dbus interface is much easier and kinder on the user.

In the git master version of colorhug-client there's a firmware flasher GTK GUI in /usr/bin that is designed to be used by users.

Thanks for the speedy review,

Richard.

Comment 6 Tom Hughes 2011-11-29 09:34:36 UTC
In that case please consider the package as accepted.

Comment 7 Richard Hughes 2011-11-29 11:44:56 UTC
New Package SCM Request
=======================
Package Name: colorhug-client
Short Description: Tools for the Hughski Colorimeter
Owners: rhughes
Branches: f16
InitialCC: rhughes

Comment 8 Gwyn Ciesla 2011-11-29 13:07:22 UTC
Git done (by process-git-requests).

Comment 9 Richard Hughes 2011-11-29 19:00:59 UTC
Build as http://koji.fedoraproject.org/koji/taskinfo?taskID=3550794 many thanks.


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