https://bugzilla.redhat.com/show_bug.cgi?id=842410
--- Comment #12 from Martin Gieseking <martin.gieseking(a)uos.de> ---
Here comes the review. There are still some things that have to be fixed:
- You can drop the definitions given at the top of the spec file as they are
only required for EPEL < 6.
- Remove the %{?_isa} suffix from the Requires statement as it's only needed
for arch specific packages.
- Please add a short comment above the License field documenting the multiple
licensing scenario, e.g. "application: GPLv3+, documentation: CC-BY-SA"
- The files /usr/share/kupfer/kupfer/plugin/thunar.py* are present in the
base package and thunar subpackage.
=> %exclude them from the base package
- add the missing scriptlets to update the mime info database
http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo
- Remove the %exclude line from %files, and add
rm -rf %{buildroot}%{_libdir}/
to %install in order to avoid the rpmlint warning shown below.
- It's sufficient to install the desktop files with desktop-file-install.
Don't re-validate them with desktop-file-validate.
http://fedoraproject.org/wiki/Packaging:Guidelines#desktop-file-install_u...
- Replace $RPM_OPT_FLAGS with %{optflags} to use macros consistently.
- Be a bit more specific in files:
%{_bindir}/* => %{_bindir}/%{name}*
%{_mandir}/man1/%{name}* => %{_mandir}/man1/%{name}*.1*
$ rpmlint /var/lib/mock/fedora-17-x86_64/result/*.rpm
kupfer.src:106: W: libdir-macro-in-noarch-package (main package) %exclude
%{_libdir}/nautilus/extensions-2.0/python/%{name}_provider.*
kupfer-thunar.noarch: W: no-documentation
kupfer-thunar.noarch: W: dangling-relative-symlink
/usr/share/Thunar/sendto/kupfer.desktop ../../applications/kupfer.desktop
3 packages and 0 specfiles checked; 0 errors, 3 warnings.
- The dangling symlink warning is expected and can be ignored.
---------------------------------
key:
[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------
[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
- application: GPLv3+
- documentation: CC-BY-SA
[+] MUST: The License field in the package spec file must match the actual
license.
[+] MUST: The file containing the text of the license(s) for the package must
be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
$ sha256sum kupfer-v208.tar.xz*
65de8fe23e4b91a25910969ae11f32a98ed44714a460c64dfc71a85d20289c04
kupfer-v208.tar.xz
65de8fe23e4b91a25910969ae11f32a98ed44714a460c64dfc71a85d20289c04
kupfer-v208.tar.xz.upstream
[+] MUST: The package MUST successfully compile and build into binary rpms on
at least one primary architecture.
[.] 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 MUST have a bug filed in
bugzilla, describing the reason that the package does not compile/build/work on
that architecture. The bug number MUST be placed in a comment, next to the
corresponding ExcludeArch line.
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied.
[+] MUST: The spec file MUST handle locales properly.
[+] MUST: If a package installs files below %{_datadir}/icons, the icon cache
must be updated.
[.] MUST: Packages storing shared library files (not just symlinks) must call
ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates.
[X] MUST: A Fedora package must not list a file more than once in %files.
- thunar files are present in the base package too
[.] MUST: Permissions on files must be set properly.
[X] MUST: Each package must consistently use macros.
- $RPM_OPT_FLAGS => %{optflags}
[.] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), ...
[.] MUST: devel packages must require the base package using a fully versioned
dependency.
[+] MUST: Packages must NOT contain any .la libtool archives.
[+] MUST: Packages containing GUI applications must include a %{name}.desktop
file.
[X] MUST: .desktop files must be properly installed with desktop-file-install
OR desktop-file-validate.
=> drop the desktop-file-validate lines
[+] MUST: Packages must not own files or directories already owned by other
packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.
EPEL <= 5 only:
[X] MUST: The spec file must contain a valid BuildRoot field.
[X] MUST: At the beginning of %install, each package MUST run rm -rf
%{buildroot}.
[X] MUST: Each package must have a %clean section, which contains rm -rf
%{buildroot}.
[.] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
[.] 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.
[+] SHOULD: Timestamps of files should be preserved.
[+] SHOULD: The reviewer should test that the package builds 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.
[+] SHOULD: If scriptlets are used, those scriptlets must be sane.
[+] SHOULD: Usually, subpackages other than devel should require the base
package using a fully versioned dependency.
[.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg.
[+] 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.
[+] SHOULD: Your package should contain man pages for binaries/scripts.
--
You are receiving this mail because:
You are on the CC list for the bug.