Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1155210 (drumstick0) - Review Request: drumstick0 - C++/Qt4 wrapper around the ALSA library sequencer interface
Summary: Review Request: drumstick0 - C++/Qt4 wrapper around the ALSA library sequence...
Keywords:
Status: CLOSED ERRATA
Alias: drumstick0
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Thomas Spura
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: qt-reviews
TreeView+ depends on / blocked
 
Reported: 2014-10-21 15:00 UTC by Robin Lee
Modified: 2014-12-06 10:18 UTC (History)
5 users (show)

Fixed In Version: drumstick-1.0.0-1.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-12-06 10:18:15 UTC
tomspur: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Robin Lee 2014-10-21 15:00:43 UTC
Spec URL: http://cheeselee.fedorapeople.org/compat-drumstick.spec
SRPM URL: http://cheeselee.fedorapeople.org/compat-drumstick-0.5.0-10.fc20.src.rpm
Description:
The drumstick library is a C++ wrapper around the ALSA library sequencer
interface, using Qt4 objects, idioms and style. The ALSA sequencer interface
provides software support for MIDI technology on GNU/Linux.
Fedora Account System Username: cheeselee

Comment 1 Kevin Kofler 2014-10-21 17:28:10 UTC
Looks good, I think the only thing is going to be the bikeshedding about the name. I know I also used the compat-drumstick name in our e-mail discussion, but actually, there are people in Fedora who strongly believe that compat-* should only be used for the compat packages without a -devel package that we provide for third-party binaries, and we should rather use a version suffix. In this case, that would be drumstick0 or drumstick05, or maybe drumstick-qt4. I don't have a strong opinion either way, I'm going to ask on #fedora-kde IRC.

Comment 2 Robin Lee 2014-10-22 02:02:10 UTC
I think compat-drumstick is a better choice.

For drumstic-qt4, that suggests another branch of drumstick. But I don't think upstream will continue to maintain this branch.

For compat-drumstick, that suggests an obsolete package is used only for keeping compatibility and should not be used for new program. And we need this old package only for satisfying kmid2.

Comment 3 Helio Chissini de Castro 2014-10-22 17:34:07 UTC
After some initial idea, drumstick-qt4 sounded better, but in the end, better follow the package upstream name, going with compat-drumstick

If the qt5 counterpart ( if exists ) is named same way, then compat-drumstick-qt4 sounds better

Comment 4 Kevin Kofler 2014-10-22 17:39:09 UTC
Huh? compat-drumstick is NOT the upstream name! The upstream name is just drumstick.

The "compat-" prefix was added to signal that it's an old version of drumstick, to install in parallel with the current drumstick 1.x.x. And there what I'm saying is that the drumstick0 naming scheme is more commonly used for that kind of compatibility package in Fedora. The '0' being not the soname soversion there, but the human-readable version number (drumstick 0.x.x, the new Qt 5 one is 1.x.x).

Comment 5 Robin Lee 2014-10-23 11:37:14 UTC
(In reply to Kevin Kofler from comment #4)
> Huh? compat-drumstick is NOT the upstream name! The upstream name is just
> drumstick.
> 
> The "compat-" prefix was added to signal that it's an old version of
> drumstick, to install in parallel with the current drumstick 1.x.x. And
> there what I'm saying is that the drumstick0 naming scheme is more commonly
> used for that kind of compatibility package in Fedora. The '0' being not the
> soname soversion there, but the human-readable version number (drumstick
> 0.x.x, the new Qt 5 one is 1.x.x).

Actually naming as drumstick-qt4 or drumstick0 is OK for me. I would change the package name if you take the reviewer.

Comment 6 Kevin Kofler 2014-10-26 15:36:54 UTC
I think drumstick0 is the most logical option, can you please post an updated specfile and SRPM?

Comment 7 Robin Lee 2014-10-27 14:38:58 UTC
Spec URL: http://cheeselee.fedorapeople.org/drumstick0.spec
SRPM URL: http://cheeselee.fedorapeople.org/drumstick0-0.5.0-11.fc20.src.rpm
Change:
- rename to drumstick0

Comment 8 Kevin Kofler 2014-11-06 22:41:15 UTC
> Summary: Developer files for %{realname}

Please change that to either:
Summary: Developer files for %{name}
or:
Summary: Developer files for %{realname} 0.x

Comment 9 Kevin Kofler 2014-11-06 23:11:12 UTC
And the -devel subpackage also has this:
> Requires: %{realname} = %{version}-%{release}
which must be:
Requires: %{name} = %{version}-%{release}
instead. Right now, the package is not installable, so the fedora-review tool fails. Therefore, I can only proceed with the review if this is fixed.

Comment 10 Robin Lee 2014-11-07 14:26:34 UTC
Spec URL: http://cheeselee.fedorapeople.org/drumstick0.spec
SRPM URL: http://cheeselee.fedorapeople.org/drumstick0-0.5.0-12.fc21.src.rpm

Changes:
- Update the summary of the devel subpackage
- Fix Requires of the devel subpackage

Comment 11 Thomas Spura 2014-11-15 14:18:03 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated

Issues:
- Why is there "Conflicts: %{realname}-devel > 0.5.0"? Doesn't it also conflict if it is any other version of the real-devel package?
- "Large" doc in -devel (this is a should, see below)
- Requires is missing an %{?_isa}

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[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]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2 or later)", "Unknown or generated". 1 files have unknown
     license.
[x]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/mime,
     /usr/share/mime/packages
[!x]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/include/drumstick
     (drumstick-devel)
As this is a compat package for drumstick-devel, this is ignorable.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[!x]: Package does not generate any conflict.
Only expected conflicts
[x]: Package obeys FHS, except libexecdir and /usr/target.
[.]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
     Note: Test run failed
[!]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
The devel package is ~2MB, because of html files. I'd leave that out as it is enough to have them in the main drumstick-devel package.
This is a should only.
[x]: Packages must not store files under /srv, /opt or /usr/local
     Note: Test run failed
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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.
[x]: Package requires other packages for directories it uses.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.

===== SHOULD items =====

Generic:
[x]: update-mime-database is invoked in %post and %postun if package stores
     mime configuration in /usr/share/mime/packages.
     Note: mimeinfo files in: drumstick0
     See: http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#mimeinfo
[-]: 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]: Final provides and requires are sane (see attachments).
[!]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     drumstick0-devel
[?]: Package functions as described.
[-]: 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.
[-]: 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.
Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8152181
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[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]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Test run failed
[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.


Rpmlint
-------
Checking: drumstick0-0.5.0-12.fc20.x86_64.rpm
          drumstick0-devel-0.5.0-12.fc20.x86_64.rpm
          drumstick0-0.5.0-12.fc20.src.rpm
drumstick0-devel.x86_64: W: only-non-binary-in-usr-lib
drumstick0.src: W: strange-permission drumstick-0.5.0.tar.bz2 0444L
3 packages and 0 specfiles checked; 0 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint drumstick0 drumstick0-devel
drumstick0.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdrumstick-alsa.so.0.5.0 /lib64/libQtSvg.so.4
drumstick0.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdrumstick-alsa.so.0.5.0 /lib64/libQtGui.so.4
drumstick0.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdrumstick-file.so.0.5.0 /lib64/libQtSvg.so.4
drumstick0.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdrumstick-file.so.0.5.0 /lib64/libQtGui.so.4
drumstick0.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdrumstick-file.so.0.5.0 /lib64/libQtDBus.so.4
drumstick0-devel.x86_64: W: only-non-binary-in-usr-lib
2 packages and 0 specfiles checked; 0 errors, 6 warnings.
# echo 'rpmlint-done:'



Requires
--------
drumstick0 (rpmlib, GLIBC filtered):
    /bin/sh
    /sbin/ldconfig
    libQtCore.so.4()(64bit)
    libQtDBus.so.4()(64bit)
    libQtGui.so.4()(64bit)
    libQtSvg.so.4()(64bit)
    libasound.so.2()(64bit)
    libasound.so.2(ALSA_0.9)(64bit)
    libasound.so.2(ALSA_0.9.0)(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)

drumstick0-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    drumstick0
    libdrumstick-alsa.so.0()(64bit)
    libdrumstick-file.so.0()(64bit)
    pkgconfig(QtCore)
    pkgconfig(QtDBus)
    pkgconfig(QtGui)
    pkgconfig(alsa)



Provides
--------
drumstick0:
    aseqmm
    drumstick0
    drumstick0(x86-64)
    libdrumstick-alsa.so.0()(64bit)
    libdrumstick-file.so.0()(64bit)

drumstick0-devel:
    aseqmm-devel
    drumstick0-devel
    drumstick0-devel(x86-64)
    pkgconfig(drumstick-alsa)
    pkgconfig(drumstick-file)



Source checksums
----------------
http://downloads.sourceforge.net/project/drumstick/0.5.0/drumstick-0.5.0.tar.bz2 :
  CHECKSUM(SHA256) this package     : 5a12bcf2a26dac7f2a5c9507c662c4c85556881c64bb55365dceb437cf3652cd
  CHECKSUM(SHA256) upstream package : 5a12bcf2a26dac7f2a5c9507c662c4c85556881c64bb55365dceb437cf3652cd


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -b 1155210
Buildroot used: fedora-20-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 12 Robin Lee 2014-11-16 03:53:57 UTC
(In reply to Thomas Spura from comment #11)
> Issues:
> - Why is there "Conflicts: %{realname}-devel > 0.5.0"? Doesn't it also
> conflict if it is any other version of the real-devel package?
Fixed.
> - "Large" doc in -devel (this is a should, see below)
I will prefer not to change this for a compat package.
> - Requires is missing an %{?_isa}
Fixed

Spec URL: http://cheeselee.fedorapeople.org/drumstick0.spec
SRPM URL: http://cheeselee.fedorapeople.org/drumstick0-0.5.0-13.fc21.src.rpm

Changes:
- Removed conflicts versioning of devel subpackage
- Specified Requires of devel subpackage

Comment 13 Thomas Spura 2014-11-16 17:45:53 UTC
Looks fine now.

APPROVED

Comment 14 Robin Lee 2014-11-17 01:35:22 UTC
New Package SCM Request
=======================
Package Name: drumstick0
Short Description: C++/Qt4 wrapper around the ALSA library sequencer interface
Upstream URL: http://drumstick.sourceforge.net/
Owners: cheeselee
Branches: f21
InitialCC:

Comment 15 Gwyn Ciesla 2014-11-17 13:10:07 UTC
Git done (by process-git-requests).

Comment 16 Fedora Update System 2014-11-17 15:20:42 UTC
drumstick-1.0.0-1.fc21, rtmidi-2.1.0-1.fc21, kmid2-2.4.0-8.fc21, kmetronome-1.0.0-1.fc21, vmpk-0.6.0-1.fc21, drumstick0-0.5.0-13.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/FEDORA-2014-13332/rtmidi-2.1.0-1.fc21,kmid2-2.4.0-8.fc21,kmetronome-1.0.0-1.fc21,vmpk-0.6.0-1.fc21,drumstick0-0.5.0-13.fc21,drumstick-1.0.0-1.fc21

Comment 17 Fedora Update System 2014-11-18 12:32:59 UTC
Package drumstick-1.0.0-1.fc21, rtmidi-2.1.0-1.fc21, kmid2-2.4.0-8.fc21, kmetronome-1.0.0-1.fc21, vmpk-0.6.0-1.fc21, drumstick0-0.5.0-13.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing drumstick-1.0.0-1.fc21 rtmidi-2.1.0-1.fc21 kmid2-2.4.0-8.fc21 kmetronome-1.0.0-1.fc21 vmpk-0.6.0-1.fc21 drumstick0-0.5.0-13.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-13332/rtmidi-2.1.0-1.fc21,kmid2-2.4.0-8.fc21,kmetronome-1.0.0-1.fc21,vmpk-0.6.0-1.fc21,drumstick0-0.5.0-13.fc21,drumstick-1.0.0-1.fc21
then log in and leave karma (feedback).

Comment 18 Fedora Update System 2014-12-06 10:18:15 UTC
drumstick-1.0.0-1.fc21, rtmidi-2.1.0-1.fc21, kmid2-2.4.0-8.fc21, kmetronome-1.0.0-1.fc21, vmpk-0.6.0-1.fc21, drumstick0-0.5.0-13.fc21 has been pushed to the Fedora 21 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.