Bug 836821

Summary: Review Request: libcec - Library for HDMI-CEC device control
Product: [Fedora] Fedora Reporter: Peter Robinson <pbrobinson>
Component: Package ReviewAssignee: Volker Fröhlich <volker27>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: notting, package-review, pikachu.2014, valent.turkovic, volker27
Target Milestone: ---Flags: volker27: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-11-25 15:26:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peter Robinson 2012-07-01 18:24:55 UTC
SPEC: http://pbrobinson.fedorapeople.org/libcec.spec
SRPM: http://pbrobinson.fedorapeople.org/libcec-1.7.1-1.fc17.src.rpm

Description:
libCEC allows you in combination with the right hardware to control your device 
with your TV remote control. Utilising your existing HDMI cabling

libCEC is an enabling platform for the CEC bus in HDMI, it allows developers to 
interact with other HDMI devices without having to worry about the communication 
overhead, handshaking, and the various ways of sending a message for each vendor

koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=4211187

Comment 1 Volker Fröhlich 2012-07-31 16:55:26 UTC
The license is GPLv2+, but it is actually dual-licensed:

 * This program is dual-licensed; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.

...

 * Alternatively, you can license this library under a commercial license,
 * please contact Pulse-Eight Licensing for more information.

The FSF address is outdated and should be replaced. Also let upstream know.

If this is a snapshot, the release should be different: http://fedoraproject.org/wiki/Packaging:NamingGuidelines#NonNumericRelease

The version number in the changelog also doesn't match.

Please add ?_isa, see http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package

Why do you require systemd-devel?

rpmlint complains about mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 1) and the non-american spelling of "utilizing". cec-config should be in the main package.

defattr is no longer necessary. Consider to add ChangeLog as documentation.

Comment 2 Peter Robinson 2012-09-26 15:16:58 UTC
Sorry about delayed response. 1.8.x had build issues, and I've been away. 1.9.0 now builds so updated.

(In reply to comment #1)
> The license is GPLv2+, but it is actually dual-licensed:

Fedora doesn't use the commercial license option so it's the only relevant license for our use case

> The FSF address is outdated and should be replaced. Also let upstream know.

I'll fix it when it's fixed upstream (it might be already in 1.9.0) but I'll let them know

> If this is a snapshot, the release should be different:
> http://fedoraproject.org/wiki/Packaging:NamingGuidelines#NonNumericRelease

No it's not a snapshot. It's the release using their git tag. Theit github generated archives have issues so we generate them from the git source but it's still a tagged release so we can still use the standard NVRs

> The version number in the changelog also doesn't match.

Fixed.

> Please add ?_isa, see
> http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package

Added

> Why do you require systemd-devel?

Because that's where the udev library headers are now and it uses udev.

> rpmlint complains about mixed-use-of-spaces-and-tabs (spaces: line 1, tab:
> line 1) and the non-american spelling of "utilizing". cec-config should be
> in the main package.

Line 1 is a comment so it's completely irrelevant. I've updated the comment further.

cec-config IS in the main package:
$ rpm -qlp libcec-1.9.0-1.fc17.x86_64.rpm 
/usr/bin/cec-client
/usr/bin/cec-config
/usr/lib64/libcec.so.1
/usr/lib64/libcec.so.1.0.9

> defattr is no longer necessary. Consider to add ChangeLog as documentation.

I thought I had done both of those. Fixed.

SPEC: as above
SRPM: http://pbrobinson.fedorapeople.org/libcec-1.9.0-1.fc17.src.rpm
koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=4529045

Comment 3 Peter Robinson 2012-09-26 15:17:57 UTC
Volker: are you doing a proper review on this? if so please assign as appropriate

Comment 4 Volker Fröhlich 2012-09-26 15:24:06 UTC
GPLv2+ -- not GPLv2

If I'll take the review, I'll assign myself. For now I'm commenting.

It's easier for the reviewer if you bump the release on changes and leave changelog entries.

Comment 5 Valent Turkovic 2012-10-08 15:48:33 UTC
Hi, is there any chance for libcec to be included in upcoming Fedora 18?

Comment 6 Volker Fröhlich 2012-10-08 15:59:36 UTC
As soon as the review is done, it can go to F16 and up.

Comment 7 Volker Fröhlich 2012-10-08 19:42:53 UTC
Remove the trailing slash from the URL.

Is the license of ADL compatible with GPLv2?

I think you should BR libudev-devel. systemd-devel doesn't seem to be necessary though.

The sentences in %description should have periods, as they are proper sentences.

There's a Windoze executable that should be removed in the %prep section: http://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-built_binaries_or_libraries

The files section could be more specific:

%{_libdir}/%{name}.so.* or at least libcec.so.*. Stating the exact name of the two executables in bindir also wouldn't hurt. 

Please see the review below for other tasks.


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

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[ ]: Sources contain only permissible code or content.

See above comment!

[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     devel
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[-]: Large documentation files are in a -doc subpackage, if required.
[x]: 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.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (2 clause)", "LGPL (v2.1 or later)", "Unknown or generated". 3 files
     have unknown license. Detailed output of licensecheck in
     /home/makerpm/rpmbuild/SPECS/836821-libcec/licensecheck.txt

Dual licensed commercially and GPLv2+.

The license must be "GPLv2+" -- not "GPLv2"!

[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[!]: Package contains systemd file(s) if in need.
Doesn't need one, I think.

[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.

===== SHOULD items =====

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[-]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[-]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[!]: Spec use %global instead of %define.
     Note: %define tarfile %{name}-%{version}.tar.bz2

That macro is unused and name isn't defined at that point in time anyway. Please delete or correct!

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: libcec-1.9.0-1.fc16.x86_64.rpm
          libcec-1.9.0-1.fc16.src.rpm
          libcec-devel-1.9.0-1.fc16.x86_64.rpm
          libcec-debuginfo-1.9.0-1.fc16.x86_64.rpm

libcec.x86_64: W: devel-file-in-non-devel-package /usr/bin/cec-config
I think this is bogus

libcec.x86_64: E: incorrect-fsf-address /usr/share/doc/libcec-1.9.0/COPYING
Please contact upstream!

libcec.x86_64: W: no-manual-page-for-binary cec-config
libcec.x86_64: W: no-manual-page-for-binary cec-client
Please install the manpage from the debian directory!

libcec.src:3: W: macro-in-comment %{name}
libcec.src:3: W: macro-in-comment %{version}
libcec.src:3: W: macro-in-comment %{name}
libcec.src:3: W: macro-in-comment %{version}
libcec.src:3: W: macro-in-comment %{name}
libcec.src:3: W: macro-in-comment %{version}
That's not a tragedy. On the other hand, the macros don't serve a purpose there.

libcec.src:1: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 1)
Please solve!

libcec.src: W: invalid-url Source0: libcec-1.9.0.tar.bz2
libcec-devel.x86_64: W: no-documentation

See above, correct if possible. Don't change COPYING though!
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cecloader.h
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cecc.h
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cectypes.h
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cec.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommands.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/testclient/main.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/adl/adl-edid.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTuner.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECDeviceMap.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECPlaybackDevice.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/threads/mutex.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/ANCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/include/cec.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/AdapterCommunication.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/threads/threads.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECPlaybackDevice.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/include/cecloader.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECTypeUtils.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTV.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECAudioSystem.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/LibCEC.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECRecordingDevice.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/CECCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/timeutils.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/baudrate.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/cec-config/cec-config.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECRecordingDevice.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/AdapterFactory.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-edid.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECInputBuffer.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-types.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessage.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommands.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/VLCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECBusDevice.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-threads.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/LibCEC.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/RLCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/RLCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/SLCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-socket.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECBusDevice.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessageQueue.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECProcessor.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/ANCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/sockets/socket.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/buffer.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/adl/adl-edid.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTV.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECAudioSystem.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECDeviceMap.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/serialport.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/nvidia/nv-edid.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/include/cectypes.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/CECCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessageQueue.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/sockets/serialport.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/nvidia/nv-edid.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/edid.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/LibCECC.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessage.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECClient.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/SLCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECProcessor.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTuner.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECClient.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/AdapterFactory.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/VLCommandHandler.cpp
4 packages and 0 specfiles checked; 73 errors, 12 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint libcec-devel libcec-debuginfo libcec
libcec-devel.x86_64: I: enchant-dictionary-not-found en_US
libcec-devel.x86_64: W: no-documentation
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cecloader.h
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cecc.h
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cectypes.h
libcec-devel.x86_64: E: incorrect-fsf-address /usr/include/libcec/cec.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommands.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/testclient/main.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/adl/adl-edid.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTuner.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECDeviceMap.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECPlaybackDevice.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/threads/mutex.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/ANCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/include/cec.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/AdapterCommunication.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/threads/threads.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECPlaybackDevice.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/include/cecloader.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECTypeUtils.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTV.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECAudioSystem.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/LibCEC.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECRecordingDevice.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/CECCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/timeutils.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/baudrate.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/cec-config/cec-config.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECRecordingDevice.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/AdapterFactory.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-edid.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECInputBuffer.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommunication.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-types.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessage.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterCommands.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/VLCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECBusDevice.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-threads.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/LibCEC.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/RLCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/RLCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/SLCommandHandler.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/os-socket.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECBusDevice.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessageQueue.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECProcessor.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/ANCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/sockets/socket.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/buffer.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/adl/adl-edid.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTV.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECAudioSystem.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECDeviceMap.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/posix/serialport.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/nvidia/nv-edid.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/include/cectypes.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/CECCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessageQueue.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/sockets/serialport.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/nvidia/nv-edid.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/platform/util/edid.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/LibCECC.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterMessage.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECClient.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/SLCommandHandler.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECProcessor.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/devices/CECTuner.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/CECClient.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/AdapterFactory.h
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/adapter/Pulse-Eight/USBCECAdapterDetection.cpp
libcec-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/libcec-1.9.0/src/lib/implementations/VLCommandHandler.cpp
libcec.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcec.so.1.0.9 linux-vdso.so.1
libcec.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcec.so.1.0.9 /lib64/libm.so.6
libcec.x86_64: W: devel-file-in-non-devel-package /usr/bin/cec-config
libcec.x86_64: E: incorrect-fsf-address /usr/share/doc/libcec-1.9.0/COPYING
libcec.x86_64: W: no-manual-page-for-binary cec-config
libcec.x86_64: W: no-manual-page-for-binary cec-client
3 packages and 0 specfiles checked; 73 errors, 6 warnings.
# echo 'rpmlint-done:'



Requires
--------
libcec-1.9.0-1.fc16.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig  
    libc.so.6()(64bit)  
    libdl.so.2()(64bit)  
    libgcc_s.so.1()(64bit)  
    libgcc_s.so.1(GCC_3.0)(64bit)  
    liblockdev.so.1()(64bit)  
    libm.so.6()(64bit)  
    libpthread.so.0()(64bit)  
    librt.so.1()(64bit)  
    libstdc++.so.6()(64bit)  
    libstdc++.so.6(CXXABI_1.3)(64bit)  
    rtld(GNU_HASH)  

libcec-devel-1.9.0-1.fc16.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/pkg-config  
    libcec(x86-64) = 1.9.0-1.fc16
    libcec.so.1()(64bit)  
    pkgconfig  

libcec-debuginfo-1.9.0-1.fc16.x86_64.rpm (rpmlib, GLIBC filtered):
    



Provides
--------
libcec-1.9.0-1.fc16.x86_64.rpm:
    
    libcec = 1.9.0-1.fc16
    libcec(x86-64) = 1.9.0-1.fc16
    libcec.so.1()(64bit)  

libcec-devel-1.9.0-1.fc16.x86_64.rpm:
    
    libcec-devel = 1.9.0-1.fc16
    libcec-devel(x86-64) = 1.9.0-1.fc16
    pkgconfig(libcec) = 1:9:0

libcec-debuginfo-1.9.0-1.fc16.x86_64.rpm:
    
    libcec-debuginfo = 1.9.0-1.fc16
    libcec-debuginfo(x86-64) = 1.9.0-1.fc16



MD5-sum check
-------------


Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24
Buildroot used: fedora-16-x86_64
Command line :/usr/bin/fedora-review -b 836821

Comment 8 Peter Robinson 2012-11-04 17:32:36 UTC
> Is the license of ADL compatible with GPLv2?

Where's ADL?

> I think you should BR libudev-devel. systemd-devel doesn't seem to be
> necessary though.

udev is now part of systemd and the libudev-devel is provided by systemd-devel

On a F-18 system do "repoquery --whatprovides libudev-devel"

> The sentences in %description should have periods, as they are proper
> sentences.

Fixed

> There's a Windoze executable that should be removed in the %prep section:
> http://fedoraproject.org/wiki/Packaging:Guidelines#No_inclusion_of_pre-
> built_binaries_or_libraries

Fixed

> The files section could be more specific:
> 
> %{_libdir}/%{name}.so.* or at least libcec.so.*. Stating the exact name of
> the two executables in bindir also wouldn't hurt. 

Done

> [!]: License field in the package spec file matches the actual license.
>      Note: Checking patched sources after %prep for licenses. Licenses found:
>      "BSD (2 clause)", "LGPL (v2.1 or later)", "Unknown or generated". 3
> files
>      have unknown license. Detailed output of licensecheck in
>      /home/makerpm/rpmbuild/SPECS/836821-libcec/licensecheck.txt
> 
> Dual licensed commercially and GPLv2+.
> 
> The license must be "GPLv2+" -- not "GPLv2"!

Updated

> [!]: Package contains systemd file(s) if in need.
> Doesn't need one, I think.

What systemd files. There's none there.

> [!]: Spec use %global instead of %define.
>      Note: %define tarfile %{name}-%{version}.tar.bz2
>
> That macro is unused and name isn't defined at that point in time anyway.
> Please delete or correct!

Fixed.

> libcec.x86_64: W: devel-file-in-non-devel-package /usr/bin/cec-config
> I think this is bogus

Yes, it is.

> libcec.x86_64: E: incorrect-fsf-address /usr/share/doc/libcec-1.9.0/COPYING
> Please contact upstream!

Already have.

> That's not a tragedy. On the other hand, the macros don't serve a purpose
> there.

They serve as documentation

> libcec.src:1: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 1)
> Please solve!

Fixed.

SRPM: http://pbrobinson.fedorapeople.org/libcec-1.9.0-2.fc17.src.rpm

Comment 9 Peter Robinson 2012-11-12 15:27:29 UTC
Updated to 2.0.3

SRPM: http://pbrobinson.fedorapeople.org/libcec-2.0.3-1.fc17.src.rpm

Comment 10 Volker Fröhlich 2012-11-18 19:42:40 UTC
(In reply to comment #8)
> > Is the license of ADL compatible with GPLv2?
> 
> Where's ADL?

Please forget that.

> 
> > [!]: Package contains systemd file(s) if in need.
> > Doesn't need one, I think.
> 
> What systemd files. There's none there.

That's an artifact from not knowing systemd provides libudev-devel.

> > That's not a tragedy. On the other hand, the macros don't serve a purpose
> > there.
> 
> They serve as documentation

Why on earth did I write that? It's fine, just as you say.

All issues addressed, package APPROVED.

Comment 11 Peter Robinson 2012-11-18 19:50:45 UTC
Thanks for the review

New Package GIT Request
=======================
Package Name: libcec
Short Description: Library and utilities for HDMI-CEC device control
Owners: pbrobinson
Branches: F-17 F-18
InitialCC:

Comment 12 Gwyn Ciesla 2012-11-19 11:06:44 UTC
Git done (by process-git-requests).

Comment 13 Mohamed El Morabity 2013-01-08 13:34:36 UTC
libcec was only built for F18, whereas a branch was requested for F17 too. Are there any plans to make it available for F17 too?