This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 711848 - Review Request: kmetronome - KDE MIDI Metronome using ALSA Sequencer
Review Request: kmetronome - KDE MIDI Metronome using ALSA Sequencer
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Martin Gieseking
Fedora Extras Quality Assurance
:
Depends On:
Blocks: kde-reviews
  Show dependency treegraph
 
Reported: 2011-06-08 14:01 EDT by Robin Lee
Modified: 2011-08-22 10:52 EDT (History)
5 users (show)

See Also:
Fixed In Version: kmetronome-0.10.0-3.fc16
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-08-22 10:52:08 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
martin.gieseking: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Robin Lee 2011-06-08 14:01:51 EDT
Spec URL: http://cheeselee.fedorapeople.org/kmetronome.spec
SRPM URL: http://cheeselee.fedorapeople.org/kmetronome-0.10.0-1.fc15.src.rpm
Description:
KMetronome is a MIDI metronome with KDE interface, based on the ALSA
sequencer. The intended audience is musicians and music students. Like
solid, real metronomes it is a tool to keep the rhythm while playing musical
instruments. It uses MIDI for sound generation instead of digital audio,
allowing low CPU usage, and very accurate timing thanks to the ALSA sequencer.
Comment 1 Kevin Kofler 2011-06-10 12:05:42 EDT
This shares the drumstick library with my kmid2 package. If you want to comaintain drumstick, just apply for it in pkgdb. (You can also comaintain kmid2 if you want.)

Your kmetronome.spec looks good at a first glance, but that's not a formal review: I or somebody else will have to run through the complete review checklist before approving it.

One remark: Are you sure the direct "BuildRequires: alsa-lib-devel" is needed? I think drumstick-devel should be sufficient.
Comment 2 Robin Lee 2011-06-10 12:24:28 EDT
I have request co-maintainership on drumstick.

OK, I will remove BR alsa-lib-devel in next update.
Comment 3 Martin Gieseking 2011-07-28 03:46:35 EDT
Just some more comments:

- The package doesn't build in mock because of missing BR gettext.

- Remove folder drumstick/ in %prep to ensure that the bundled library is not
  linked.

- The .desktop file must be properly installed/validated as described here:
  https://fedoraproject.org/wiki/Packaging/Guidelines#Desktop_files
  I'm not sure if there's an exception for KDE applications now.

- Drop %doc from the manpage. It's automatically tagged as doc file.
Comment 4 Kevin Kofler 2011-07-28 08:57:52 EDT
> I'm not sure if there's an exception for KDE applications now.

There isn't any. .desktop files in /usr/share/applications or its subdirectories are interpreted by all desktops, so they must be validated.
Comment 5 Martin Gieseking 2011-07-28 12:04:28 EDT
(In reply to comment #4)
> There isn't any. .desktop files in /usr/share/applications or its
> subdirectories are interpreted by all desktops, so they must be validated.

OK, thanks for the info. In this case, some KDE packages (like kdbg, kst and krusader) are missing this validation by mistake.
Comment 6 Kevin Kofler 2011-07-28 13:26:18 EDT
I fixed Krusader (which I comaintain) in Rawhide. The others are not my packages, please file bugs.
Comment 7 Robin Lee 2011-07-29 04:18:30 EDT
Spec URL: http://cheeselee.fedorapeople.org/kmetronome.spec
SRPM URL: http://cheeselee.fedorapeople.org/kmetronome-0.10.0-2.fc15.src.rpm

Changes:
- Add kde4-macros(api) requirement
- BR: gettext and desktop-file-utils added, alsa-lib-devel removed
- Check the desktop entry file
- Drop explicit %%doc tag from the manpage
Comment 8 Martin Gieseking 2011-07-29 08:53:46 EDT
The package looks almost fine. There are just two things left to be fixed:

- correct the typo in %prep: drumstikc/ -> drumstick/

- add the missing scriptlets to update the icon cache:
  http://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache

$ rpmlint kmetronome-*.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

---------------------------------
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.
    - GPLv2+ according to source file headers

[+] 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.
    $ md5sum kmetronome-0.10.0.tar.bz2*
    af52c1179f4c27496bb67e965be3931e  kmetronome-0.10.0.tar.bz2
    af52c1179f4c27496bb67e965be3931e  kmetronome-0.10.0.tar.bz2.1

[+] 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, ...
[+] 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.
[X] 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. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] 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.
[+] MUST: .desktop files must be properly installed with desktop-file-install in the %install section. 
[+] 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: All patches should be commented in the spec file
[+] 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.
Comment 9 Robin Lee 2011-07-29 10:59:19 EDT
Thanks!

Spec URL: http://cheeselee.fedorapeople.org/kmetronome.spec
SRPM URL: http://cheeselee.fedorapeople.org/kmetronome-0.10.0-3.fc15.src.rpm

Changes:
- Fix a typo
- Add scriptlets to update the icon cache
Comment 10 Martin Gieseking 2011-07-29 11:12:44 EDT
OK, the package is ready now.

----------------
Package APPROVED
----------------
Comment 11 Robin Lee 2011-07-29 11:27:40 EDT
New Package SCM Request
=======================
Package Name: kmetronome
Short Description: KDE MIDI Metronome using ALSA Sequencer
Owners: cheeselee
Branches: f14 f15 f16
InitialCC:
Comment 12 Jon Ciesla 2011-07-29 11:34:22 EDT
Git done (by process-git-requests).
Comment 13 Fedora Update System 2011-07-29 12:10:10 EDT
kmetronome-0.10.0-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/kmetronome-0.10.0-3.fc16
Comment 14 Fedora Update System 2011-08-01 16:16:26 EDT
kmetronome-0.10.0-3.fc16 has been pushed to the Fedora 16 testing repository.
Comment 15 Fedora Update System 2011-08-22 10:52:02 EDT
kmetronome-0.10.0-3.fc16 has been pushed to the Fedora 16 stable repository.

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