Bug 464049 - (libprojectM-qt) Package Review Request for libprojectM-qt
Package Review Request for libprojectM-qt
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Orcan Ogetbil
Fedora Extras Quality Assurance
:
Depends On: libprojectM
Blocks: projectM-jack 464054
  Show dependency treegraph
 
Reported: 2008-09-25 23:21 EDT by Jameson
Modified: 2008-11-26 01:12 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-11-11 21:55:42 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
oget.fedora: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Jameson 2008-09-25 23:21:47 EDT
SPEC URL:  http://www.vtscrew.com/libprojectM-qt.spec
SRPM URL:  http://www.vtscrew.com/libprojectM-qt-1.2.0-1.fc9.src.rpm

Description:
projectM-qt is a GUI designed to enhance the projectM user and preset writer
experience.  It provides a way to browse, search, rate presets and setup
preset playlists for projectM-jack and projectM-pulseaudio.

rpmlint warnings:
libprojectM-qt.i386: W: no-documentation
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libQtXml.so.4
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libpng12.so.0
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libSM.so.6
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libICE.so.6
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libXi.so.6
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libXrender.so.1
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libXrandr.so.2
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libXcursor.so.1
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libXinerama.so.1
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libXfixes.so.3
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libfreetype.so.6
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libfontconfig.so.1
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libXext.so.6
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /usr/lib/libX11.so.6
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /lib/libz.so.1
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /lib/libgthread-2.0.so.0
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /lib/libglib-2.0.so.0
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /lib/librt.so.1
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /lib/libdl.so.2
libprojectM-qt.i386: W: unused-direct-shlib-dependency /usr/lib/libprojectM-qt.s
o.1.10 /lib/libm.so.6
Comment 1 Orcan Ogetbil 2008-11-05 23:42:53 EST
Ok, this package is next. Here are my notes:

* rpmlint on the SRPMS or SPEC gives:
   libprojectM-qt.src: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 10)
which can be fixed easily.

* There is no file containing the license text. Please inform the upstream. The license as of it is should be GPLv2+, which is correct.

* Source0 must be corrected

* The package does not (directly or indirectly) depend on another package that owns on /usr/share/pixmaps (please verify this). Thus it must own /usr/share/pixmaps

* The empty doc line
   %doc
can be taken off, if there's no reply to the license query from upstream.

* I find the description (*) for the devel package insufficient. What it says is true for any devel packages.
I would copy the contents of the description from the main package and paste it to the beginning of the devel's description, and after that add the (*) to the end.

* You must BR: cmake

I recommend you using "mock" to figure out BR's.

* No headers in devel? (just checking)

* The pc file needs patched as you did for the libprojectM package (to fix the /usr/lib(64) issue)
Comment 2 Jameson 2008-11-06 01:42:51 EST
I actually already built it with mock.  The reason I left out cmake was because I had put it as a requirement for libprojectM-devel.  I now understand that it was the wrong way to go about it, but I believe all of the above is corrected.

New SPEC in same location.  New SRPM:  http://www.vtscrew.com/libprojectM-qt-1.2.0-2.fc9.src.rpm
Comment 3 Orcan Ogetbil 2008-11-06 12:54:12 EST
Everything seems fine, except:

* I don't think we need
   Requires:      libprojectM = %{version}, qt
for the main package, since these will be picked up by rpmbuild. You can check what the rpmbuild picked up as "requires" after you build the package by issuing:
   rpm -qpv --requires <packagename>-<etc>-<arch>.rpm

I have one last question: This is a frontend for libprojectM. But I can't find a binary to start the frontend. How does it start? Is it called from the binaries of pulseaudio and alsa packages?
Comment 4 Orcan Ogetbil 2008-11-06 14:08:39 EST
Hey Jameson,
I asked fellow packagers about the /usr/share/pixmaps issue.
The correct solution is to require the package "filesystem" which owns /usr/share/pixmaps .
But I'm not sure if this will be done by the dependency chain, or if we should explicitly require "filesystem" in libprojectM-qt . 
Let me investigate this further. Sorry for the confusion.
Comment 5 Orcan Ogetbil 2008-11-06 14:21:46 EST
OK, this is the chain:
- libprojectM-qt requires qt (rpmbuild will pick this up)
- qt requires glibc
- glibc requires basesystem 
- basesystem requires filesystem

Therefore, what you did initially was correct as far as the /usr/share/pixmaps is concerned. Sorry again for the confusion I created. libprojectM-qt shouldn't own /usr/share/pixmaps.

But you should still remove the explicit 
   Requires: libprojectM = %{version}, qt
That statement of mine is still valid.
Comment 6 Orcan Ogetbil 2008-11-06 20:26:48 EST
* While I was trying to build projectM-pulseaudio, I found out that these two must be explicitly required in the libprojectM-qt-devel package:

   qt-devel, libprojectM-devel

Because they are not picked up by rpmbuild but they are called from the /usr/include/libprojectM-qt/qprojectm_mainwindow.hpp file.

* Also, as I noted in the other package's ticket please check that if the line 
   find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
is really necessary in the SPEC file . I don't see any .la files built with libprojectM-qt .

Sorry for the long TO-DO list. We need to have everything according to the book.
Comment 7 Jameson 2008-11-06 21:09:15 EST
No problem.  I understand the need to get all of this right.  It's what separates the official Fedora repos from the third party ones that create all the dependency issues.  It looks like you were correct about the .la files.  I had just been copying my old SPECs to start a new one, so sometimes I'll have extra stuff like that left over.  Here's an update:
http://www.vtscrew.com/libprojectM-qt-1.2.0-3.fc9.src.rpm
Comment 8 Jameson 2008-11-06 21:09:58 EST
Oh, and, yes, the front end is called from the pulseaudio and jack packages.
Comment 9 Orcan Ogetbil 2008-11-06 22:18:14 EST
Oh, I should've been more clear. When I said "copy the description from the main package" I meant to copy it from the libprojectM-qt package. So the description for the libprojectM-qt-devel should be:

-----
projectM-qt is a GUI designed to enhance the projectM user and preset writer
experience.  It provides a way to browse, search, rate presets and setup
preset playlists for projectM-jack and projectM-pulseaudio. The %{name}-devel package contains libraries and header files for developing applications that use %{name}.
-----

This is all for for this package. Make sure you correct the description before you commit.

-------------------------------------------------
This package (libprojectM-qt) is approved by oget
-------------------------------------------------
Comment 10 Jameson 2008-11-06 22:35:06 EST
Taken care of.
Comment 11 Jameson 2008-11-07 00:57:52 EST
New Package CVS Request
=======================
Package Name: libprojectM-qt
Short Description: frontend for libprojectM
Owners: imntreal
Branches: F-8 F-9 F-10
InitialCC: imntreal
Comment 12 Kevin Fenzi 2008-11-07 16:34:59 EST
cvs done.
Comment 13 Fedora Update System 2008-11-09 01:28:39 EST
libprojectM-qt-1.2.0-3.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/libprojectM-qt-1.2.0-3.fc9
Comment 14 Fedora Update System 2008-11-11 21:55:39 EST
libprojectM-qt-1.2.0-3.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 15 Fedora Update System 2008-11-24 18:11:37 EST
libprojectM-qt-1.2.0-3.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/libprojectM-qt-1.2.0-3.fc10
Comment 16 Fedora Update System 2008-11-26 01:12:10 EST
libprojectM-qt-1.2.0-3.fc10 has been pushed to the Fedora 10 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.