Spec URL: http://forevermore.net/files/packages/lineak/lineakd.spec SRPM URL: http://forevermore.net/files/packages/lineak/lineakd-0.8.4-1.src.rpm Description: Lineakd is a daemon that can be programmed to watch for events from easy-access and multimedia keys on recent keyboards. It can respond to the events by running programs, sending events to existing programs, changing the volume, etc. (please also see forthcoming plugin packages: lineak_defaultplugin, lineak_kdeplugins, lineak_xosdplugin)
Issues: The source file in your SRPM is mode 664; it should be 644. Probably doesn't matter when you check in, but you might want to fix it anyway. Your Source: URL just gives HTML. You should use dl.sf.net instead of prdownloads.sf.net. Needs these just to build: BuildRequires: libXext-devel BuildRequires: libXt-devel Once built, rpmlint complains: E: lineakd postin-without-ldconfig /usr/lib64/liblineak.so.0.8.0 E: lineakd postun-without-ldconfig /usr/lib64/liblineak.so.0.8.0 E: lineakd non-empty-%post /sbin/ldconfig W: lineakd one-line-command-in-%post ################################################################################ E: lineakd non-empty-%postun /sbin/ldconfig W: lineakd one-line-command-in-%postun ################################################################################ W: lineakd-devel no-documentation Most of this goes away if you remove your separator comments. I don't know if rpmlint has a valid complaint here or not but I admit that I've not seen that style of commenting in a specfile before. What remains is the lack of documentation in lineak-devel, which I believe is a bogus warning. Review: * package meets naming and packaging guidelines. * specfile is properly named, is cleanly written and uses macros consistently. * license field matches the actual license. * license is open source-compatible; license text is included in the package. * source files match upstream: 8f0b4c38c3a46bfd2613e371e8fd2440 lineakd-0.8.4.tar.gz 8f0b4c38c3a46bfd2613e371e8fd2440 lineakd-0.8.4.tar.gz-srpm * latest version is being packaged. X BuildRequires are proper (missing two; see above) O package builds in mock (development, x86_64) after fixing BuildRequires: X rpmlint has some complaints. * final provides and requires are sane. * shared libraries are present; ldconfig is run as necessary. Unversioned .so files are in the -devel package. * package is not relocatable. * owns the directories it creates. * doesn't own any directories it shouldn't. * no duplicates in %files. * file permissions are appropriate. * %clean is present. * %check is not present; no test suite upstream. X scriptlets present and sane, but the comments seem to cause problems. * code, not content. * documentation is small, so no -docs subpackage is necessary. * %docs are not necessary for the proper functioning of the package. * headers present and in a -devel package. * no pkgconfig files. * no libtool .la droppings. * not a GUI app.
Spec URL: http://forevermore.net/files/packages/lineak/lineakd.spec SRPM URL: http://forevermore.net/files/packages/lineak/lineakd-0.8.4-2.src.rpm - Added missing build requires. - Added AUTHORS and COPYING to -devel, just for good measure. - Fixed %post/un script to not cause errors. - Fix download URL As for the commenting, it's mainly just a pattern I picked up when managing huge specs -- makes it a lot easier to separate sections visually, and appears only to cause problems when using the -p option for %post/un. Something's definitely wrong with the comment stuff, though. Even looks like it extends beyond rpmlint, since as I was playing with the specs, it looks like the problem extends to rpm itself, which is why I got rid of the -p notation (which fixes the problem). I created a bug to pass along the info: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=192506
Unfortunately because you're not using the %post -p /sbin/ldconfig method, RPM will not automatically generate the Requires(post): /sbin/ldconfig dependency so you must add it manually. Also, you now have duplicates in %files. The no-documentation warning for lineakd-devel was bogus; there was no reason to try to fix it. X final provides and requires are sane. X no duplicates in %files.
Still not 100% happy with the ldconfig stuff, but at least this way my specs are consistent with each other. Shuffling files around, so new files are at: http://rpm.forevermore.net/lineak/lineakd.spec http://rpm.forevermore.net/lineak/lineakd-0.8.4-3.src.rpm
Everything looks fine now. rpmlint is fine once you ignore the bugus warning, requires are fine now, buildrequires are fine and the scriptlets are good. I also note that you've added a %{?dist} tag. APPROVED