Spec URL: http://leamas.fedorapeople.org/iguanaIR/iguanaIR.spec SRPM URL: http://leamas.fedorapeople.org/iguanaIR/iguanaIR-1.0.3-1.fc17.src.rpm Description: User-space driver, tools and language bindings for the iguanaIR USB IR receiver/transmitter device. The driver is an alternative to the kernel driver available from 3.6+. Besides added functionality such as firmware tools and language bindings it's also the hardware vendor's reference driver. Together with lircd(8) it can manage IR remote controls and equipment in contexts like mythtv or XBMC. This request is based on previous work in bug 642773. FAS username: leamas Rpmlint: Checking: iguanaIR-1.0.3-1.fc18.i686.rpm iguanaIR-devel-1.0.3-1.fc18.i686.rpm python-iguanaIR-1.0.3-1.fc18.i686.rpm iguanaIR-firmware-1.0.3-1.fc18.noarch.rpm iguanaIR.i686: W: non-standard-uid /lib/udev/devices/iguanaIR iguanair (6) These should be OK since package adds that user. iguanaIR.i686: W: no-manual-page-for-binary (3) Upstream doesn't provide manpages, so... iguanaIR-devel.i686: W: spelling-error (3) Basically noise, although I'm not a native speaker. iguanaIR-firmware.noarch: W: no-documentation Package requires base package, so this should be OK. 4 packages and 0 specfiles checked; 0 errors, 14 warnings.
*** Bug 642773 has been marked as a duplicate of this bug. ***
I will take this review.
Issues, in no particular order: 1. The initial changelog entry in the spec file says: "Set license to GPLv2, can't find any LGPL files." However, "grep -FR LGPL ." shows 10 files that claim to be under the LGPL: compat.h, compat-unix.c, dataPackets.c, dataPackets.h, iguanaIR.c, iguanaIR.h, pipes.c, pipes.h, support.c, and support.h. If I'm reading the Makefile correctly, that means that %{_libdir}/libiguanaIR.so.0 is LGPL, as is the entire -devel subpackage, and everything else is GPL. It might be worth splitting the library out into its own subpackage to keep the license situation clear. (That would also enable multilib builds, which you may not care about.) 2. The main RPM installs a file into /etc/logrotate.d, but doesn't Require logrotate. If you think this is not necessary, please justify. 3. The firmware subpackage is noarch, but uses the %{_isa} macro. That macro would seem to be nonsensical in a noarch context. 4. The main package owns the two .so files in %{_libdir}/iguanaIR, but does not own %{_libdir}/iguanaIR itself. 5. Add "-p" to the invocations of "install" that install files, rather than those that create directories, to preserve timestamps. 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. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. 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. [x]: Sources contain only permissible code or content. [x]: %config files are marked noreplace or the reason is justified. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [!]: Package requires other packages for directories it uses. See issue #2 above. [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 firmware, %package devel, %package -n python-iguanaIR [x]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [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: "Unknown or generated". 1 files have unknown license. Detailed output of licensecheck in /home/jamesjer/891339-iguanaIR/licensecheck.txt See issue #1 above. [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]: No %config files under /usr. [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. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [!]: Package must own all directories that it creates. See issue #4 above. [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. [x]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. [x]: Useful -debuginfo package or justification otherwise. [x]: Large documentation must go in a -doc subpackage. Note: Documentation size is 153600 bytes in 27 files. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python ===== 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) [x]: 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]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: The placement of pkgconfig(.pc) files are correct. [x]: Scriptlets must be sane, if used. [x]: SourceX tarball generation or download is documented. [!]: SourceX / PatchY prefixed with %{name}. Note: Patch8 (0008-udev-invoke-systemd-support-not-sysV-init-file.patch) Patch1 (0001-Remove-trailing-whitespace.patch) Patch2 (0002-Don-t -hardcode-iguanair-UID.patch) Patch3 (0003-Use-platform-specific-python- extension-dir.patch) Patch4 (0004-Don-t-exit-3-in-library-calls.patch) Patch5 (0005-Improve-driver-dir-detection.patch) Patch6 (0006-make- options-file-work-w-systemd.patch) Patch7 (0007-Use-fedora-specific- default-socket-directory.patch) [x]: SourceX is a working URL. [x]: 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. [!]: Packages should try to preserve timestamps of original installed files. See issue #5 above. [x]: Files in /run, var/run and /var/lock uses tmpfiles.d when appropriate [x]: Spec use %global instead of %define. ===== 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. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: iguanaIR-1.0.3-1.fc19.src.rpm iguanaIR-1.0.3-1.fc19.i686.rpm iguanaIR-devel-1.0.3-1.fc19.i686.rpm iguanaIR-debuginfo-1.0.3-1.fc19.i686.rpm iguanaIR-firmware-1.0.3-1.fc19.noarch.rpm iguanaIR.src: W: spelling-error %description -l en_US igdaemon -> daemon iguanaIR.src: W: spelling-error %description -l en_US igclient -> client iguanaIR.src: W: strange-permission iguanaIR-rescan 0755L iguanaIR.i686: W: non-standard-uid /lib/udev/devices/iguanaIR iguanair iguanaIR.i686: W: non-standard-gid /lib/udev/devices/iguanaIR iguanair iguanaIR.i686: W: non-standard-uid /var/log/iguanaIR iguanair iguanaIR.i686: W: non-standard-gid /var/log/iguanaIR iguanair iguanaIR.i686: W: non-standard-uid /run/iguanaIR iguanair iguanaIR.i686: W: non-standard-gid /run/iguanaIR iguanair iguanaIR.i686: W: no-manual-page-for-binary igdaemon iguanaIR.i686: W: no-manual-page-for-binary igclient iguanaIR-devel.i686: W: spelling-error %description -l en_US igdaemon -> daemon iguanaIR-firmware.noarch: W: spelling-error Summary(en_US) reflasher -> re flasher, re-flasher, flasher iguanaIR-firmware.noarch: W: spelling-error %description -l en_US reflasher -> re flasher, re-flasher, flasher iguanaIR-firmware.noarch: W: no-documentation iguanaIR-firmware.noarch: W: no-manual-page-for-binary iguanaIR-reflasher 5 packages and 0 specfiles checked; 0 errors, 16 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint iguanaIR-debuginfo iguanaIR-firmware iguanaIR iguanaIR -devel iguanaIR-firmware.noarch: W: spelling-error Summary(en_US) reflasher -> re flasher, re-flasher, flasher iguanaIR-firmware.noarch: W: spelling-error %description -l en_US reflasher -> re flasher, re-flasher, flasher iguanaIR-firmware.noarch: W: no-documentation iguanaIR-firmware.noarch: W: no-manual-page-for-binary iguanaIR-reflasher iguanaIR.i686: W: non-standard-uid /lib/udev/devices/iguanaIR iguanair iguanaIR.i686: W: non-standard-gid /lib/udev/devices/iguanaIR iguanair iguanaIR.i686: W: non-standard-uid /var/log/iguanaIR iguanair iguanaIR.i686: W: non-standard-gid /var/log/iguanaIR iguanair iguanaIR.i686: W: non-standard-uid /run/iguanaIR iguanair iguanaIR.i686: W: non-standard-gid /run/iguanaIR iguanair iguanaIR.i686: W: no-manual-page-for-binary igdaemon iguanaIR.i686: W: no-manual-page-for-binary igclient iguanaIR-devel.i686: W: spelling-error %description -l en_US igdaemon -> daemon 4 packages and 0 specfiles checked; 0 errors, 13 warnings. # echo 'rpmlint-done:' Requires -------- iguanaIR-1.0.3-1.fc19.i686.rpm (rpmlib, GLIBC filtered): /bin/bash /bin/sh config(iguanaIR) = 1.0.3-1.fc19 libc.so.6 libdl.so.2 libiguanaIR.so.0 libiguanaIR.so.0(IGUANAIR_0) libpopt.so.0 libpopt.so.0(LIBPOPT_0) libpthread.so.0 libusb-0.1.so.4 libusb-1.0.so.0 lirc rtld(GNU_HASH) shadow-utils systemd-sysv systemd-units udev iguanaIR-devel-1.0.3-1.fc19.i686.rpm (rpmlib, GLIBC filtered): iguanaIR(x86-32) = 1.0.3-1.fc19 libiguanaIR.so.0 iguanaIR-debuginfo-1.0.3-1.fc19.i686.rpm (rpmlib, GLIBC filtered): iguanaIR-firmware-1.0.3-1.fc19.noarch.rpm (rpmlib, GLIBC filtered): /usr/bin/python2.7 iguanaIR(x86-32) = 1.0.3-1.fc19 Provides -------- iguanaIR-1.0.3-1.fc19.i686.rpm: config(iguanaIR) = 1.0.3-1.fc19 iguanaIR = 1.0.3-1.fc19 iguanaIR(x86-32) = 1.0.3-1.fc19 libiguanaIR.so.0 libiguanaIR.so.0(IGUANAIR_0) iguanaIR-devel-1.0.3-1.fc19.i686.rpm: iguanaIR-devel = 1.0.3-1.fc19 iguanaIR-devel(x86-32) = 1.0.3-1.fc19 iguanaIR-debuginfo-1.0.3-1.fc19.i686.rpm: iguanaIR-debuginfo = 1.0.3-1.fc19 iguanaIR-debuginfo(x86-32) = 1.0.3-1.fc19 iguanaIR-firmware-1.0.3-1.fc19.noarch.rpm: iguanaIR-firmware = 1.0.3-1.fc19 Unversioned so-files -------------------- iguanaIR-1.0.3-1.fc19.i686.rpm: /usr/lib/iguanaIR/libusb.so iguanaIR-1.0.3-1.fc19.i686.rpm: /usr/lib/iguanaIR/libusbpre1.so python-iguanaIR-1.0.3-1.fc19.i686.rpm: /usr/lib/python2.7/site-packages/_iguanaIR.so MD5-sum check ------------- http://iguanaworks.net/downloads/iguanaIR-1.0.3.tar.bz2 : CHECKSUM(SHA256) this package : 6489a9b0046adeb11ef6ebad28f2d9c538a13ea60595705e335319b9d6a7ff24 CHECKSUM(SHA256) upstream package : 6489a9b0046adeb11ef6ebad28f2d9c538a13ea60595705e335319b9d6a7ff24 Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16 Buildroot used: fedora-rawhide-i386 Command line :/usr/bin/fedora-review -b 891339 -m fedora-rawhide-i386
(In reply to comment #3) > Issues, in no particular order: > > 1. The initial changelog entry in the spec file says: "Set license to GPLv2, > can't find any LGPL files." However, "grep -FR LGPL ." shows 10 files > that claim to be under the LGPL: compat.h, compat-unix.c, dataPackets.c, > dataPackets.h, iguanaIR.c, iguanaIR.h, pipes.c, pipes.h, support.c, and > support.h. If I'm reading the Makefile correctly, that means that > %{_libdir}/libiguanaIR.so.0 is LGPL, as is the entire -devel subpackage, > and everything else is GPL. It might be worth splitting the library out > into its own subpackage to keep the license situation clear. (That would > also enable multilib builds, which you may not care about.) One of those errors I just can't explain...fixed. > 2. The main RPM installs a file into /etc/logrotate.d, but doesn't Require > logrotate. If you think this is not necessary, please justify. Will not justify, adding a Requires: instead. Fixed. > 3. The firmware subpackage is noarch, but uses the %{_isa} macro. That macro > would seem to be nonsensical in a noarch context. To much copy-paste, to little thinking... Fixed > 4. The main package owns the two .so files in %{_libdir}/iguanaIR, but does > not own %{_libdir}/iguanaIR itself. So let's claim complete directory instead. Fixed, > 5. Add "-p" to the invocations of "install" that install files, rather than > those that create directories, to preserve timestamps. Fixed Updated in-place, same links, no release bump (but a changelog entry) BTW, most of the patches are accepted upstream. Might make sense to release a git snapshot after the first release.
Looks good. This package is APPROVED.
New Package SCM Request ======================= Package Name: iguanaIR Short Description: Driver for Iguanaworks USB IR transceiver Owners: leamas Branches: f17 f18 InitialCC:
Jerry! Somehow I have succeed in resetting the fedora-review +flag to '?'. Could you please reset it to '+' (don't ask what happened, please...).
(In reply to comment #7) > Jerry! Somehow I have succeed in resetting the fedora-review +flag to '?'. > Could you please reset it to '+' (don't ask what happened, please...). Done (requested on #fedora-devel)
New Package SCM Request ======================= Package Name: iguanaIR Short Description: Driver for Iguanaworks USB IR transceiver Owners: leamas Branches: f17 f18 InitialCC: (Repeated after fixing troubles above)
Git done (by process-git-requests).
Builds ok, f17 and f18 in updates-testing. Closing.
Great, this took some years. But where is it?! Can't find it for F17 updates-testing, nor in F18 updates-testing. Not even in koji?
It already in stable. You can install using yum, or find it in bodhi and pkgdb.
Sorry, can you be more specific? This is what I'm getting on F18: # yum list lirc ... lirc.x86_64 0.9.0-10.fc18 @fedora # rpm -q lirc lirc-0.9.0-10.fc18.x86_64 # lircd -H iguanaIR -n Driver `iguanaIR' not supported. ...
The package name is iguanaIR. It can be installed using yum. Please don't (ab)use closed review tickets for support.
Package Change Request ====================== Package Name: iguanaIR New Branches: epel7 Owners: hobbes1069 leamas InitialCC: Needed for epel7 lirc