Bug 866183

Summary: Review Request: python-mididings - A MIDI router and processor
Product: [Fedora] Fedora Reporter: Brendan Jones <brendan.jones.it>
Component: Package ReviewAssignee: Volker Fröhlich <volker27>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mtasaka, notting, package-review, volker27
Target Milestone: ---Flags: volker27: fedora-review?
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-05-04 09:47:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 867894    
Bug Blocks: 805236    

Description Brendan Jones 2012-10-14 14:23:00 UTC
mididings is a MIDI router and processor based on Python, supporting ALSA
and JACK MIDI.

SRPM: http://bsjones.fedorapeople.org/mididings-20120419-1.fc18.src.rpm
SPEC: http://bsjones.fedorapeople.org/mididings.spec

rpmlint /home/bsjones/rpmbuild/RPMS/x86_64/mididings-20120419-1.fc18.x86_64.rpm  /home/bsjones/rpmbuild/SRPMS/mididings-20120419-1.fc18.src.rpm
mididings.x86_64: W: no-manual-page-for-binary mididings
mididings.x86_64: W: no-manual-page-for-binary livedings
2 packages and 0 specfiles checked; 0 errors, 2 warnings.

Comment 1 Volker Fröhlich 2012-10-14 19:54:00 UTC
The website says mididings also works with Python 3.

Did you leave out NEWS for a specific reason?

I noticed a tests directory. Are these tests you can run?

Do you think it should be built with --enable-smf?

Comment 2 Brendan Jones 2012-10-16 08:36:18 UTC
OK, I've investigated rebuilding python3, but am getting runtime errors. I have contated upstream.

In any case I think I'll rename the package python-mididings. The following builds for both python2 and python3. NEWS included

SRPM: http://bsjones.fedorapeople.org/python-mididings-20120419-1.fc18.src.rpm
SPEC: http://bsjones.fedorapeople.org/python-mididings.spec

I will enable smf once I package it.

As for the tests, I'm not sure how to use them - will contact upstream.

rpmlint output clean:

python-mididings.x86_64: W: no-manual-page-for-binary mididings
python-mididings.x86_64: W: no-manual-page-for-binary livedings
python3-mididings.x86_64: W: no-manual-page-for-binary python3-mididings
python3-mididings.x86_64: W: no-manual-page-for-binary python3-livedings

Comment 3 Brendan Jones 2012-10-17 05:11:55 UTC
OK, mididings upstream have a patch for python-decorator 3.3.3 which has been submitted to the python-decorator author so I'll proceed with python3 support as per the SPEC above.

Comment 4 Brendan Jones 2012-11-15 08:25:27 UTC
Can I interest anyone in a review swap to finsih this off?

Comment 5 Volker Fröhlich 2012-11-18 16:12:54 UTC
Please bump the release when you publish a changed version.

F17 build fails due to a linking issue:

F17: http://kojipkgs.fedoraproject.org//work/tasks/601/4700601/build.log
Rawhide: http://kojipkgs.fedoraproject.org//work/tasks/563/4700563/build.log

Comment 6 Brendan Jones 2012-11-18 17:08:41 UTC
I'll have to disable python3-mididings for F17 and lower. There are now python3 boost bindings for 1.48.x in F17

Comment 7 Brendan Jones 2012-11-18 17:09:19 UTC
(In reply to comment #6)
> I'll have to disable python3-mididings for F17 and lower. There are now
> python3 boost bindings for 1.48.x in F17

That should read " *no* python3 boost bindings "

Comment 8 Mamoru TASAKA 2013-02-09 07:10:30 UTC
What is the status of this bug? Volker, are you reviewing this?

Comment 9 Volker Fröhlich 2013-02-10 10:45:42 UTC
Mamoru: The problem I noticed in #5 is still there, since there's no new SRPM.

Comment 10 Mamoru TASAKA 2013-02-10 11:14:00 UTC
Well, the fact that srpm in review does not build on F-17 is not a review blocker, actually. 

Srpm in review must build at least on _rawhide_ , however for F-18 and below, the submitter (who is going to be the owner of the package) can decide whether to support those branches or not.

Comment 11 Mamoru TASAKA 2013-02-10 11:15:48 UTC
Also, package maintainer need not use the same spec file for all branches (i.e. rawhide / F-18 / F-17)

Comment 12 Brendan Jones 2013-02-10 12:06:24 UTC
(In reply to comment #11)
> Also, package maintainer need not use the same spec file for all branches
> (i.e. rawhide / F-18 / F-17)

Yes, I will use a different spec for f17

Comment 13 Volker Fröhlich 2013-02-10 12:17:24 UTC
Good, I'm at it.

Comment 14 Volker Fröhlich 2013-02-10 21:29:22 UTC
livedings is a graphical application that requires tkinter to run. Consequently, it will need a desktop file.

Comment 15 Volker Fröhlich 2013-02-10 23:48:25 UTC
livedings also requires pyliblo. I'm not sure if there's a Python 3 version.

It seems like it's not necessary to export the optflags.

Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


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

C/C++:
[-]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.

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]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[!]: Package contains desktop file if it is a GUI application.

livedings needs one

[-]: Development files must be in a -devel package
[-]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
Also tried on PPC

[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package -n
     python3-%{pkgname}

Not a subpackage

[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[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]: 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". 2 files have unknown
     license. Detailed output of licensecheck in
     /media/speicher1/makerpm/866183-python-mididings/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[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]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[!]: Requires correct, justified where necessary.

livedings requires tkinter and pyliblo. pyliblo is stated as optional in README
for some reason.

[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 409600 bytes in 50 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep
     Note: Cannot find sources under BUILD (using prebuilt sources?)
[x]: Python eggs must not download any dependencies during the build process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python

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

Generic:
[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)
[-]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).

[!]: Package functions as described.

See top

[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (mididings-20120419.tar.gz)
     
That's fine, since the package's name shall reflect it's Python.

[x]: SourceX is a working URL.
[-]: 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.
[!]: %check is present and all tests pass.

Can you run the tests?

[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).

The permission issues are bogus from my mock setup, for some reason.

[x]: Spec file according to URL is the same as in SRPM.
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: python-mididings-debuginfo-20120419-1.fc19.x86_64.rpm
          python-mididings-20120419-1.fc19.src.rpm
          python-mididings-20120419-1.fc19.x86_64.rpm
python-mididings.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/_mididings.so 0775L
python-mididings.x86_64: W: no-manual-page-for-binary mididings
python-mididings.x86_64: W: no-manual-page-for-binary livedings
3 packages and 0 specfiles checked; 1 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint python-mididings python-mididings-debuginfo
python-mididings.x86_64: E: non-standard-executable-perm /usr/lib64/python2.7/site-packages/_mididings.so 0775L
python-mididings.x86_64: W: no-manual-page-for-binary mididings
python-mididings.x86_64: W: no-manual-page-for-binary livedings
2 packages and 0 specfiles checked; 1 errors, 2 warnings.
# echo 'rpmlint-done:'



Requires
--------
python-mididings-debuginfo-20120419-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    

python-mididings-20120419-1.fc19.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/python  
    libasound.so.2()(64bit)  
    libasound.so.2(ALSA_0.9)(64bit)  
    libboost_python.so.1.50.0()(64bit)  
    libboost_system-mt.so.1.50.0()(64bit)  
    libboost_thread-mt.so.1.50.0()(64bit)  
    libc.so.6()(64bit)  
    libgcc_s.so.1()(64bit)  
    libgcc_s.so.1(GCC_3.0)(64bit)  
    libglib-2.0.so.0()(64bit)  
    libjack.so.0()(64bit)  
    libm.so.6()(64bit)  
    libpthread.so.0()(64bit)  
    libpython2.7.so.1.0()(64bit)  
    libstdc++.so.6()(64bit)  
    libstdc++.so.6(CXXABI_1.3)(64bit)  
    python(abi) = 2.7
    python-decorator  
    rtld(GNU_HASH)  



Provides
--------
python-mididings-debuginfo-20120419-1.fc19.x86_64.rpm:
    
    python-mididings-debuginfo = 20120419-1.fc19
    python-mididings-debuginfo(x86-64) = 20120419-1.fc19

python-mididings-20120419-1.fc19.x86_64.rpm:
    
    python-mididings = 20120419-1.fc19
    python-mididings(x86-64) = 20120419-1.fc19



Unversioned so-files
--------------------
python3-mididings-20120419-1.fc19.x86_64.rpm: /usr/lib64/python3.3/site-packages/_mididings.cpython-33m.so
python-mididings-20120419-1.fc19.x86_64.rpm: /usr/lib64/python2.7/site-packages/_mididings.so

MD5-sum check
-------------
http://das.nasophon.de/download/mididings-20120419.tar.gz :
  CHECKSUM(SHA256) this package     : 7f84ec290e09f5ba8be961c47a1c0b7646a47e1f2123686944a60cea9ccfcb4d
  CHECKSUM(SHA256) upstream package : 7f84ec290e09f5ba8be961c47a1c0b7646a47e1f2123686944a60cea9ccfcb4d


Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -b 866183 -m fedora-rawhide-x86_64

Comment 16 Volker Fröhlich 2013-04-02 15:29:48 UTC
Just a reminder

Comment 17 Volker Fröhlich 2013-04-26 13:56:40 UTC
Still interested? If not, I'll close that ticket later.

Comment 18 Volker Fröhlich 2013-05-04 09:47:13 UTC
Another week, closing