Bug 328161 - Review Request: concordance - Software to program the Logitech Harmony remote control
Review Request: concordance - Software to program the Logitech Harmony remote...
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Nicolas Mailhot
Fedora Extras Quality Assurance
:
: 388931 443301 (view as bug list)
Depends On: 438105
Blocks:
  Show dependency treegraph
 
Reported: 2007-10-11 14:59 EDT by Douglas E. Warner
Modified: 2008-05-14 17:34 EDT (History)
5 users (show)

See Also:
Fixed In Version: 0.20-5.fc8
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-05-14 17:34:00 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
nicolas.mailhot: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Douglas E. Warner 2007-10-11 14:59:35 EDT
Spec URL: http://www.silfreed.net/download/repo/packages/harmony/harmony.spec
SRPM URL: http://www.silfreed.net/download/repo/packages/harmony/harmony-0.11-2.src.rpm

Description: 
This software will allow you to program your Logitech Harmony universal remote
control.

$ rpmlint RPMS/harmony-*0.11-2* SRPMS/harmony-0.11-2.src.rpm
harmony.i386: W: wrong-file-end-of-line-encoding /usr/share/doc/harmony-0.11/examples/Connectivity.EZHex
harmony.i386: W: wrong-file-end-of-line-encoding /usr/share/doc/harmony-0.11/examples/Update.EZHex
harmony.i386: W: file-not-utf8 /usr/share/doc/harmony-0.11/examples/Update.EZHex
harmony.i386: W: wrong-file-end-of-line-encoding /usr/share/doc/harmony-0.11/examples/LearnIr.EZTut
harmony.src: W: non-coherent-filename harmony-0.11-2.src.rpm
Comment 1 Nicolas Mailhot 2007-10-11 16:29:00 EDT
OK MUST: rpmlint must be run on every package

Just a few warnings:

harmony.x86_64: W: wrong-file-end-of-line-encoding
/usr/share/doc/harmony-0.11/examples/Connectivity.EZHex
harmony.x86_64: W: wrong-file-end-of-line-encoding
/usr/share/doc/harmony-0.11/examples/Update.EZHex
harmony.x86_64: W: file-not-utf8 /usr/share/doc/harmony-0.11/examples/Update.EZHex
harmony.x86_64: W: wrong-file-end-of-line-encoding
/usr/share/doc/harmony-0.11/examples/LearnIr.EZTut

OK MUST: The package must be named according to the Package Naming Guidelines.

OK MUST: The spec file name must match the base package %{name}, in the format
%{name}.spec…

OK MUST: The package must meet the Packaging Guidelines.

OK MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.

OK MUST: The License field in the package spec file must match the actual license.

NOK 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 must be included in %doc.

OK MUST: The spec file must be written in American English.

Well, i18n English at least as that's the only thing I can be judge of

OK MUST: The spec file for the package MUST be legible…

OK MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL. Reviewers should use md5sum for this task. If no
upstream URL can be specified for this package, please see the Source URL
Guidelines for how to deal with this.

OK MUST: The package must successfully compile and build into binary rpms on at
least one supported architecture.

Builds on current x86_64 rawhide in mock

— MUST: If the package does not successfully compile, build or work on an
architecture…
Not tested on exotic arches

OK MUST: All build dependencies must be listed in BuildRequires…

Builds on current x86_64 rawhide in mock

N/A MUST: The spec file MUST handle locales properly…

N/A MUST: Every binary RPM package which stores shared library files…

N/A MUST: If the package is designed to be relocatable…

N/A MUST: A package must own all directories that it creates…

OK MUST: A package must not contain any duplicate files in the %files listing.

NOK MUST: Permissions on files must be set properly…
You rely entirely on upstream not messing up premissions. With such a simple
package you can do better:
please use a generic %defattr(0644, root, root, 0755) at the start of %files and
then %attr the single binary so it's executable

OK MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).

OK MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.

NOK MUST: The package must contain code, or permissable content. This is
described in detail in the code vs. content section of Packaging Guidelines.

Skip the examples

N/A MUST: Large documentation files should go in a -doc subpackage…

OK MUST: If a package includes something as %doc, it must not affect the runtime
of the application…

N/A MUST: Header files must be in a -devel package.

N/A MUST: Static libraries must be in a -static package.

N/A MUST: Packages containing pkgconfig(.pc) files…

N/A MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1)…

N/A MUST: In the vast majority of cases, devel packages must require the base
package…

N/A MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.

N/A MUST: Packages containing GUI applications must include a %{name}.desktop file,…

OK MUST: Packages must not own files or directories already owned by other packages…

OK MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}
(or $RPM_BUILD_ROOT)

OK MUST: All filenames in rpm packages must be valid UTF-8.

N/A SHOULD: If the source package does not include license text(s) as a separate
file from upstream…

N/A SHOULD: The description and summary sections in the package spec file should
contain translations…

OK SHOULD: The reviewer should test that the package builds in mock.

Builds on current x86_64 rawhide in mock

— SHOULD: The package should compile and build into binary rpms on all supported
architectures.

SHOULD: The reviewer should test that the package functions as described. A
package should not segfault instead of running, for example.

/usr/sbin/harmony  --get-time
Harmony Control 0.11
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting Identity: *********************done
            Model: Logitech Harmony 885 (Espresso)
 Firmware Version: 4.0
 Hardware Version: 2.1
Config Flash Used: 23% (443 of 1920 KiB)

The remote's time is currently 2007/10/11 Thu 22:22:12 +0 

This bit is working at least

N/A SHOULD: If scriptlets are used, those scriptlets must be sane…

N/A SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.

N/A SHOULD: The placement of pkgconfig(.pc) files depends on their usecase…

N/A SHOULD: If the package has file dependencies outside of /etc, /bin,…

%<---------------------------------------

Additionnal freeform comments and requests:

— please remove the commented Epoch
– it'd nice to use the buildroot preferred variant of the day
— it'd nice to respect the ordering and whitespacing of the fedora templates in
rpmdevtools
— please install the file yourself instead of relying on complex make install
argument passing (it's one file! install is simpler and safer!)
— please sprinkle the spec with ©®™ where appropriate so Logitech has no cause
to complain
— please include and install an udev/hal/policykit config file so harmony device
nodes are owned by the current GUI user and the utility needn't be run by root
from /usr/sbin
— PackageReviewProcess asks to check other stuff like trademarks, and trademarks
are clearly a concern for this package. This alone would cause the review to
fail. I'll let the review run till this is corrected, as there's no need to
involve legal in such a clear-cut case
— The examples should probably be dropped – they're not really useful to
end-users as upstream's readme explicitely states. Plus if they've been
downloaded from logitech's site they legal status may be murky
Comment 2 Douglas E. Warner 2007-10-12 12:02:12 EDT
Spec URL: http://www.silfreed.net/download/repo/packages/harmony/harmony.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/harmony/harmony-0.11-3.src.rpm

$ rpmlint RPMS/harmony-*0.11-3*.rpm SRPMS/harmony-0.11-3.src.rpm
harmony.src: W: non-coherent-filename harmony-0.11-3.src.rpm

%changelog
* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-3
- removing examples from docs
- installing binary by hand to bindir instead of sbindir
- removed commented epoch
- added ® where appropriate
- reordered elements of spec file; updated buildroot
- added udev rules for creating symlinks with nicer names
- added pam_console perms for setting devices to current user

%<---------------------------------------
Most issues raised should be addressed.

Do you have any examples for PolicyKit?  I'm only running F-7 here, so it's 
difficult for me to built a correct PolicyKit file for this software.

This is my first attempt at writing udev rules/pam_console perms, so I might 
have gotten something wrong here; additional checks here would be appreciated.

I'm still working with upstream to convince them that the name is potentially 
a trademark problem and find an acceptable name.
Comment 3 Douglas E. Warner 2007-10-12 13:03:25 EDT
Some cleanups.

Spec URL: http://www.silfreed.net/download/repo/packages/harmony/harmony.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/harmony/harmony-0.11-4.src.rpm

%changelog
* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-4
- including license.txt in doc
- switching defattr from (-, root, root, -) to (0644, root, root, 0755)
  and attr(0755) the binary
Comment 4 Douglas E. Warner 2007-10-12 14:48:20 EDT
Added scripts to generate udev rules and PolicyKit rules.  If we know someone 
we could CC to check over the PolicyKit rules, I'd appreciate it.

Spec URL: http://www.silfreed.net/download/repo/packages/harmony/harmony.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/harmony/harmony-0.11-6.src.rpm

%changelog
* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-6
- generating udev rules at build time
- updated udev rules to include more devices
- generating and packaging PolicyKit rules

* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-5
- fixing udev rules path
Comment 5 Douglas E. Warner 2007-10-12 15:05:17 EDT
Fixed broken .fdi file due to copy/paste typo.

Spec URL: http://www.silfreed.net/download/repo/packages/harmony/harmony.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/harmony/harmony-0.11-7.src.rpm

%changelog
* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-7
- fixed typo in harmony-gen-policykit-rules.sh
Comment 6 Douglas E. Warner 2007-10-12 15:14:58 EDT
Spec URL: http://www.silfreed.net/download/repo/packages/harmony/harmony.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/harmony/harmony-0.11-8.src.rpm

%changelog
* Fri Oct 12 2007 Douglas E. Warner <silfreed@silfreed.net> 0.11-8
- moving udev/PolicyKit generation from install to build
Comment 7 Nicolas Mailhot 2007-10-12 16:21:55 EDT
Ok, this ones seems good except for the problem name

Do get davidz to check your rules are in good taste though. All I can tell is
they work ;)
Comment 8 Douglas E. Warner 2007-10-15 14:47:46 EDT
(In reply to comment #7)
> Ok, this ones seems good except for the problem name

Haven't heard from upstream since I emailed them on Friday; that was after an 
initial email and response that made it sound like upstream wasn't too 
concerned with renaming the project.  Their only suggestion was to call the 
package "harmonyremote", but I explained in my response how that probably 
wouldn't be sufficient.
 
> Do get davidz to check your rules are in good taste though. All I can tell 
is
> they work ;)

Sent an email; I don't see him on IRC right now.
Comment 9 Douglas E. Warner 2007-11-12 13:51:23 EST
Upstream finally conceeded that their naming might be problematic.  I'm trying 
to help them come up with a new name.  Any suggestions would be appreciated.  
I'm currently leaning towards something including "chord".
Comment 10 Stephen Warren 2007-11-17 18:08:04 EST
Before being pointed at this package review request, I also attempted to package
this utility, in bug 388931.

It looks like this package is far ahead of mine in features. However, I do have
a couple of comments:

1) Do you need "Requires: libusb", or does the BuildRequires do this automatically?

2) There's a header file with Microsoft copyright in win/setupapi.h. This
doesn't get into the file .rpm file, but is shipped in the .srpm file. According
to another review request I submitted, shipping "bad" stuff even in just the
.srpm is bad. As such, I made my package use a modified source .tar.bz2 with
this file removed - see harmony-generate-tarball.sh in my .srpm. Does this
technique need to be integrated into this .srpm?
Comment 11 Stephen Warren 2007-11-17 18:08:35 EST
*** Bug 388931 has been marked as a duplicate of this bug. ***
Comment 12 Stephen Warren 2008-01-29 00:00:27 EST
This seems to have been stalled for a while. Any progress update?
Comment 13 Nicolas Mailhot 2008-01-29 03:30:45 EST
It's stalling on upstream choosing a new name we can use without being sued
Comment 14 Stephen Warren 2008-01-29 14:47:25 EST
Is there any activity on this upstream? I don't see anything on their mailing
lists about this.

Perhaps Fedora can just pick a name and use it?
Comment 15 Douglas E. Warner 2008-01-29 15:02:52 EST
(In reply to comment #14)
> Is there any activity on this upstream? I don't see anything on their 
mailing
> lists about this.

There is; upstream recognizes the problem and is soliciting recommendations.  
Any recommendations you have I can take upstream.

> Perhaps Fedora can just pick a name and use it?

Not without pulling an "IceWeasel" and forever maintaining a fork.
Comment 16 Stephen Warren 2008-01-29 16:33:21 EST
On this mailing list?

http://sourceforge.net/mailarchive/forum.php?forum_name=harmonycontrol-devel

Anyway, here's my 2 cents on naming ideas:

hcontrol
hflash
loligo (squid with many tentacles like harmony is many remote controls)
tranquility

I'm sure people could come up with 100 more. It seems like upstream simply has
to pick one, and it's silly for them to hold up packaging by not doing so!

Has anyone asked Logitech if they're OK with the project using the name, or
since it's presumably (R)/(TM)/... is Fedora unable to use it even with permission?
Comment 17 Douglas E. Warner 2008-01-29 22:28:52 EST
(In reply to comment #16)
> On this mailing list?
> http://sourceforge.net/mailarchive/forum.php?forum_name=harmonycontrol-devel

Yes, in this thread:

http://sourceforge.net/mailarchive/forum.php?thread_name=4788278F.6010001%40ipom.com&forum_name=harmonycontrol-devel
 
> Anyway, here's my 2 cents on naming ideas:

Thanks; I'll forward upstream.
Comment 18 Douglas E. Warner 2008-02-20 13:21:23 EST
Upstream has settled on renaming their software from "Harmony Remote" 
to "Concordance".  They will also be splitting the app into CLI and library 
named concord and libconcord.  I'll file a separate review request for 
libconcord once upstream has their source reorganized into a new release.
Comment 19 Stephen Warren 2008-02-20 23:52:46 EST
One comment on the spec file I keep meaning to say:

You probably need to re-package the up-stream source tarball to remove the
examples. I know you've removed them from the binary .rpm, but if they remain in
the source tarball, then they'll end up in the .srpm file. This would still mean
Fedora would be shipping unlicensed firmware etc.

At least, I had to do this for the fxload package I made; you can find examples
of what I did there.
Comment 20 Douglas E. Warner 2008-03-10 13:44:39 EDT
Fixing request name again; cli and project is called "concordance", while the 
library is "libconcord".
Comment 21 Douglas E. Warner 2008-03-18 23:44:56 EDT
Added bug#438105 for libconcord which blocks this bug.

Renamed my packages to match new upstream and created packages based on 
current CVS.

Spec URL: 
https://rpm.silfreed.net:8002/?raw-file/134460f0ba79/concordance/concordance.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/concordance/concordance-0.20-0.1.20080318cvs.src.rpm

%changelog
* Tue Mar 18 2008 Douglas E. Warner <silfreed@silfreed.net> 
0.20-0.1.20080318cvs
- renamed from harmony to concordance
- update to pre-release 0.20 that works with libconcord
- adding BuildRequires libconcord-devel
- adding Obsoletes harmony <= 0.20 and Provides harmony to provide upgrade
  path

Nicolas: I think you said in IRC you had an improvement to the PolicyKit rules 
I created?  Do you remember which package I can look at to check things out?
Comment 22 Nicolas Mailhot 2008-03-19 03:09:03 EDT
(In reply to comment #21)

> Nicolas: I think you said in IRC you had an improvement to the PolicyKit rules 
> I created?  Do you remember which package I can look at to check things out?

argyllcms should be current wrt consolekit. At least davidz reviewed it and
didn't point any problem
Comment 23 Douglas E. Warner 2008-03-21 14:15:06 EDT
Spec URL: 
https://rpm.silfreed.net:8002/?raw-file/cc5e2d809e11/concordance/concordance.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/concordance/concordance-0.20-0.2.20080318cvs.src.rpm

%changelog
* Fri Mar 21 2008 Douglas E. Warner <silfreed@silfreed.net> 
0.20-0.2.20080318cvs
- disable static linking against libconcord
Comment 24 Douglas E. Warner 2008-04-21 12:14:22 EDT
Spec URL: 
https://rpm.silfreed.net:8002/index.cgi/raw-file/0095a2f4ed35/concordance/concordance.spec
SRPM 
URL:http://www.silfreed.net/download/repo/packages/concordance/concordance-0.20-1.src.rpm

%changelog
* Mon Apr 21 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-1
- updating to 0.20
Comment 25 Nicolas Mailhot 2008-04-21 14:16:14 EDT
Is this one building in Fedora-devel?
Comment 26 Douglas E. Warner 2008-04-21 14:29:34 EDT
It built for me in mock: 
http://www.silfreed.net/download/repo/packages/concordance/
Comment 27 Nicolas Mailhot 2008-04-21 15:57:12 EDT
ok, review next friday then
Comment 28 Nigel Jones 2008-04-21 17:37:29 EDT
*** Bug 443301 has been marked as a duplicate of this bug. ***
Comment 29 Nigel Jones 2008-04-21 17:46:53 EDT
Hi, I did some work on the concordance package (I somehow missed the review), so you might want to 
take a look at http://dev.nigelj.com/SRPMS/concordance.spec), I havn't done any of the udev/hal stuff, 
but I managed to get the libraries & bindings building from the one source package.

Also, by my reckoning, the License is GPLv3 (Not GPLv3+) I can't see an or later clause...
And, your Source0 needs correcting to http://downloads.sourceforge.net/sourceforge/%{name}/%{name}-
%{version}.tar.bz2
Comment 30 Stephen Warren 2008-04-21 20:37:34 EDT
The source files I have all say "or later", hence GPLv3+ not GPLv3. Admittedly I
got all the files from CVS, not the release, but I'm on the CVS commit mailing
list, and I know they haven't changed since.

For example, 

./libconcord/libconcord.cpp:9: * (at your option) any later version.
./concordance/concordance.c:9: * (at your option) any later version.
Comment 31 Douglas E. Warner 2008-04-21 20:48:40 EDT
(In reply to comment #29)
> Hi, I did some work on the concordance package (I somehow missed the 
review), so you might want to 
> take a look at http://dev.nigelj.com/SRPMS/concordance.spec), I havn't done 
any of the udev/hal stuff, 
> but I managed to get the libraries & bindings building from the one source 
package.

I plan on adding the bindings to the libconcord package in the near future, 
but I'm sure how it was viewed to have different package base names in the 
same spec file.  Right now I have a review in progress for libconcord as a 
separate package.

> Also, by my reckoning, the License is GPLv3 (Not GPLv3+) I can't see an or 
later clause...

You need to look at the source files; they all have the "or later" clause.

> And, your Source0 needs correcting to 
http://downloads.sourceforge.net/sourceforge/%{name}/%{name}-
> %{version}.tar.bz2

It's been fixed; I'll push new spec files out shortly.
Comment 32 Nigel Jones 2008-04-21 21:41:40 EDT
(In reply to comment #31)
> (In reply to comment #29)
> > Hi, I did some work on the concordance package (I somehow missed the 
> review), so you might want to 
> > take a look at http://dev.nigelj.com/SRPMS/concordance.spec), I havn't done 
> any of the udev/hal stuff, 
> > but I managed to get the libraries & bindings building from the one source 
> package.
> 
> I plan on adding the bindings to the libconcord package in the near future, 
> but I'm sure how it was viewed to have different package base names in the 
> same spec file.  Right now I have a review in progress for libconcord as a 
> separate package.
I queried this myself, one base package seems to fit the need, unless of course upstream are going to 
split it into three.

However.... there is currently nothing in the Naming Guidelines that say either way.

Personally I'm not fussed either way, but I prefer a single src.rpm at the moment.

Personally, I'd recommend to them, that the distribute the components (concordance, libconcord, 
bindings etc) as separate packages but thats just my view.
> 
> > Also, by my reckoning, the License is GPLv3 (Not GPLv3+) I can't see an or 
> later clause...
> 
> You need to look at the source files; they all have the "or later" clause.
Yeah, my bad.
Comment 33 Douglas E. Warner 2008-04-22 21:14:11 EDT
Spec URL: 
https://rpm.silfreed.net:8002/index.cgi/file/a8df2c0857ab/concordance/concordance.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/concordance/concordance-0.20-2.src.rpm

%changelog
* Mon Apr 21 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-2
- fixed Source0 url
- changing to build/install dir rather than setting it in setup macro
- install using autoconf script
Comment 34 Nicolas Mailhot 2008-04-27 09:04:15 EDT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

2008-04-27 13:00:00 review of
http://www.silfreed.net/download/repo/packages/concordance/concordance-0.20-2.src.rpm

$ sha1sum concordance.spec
19f0483a2e2c192f3ac4282f3279a841195ba700  concordance.spec

Generic review checklist:
=========================

☑ MUST: rpmlint must be run on every package. The output should be posted in
the review.

Nothing to see:
$ rpmlint concordance-0.20-2.fc9.src.rpm  concordance-0.20-2.fc9.x86_64.rpm \
  concordance-debuginfo-0.20-2.fc9.x86_64.rpm
$

☑ MUST: The package must be named according to the Package Naming Guidelines.

OK

☑ MUST: The spec file name must match the base package %{name}, in the format
%{name}.spec unless your package has an exemption on Package Naming
Guidelines.

OK

☑ MUST: The package must meet the Packaging Guidelines.

OK

☑ MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.

OK

☑ MUST: The License field in the package spec file must match the actual
license.

OK

☑ 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 must be included in %doc.

OK

☑ MUST: The spec file must be written in American English.

OK

☑ MUST: The spec file for the package MUST be legible. If the reviewer is
unable to read the spec file, it will be impossible to perform a review.
Fedora is not the place for entries into the Obfuscated Code Contest
(http://www.ioccc.org/).

OK

☑ MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL. Reviewers should use md5sum for this task. If no
upstream URL can be specified for this package, please see the Source URL
Guidelines for how to deal with this.

OK

☐ MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.

This package depends on libconcord, which is not available in koji right now.
So this bit can't be checked till libconcord is approved. However a local
x86_64 mock build worked fine.

☐ MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch. Each architecture listed in ExcludeArch needs to have a bug
filed in bugzilla, describing the reason that the package does not
compile/build/work on that architecture. The bug number should then be placed
in a comment, next to the corresponding ExcludeArch line. New packages will
not have bugzilla entries during the review process, so they should put this
description in the comment until the package is approved, then file the
bugzilla entry, and replace the long explanation with the bug number. (Extras
Only) The bug should be marked as blocking one (or more) of the following
bugs to simplify tracking such issues: FE-ExcludeArch-x86,
FE-ExcludeArch-x64, FE-ExcludeArch-ppc, FE-ExcludeArch-ppc64

Not checked for the aforementionned reasons

☑ MUST: All build dependencies must be listed in BuildRequires, except for
any that are listed in the exceptions section of Packaging Guidelines;
inclusion of those as BuildRequires is optional. Apply common sense.

See the freeform review.

☑ MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.

OK

☐ MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun. If the package has multiple subpackages with libraries,
each subpackage should also have a %post/%postun section that calls
/sbin/ldconfig. An example of the correct syntax for this is:

N/A

☐ MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review, along with the rationalization for
relocation of that specific package. Without this, use of Prefix: /usr is
considered a blocker.

N/A

☐ MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which does
create that directory. Refer to the Guidelines for examples.

N/A

☑ MUST: A package must not contain any duplicate files in the %files listing.

OK

☑ MUST: Permissions on files must be set properly. Executables should be set
with executable permissions, for example. Every %files section must include a
%defattr(...) line.

OK

☑ MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot} (or $RPM_BUILD_ROOT).

OK

☑ MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.

OK

☑ MUST: The package must contain code, or permissable content. This is
described in detail in the code vs. content section of Packaging Guidelines.

OK

☐ MUST: Large documentation files should go in a -doc subpackage. (The
definition of large is left up to the packager's best judgement, but is not
restricted to size. Large can refer to either size or quantity)

N/A

☑ MUST: If a package includes something as %doc, it must not affect the
runtime of the application. To summarize: If it is in %doc, the program must
run properly if it is not present.

OK

☐ MUST: Header files must be in a -devel package.

N/A

☐ MUST: Static libraries must be in a -static package.

N/A

☐ MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
(for directory ownership and usability).

N/A

☐ MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), then library files that end in .so (without suffix) must go
in a -devel package.

N/A

☐ MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release}

N/A

☐ MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.

N/A

☐ MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in
the %install section. This is described in detail in the desktop files
section of Packaging Guidelines. If you feel that your packaged GUI
application does not need a .desktop file, you must put a comment in the spec
file with your explanation.

N/A

☑ MUST: Packages must not own files or directories already owned by other
packages. The rule of thumb here is that the first package to be installed
should own the files or directories that other packages may rely upon. This
means, for example, that no package in Fedora should ever share ownership
with any of the files or directories owned by the filesystem or man package.
If you feel that you have a good reason to own a file or directory that
another package owns, then please present that at package review time.

OK

☑ MUST: At the beginning of %install, each package MUST run rm -rf
%{buildroot} (or $RPM_BUILD_ROOT). See Prepping BuildRoot For %install for
details.

OK

☑ MUST: All filenames in rpm packages must be valid UTF-8.

OK

☐ 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.

N/A

☐ SHOULD: The description and summary sections in the package spec file
should contain translations for supported Non-English languages, if available.

N/A

☑ SHOULD: The reviewer should test that the package builds in mock. See
MockTricks for details on how to do this.

OK

☐ SHOULD: The package should compile and build into binary rpms on all
supported architectures.

See before

☑ SHOULD: The reviewer should test that the package functions as described. A
package should not segfault instead of running, for example.

$ date && concordance -vK && concordance -vk
dim avr 27 14:42:51 CEST 2008
Concordance 0.20
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting Identity: 100%                 done
Remote time has been set to 2008/04/27 Sun 14:42:51 +0
Success!
Concordance 0.20
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting Identity: Error requesting identity
Failed with error 1

$  concordance -vk
Concordance 0.20
Copyright 2007 Kevin Timmerman and Phil Dibowitz
This software is distributed under the GPLv3.

Requesting Identity: 100%                 done
Remote time is 2008/04/27 Sun 14:43:07 +0
Success!

☐ SHOULD: If scriptlets are used, those scriptlets must be sane. This is
vague, and left up to the reviewers judgement to determine sanity.

N/A

☐ SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.

N/A

☐ SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and
this is usually for development purposes, so should be placed in a -devel
pkg. A reasonable exception is that the main pkg itself is a devel tool not
installed in a user runtime, e.g. gcc or gdb.

N/A

☐ SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin consider requiring the package which provides the file
instead of the file itself. Please see File Dependencies in the Guidelines
for further information.

N/A

Freeform comments:
==================

Spec mostly ok, however:
— please use a downloads.sourceforge.net source URL such as
  http://downloads.sourceforge.net/%{name}/%{name}-%version}.tar.bz2
— please remove the private copy of getopt sources in %prep to make sure you
  don't accidently build against it
— please add the rest of the documentation files to %doc, such as
  SubmittingPatches, Codingstyle, %{name}/INSTALL.linux
— please make the project submit a patch to the linux-input ML
  <linux-input@vger.kernel.org> so harmony USB ids are not claimed by the HID
  driver by default (it's all fine and dandy to unbind dynamically but not
  binding at all in the first place is much preferred)
— please fix this x86_64 build warning:
  concordance.c: In function 'cb_print_percent_status':
  concordance.c:126: warning: cast from pointer to integer of different size
— please remove the pam_console/udev glue & deps, it's supposed to be totally
  deprecated in favor of ConsoleKit/PolicyKit nowadays
— it would be nice to define a specific CK access_control.type
— it would be nice to merge the CK bits upstream
— it would be nice to run your generated XML files through xmllint, both to
  have them pretty-indented and to make sure they do not have a syntax
  problem.
— please remove the harmony Obsoletes/Provides, harmony was never distributed
  by Fedora and these rules can only bite you later.

Anyway, a lot of this can be taken care of over time (but do not wait too long)
⇒ APPROVED, on the condition libconcord is merged too
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkgUeVwACgkQI2bVKDsp8g36wQCgnwaxOoxU+vheK2G+00qrwTGN
IxEAoKohFWl5PthSpHu3yNqRB2j03S5q
=LqUA
-----END PGP SIGNATURE-----
Comment 35 Douglas E. Warner 2008-05-03 17:42:21 EDT
I'll try to push as much of the other items you posted from the review 
upstream in the near future.

Spec URL: 
https://rpm.silfreed.net:8002/index.cgi/file/37414f878d6a/concordance/concordance.spec
SRPM URL: 
http://www.silfreed.net/download/repo/packages/concordance/concordance-0.20-4.src.rpm

%changelog
* Sat May 03 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-4
- adding additional docs
- removed harmony provides/obsoletes
- removing private getopt sources
- removing udev/pam_console rules
- running generated xml file through xmllint at build time

* Tue Apr 22 2008 Douglas E. Warner <silfreed@silfreed.net> 0.20-3
- fixed Source0 url to downloads.sourceforge.net instead of dl.sourceforge.net
Comment 36 Douglas E. Warner 2008-05-09 11:02:39 EDT
New Package CVS Request
=======================
Package Name: concordance
Short Description: Software to program the Logitech Harmony remote control
Owners: silfreed
Branches: F-8 F-9
Cvsextras Commits: yes
Comment 37 Kevin Fenzi 2008-05-10 00:08:21 EDT
cvs done.
Comment 38 Fedora Update System 2008-05-12 17:24:20 EDT
concordance-0.20-4.fc8,libconcord-0.20-5.fc8 has been submitted as an update for Fedora 8
Comment 39 Fedora Update System 2008-05-12 17:25:23 EDT
concordance-0.20-4.fc9,libconcord-0.20-5.fc9 has been submitted as an update for Fedora 9
Comment 40 Fedora Update System 2008-05-13 08:34:34 EDT
libconcord-0.20-5.fc9, concordance-0.20-4.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 41 Fedora Update System 2008-05-13 11:20:10 EDT
libconcord-0.20-5.fc9, concordance-0.20-4.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 42 Fedora Update System 2008-05-14 17:33:49 EDT
libconcord-0.20-5.fc8, concordance-0.20-4.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

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