Bug 497833 - Review Request: tuna - Application tuning GUI & command line utility
Summary: Review Request: tuna - Application tuning GUI & command line utility
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jan Klepek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 509880
TreeView+ depends on / blocked
 
Reported: 2009-04-27 13:58 UTC by Arnaldo Carvalho de Melo
Modified: 2009-08-31 22:28 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-08-31 22:28:48 UTC
Type: ---
Embargoed:
jan.klepek: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Arnaldo Carvalho de Melo 2009-04-27 13:58:29 UTC
Spec URL: http://fedorapeople.org/~acme/tuna/tuna.spec
SRPM URL: http://fedorapeople.org/~acme/tuna/tuna-0.8.4.tar.bz2

Description: 

Provides interface for changing scheduler and IRQ tunables, at whole CPU and at per thread/IRQ level. Allows isolating CPUs for use by a specific application and moving threads and interrupts to a CPU by just dragging and dropping them. Operations can be done on CPU sockets, understanding CPU topology.

Can be used as a command line utility without requiring the GUI libraries to be installed.

Uses the interfaces provided by the python-ethtool, python-schedutils and python-linux-procfs.

Also includes the oscilloscope as a subpackage, description:

Plots stream of values read from standard input on the screen together with
statistics and a histogram.

Allows to instantly see how a signal generator, such as cyclictest, signaltest
or even ping, reacts when, for instance, its scheduling policy or real time
priority is changed, be it using tuna or plain chrt & taskset.

Comment 1 Arnaldo Carvalho de Melo 2009-04-28 17:00:31 UTC
More information about tuna and the oscilloscope can be found in this article, that has some screenshots:

http://www.osadl.org/Single-View.111+M5aa14d3660e.0.html

Comment 2 Michael Schwendt 2009-06-23 09:10:52 UTC
> SRPM URL: http://fedorapeople.org/~acme/tuna/tuna-0.8.4.tar.bz2

You're expected to put the src.rpm URL there.


> %dir %{_datadir}/tuna/help/kthreads/
> %{_datadir}/tuna/help/kthreads/*

Due to the catch-all wildcard '*' these two lines could be replaced with just a single line:  %{_datadir}/tuna/help/kthreads/


> %changelog

Commonly one only sums up packaging related changes there, i.e. actual changes applied to the spec file, not all internal code changes which should be covered by an included ChangeLog file.  In particular, mostly only when one adds patch files to the spec or replaces the source tarball, one gives a summary of what is expected to affect the user, but not full internal log of implementation changes.


> %defattr(0755,root,root,0755)

It's amazing to see that the widely used  %defattr(-,root,root,-)  [which defaults to %defattr(0644,root,root,0755)] isn't used in this spec file, but no comment explain why it isn't used.


Please run rpmlint on the src.rpm *and* the built rpms. Pre-review your own packages in accordance with the Review Guidelines.

Comment 3 Arnaldo Carvalho de Melo 2009-07-13 14:34:19 UTC
Thanks for all your comments:

[acme@doppio tuna]$ rpmlint /home/acme/git/tuna/rpm/SPECS/tuna.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.
[acme@doppio tuna]$ rpmlint /home/acme/git/tuna/rpm/SRPMS/tuna-0.9-1.fc11.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[acme@doppio tuna]$ rpmlint /home/acme/git/tuna/rpm/RPMS/noarch/tuna-0.9-1.fc11.noarch.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[acme@doppio tuna]$ rpmlint /home/acme/git/tuna/rpm/RPMS/noarch/oscilloscope-0.9-1.fc11.noarch.rpm 
oscilloscope.noarch: E: explicit-lib-dependency python-matplotlib
oscilloscope.noarch: W: name-repeated-in-summary Oscilloscope
1 packages and 0 specfiles checked; 1 errors, 1 warnings.
[acme@doppio tuna]$

I'm just waiting for an authorization for including a short article that describes the oscilloscope usage to then upload the new .src.rpm.

Comment 4 Arnaldo Carvalho de Melo 2009-07-14 14:08:47 UTC
New files that should address all the comments made:

Spec URL: http://fedorapeople.org/~acme/tuna/tuna.spec
SRPM URL: http://fedorapeople.org/~acme/tuna/tuna-0.9-1.fc11.src.rpm

Please let me know if there are any still any problems.

Comment 5 Douglas Schilling Landgraf 2009-07-29 15:30:19 UTC
Hello Arnaldo,

Please consider the following comments:

- There is no tuna-0.9.tar.bz2 available at:
   http://userweb.kernel.org/~acme/tuna/tuna-0.9.tar.bz2 

From spec: 
 
   Name: tuna
   Version: 0.9
   Source: http://userweb.kernel.org/~acme/tuna/%{name}-%{version}.tar.bz2
   URL: http://userweb.kernel.org/~acme/tuna/

- Please increase the release number and add a description in changelog for each
  new change in spec file.

Cheers,
Douglas

Comment 6 Jan Klepek 2009-07-29 21:53:16 UTC
couldn't be compiled
+ msgfmt po/pt_BR.po -o /home/makerpm/rpmbuild/BUILDROOT/tuna-0.9-1.fc11.i386//usr/share/locale/pt_BR/LC_MESSAGES/tuna.mo
/var/tmp/rpm-tmp.jlWK4V: line 41: msgfmt: command not found

missing gettext in BuildReq.

Comment 7 Jan Klepek 2009-08-15 10:47:02 UTC
add -p switch to install
https://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps

rpmlint output:
oscilloscope.noarch: E: explicit-lib-dependency python-matplotlib
oscilloscope.noarch: W: name-repeated-in-summary Oscilloscope
tuna.noarch: E: non-executable-script /usr/lib/python2.6/site-packages/tuna/oscilloscope.py 0644 /usr/bin/python

please fix all comments raised so far and provide new src.rpm with bumped release number

Comment 8 Arnaldo Carvalho de Melo 2009-08-17 19:49:02 UTC
What is the problem with python-matplotlib being explicitely required? The oscilloscope uses it.

fixed the -p and msgfmt buildreq issues, new files at:

http://fedorapeople.org/~acme/tuna/tuna-0.9-2.fc11.src.rpm
http://fedorapeople.org/~acme/tuna/tuna.spec
http://userweb.kernel.org/~acme/tuna/tuna-0.9.tar.bz2

Comment 9 Douglas Schilling Landgraf 2009-08-25 23:10:01 UTC
Hello Arnaldo,

  Please consider the following comments:

1) oscilloscope.noarch: W: name-repeated-in-summary Oscilloscope

Here:  "Summary: Generic Oscilloscope" 
    
   Are there other good summary that doesn't use "Oscilloscope" word?

2) oscilloscope.noarch: E: explicit-lib-dependency python-matplotlib

It seems that rpmlint confused by "lib" string wrongly, concluding that it is a package that contains an ELF shared library that should be depended on automatically. IMO, it's ok.

3) tuna.noarch: E: non-executable-script
/usr/lib/python2.6/site-packages/tuna/oscilloscope.py 0644 /usr/bin/python

   Will oscilloscope.py be executed (fix permission) or not? 
If not, I think that /usr/bin/python line could be removed.

Cheers,
Douglas

Comment 10 Arnaldo Carvalho de Melo 2009-08-26 14:14:19 UTC
(In reply to comment #9)
> Hello Arnaldo,
> 
>   Please consider the following comments:
> 
> 1) oscilloscope.noarch: W: name-repeated-in-summary Oscilloscope
> 
> Here:  "Summary: Generic Oscilloscope" 
> 
>    Are there other good summary that doesn't use "Oscilloscope" word?

Replaced with:

Summary: Generic graphical signal plotting tool

> 2) oscilloscope.noarch: E: explicit-lib-dependency python-matplotlib
> 
> It seems that rpmlint confused by "lib" string wrongly, concluding that it is a
> package that contains an ELF shared library that should be depended on
> automatically. IMO, it's ok.

Ah, that makes sense, agreed.

> 3) tuna.noarch: E: non-executable-script
> /usr/lib/python2.6/site-packages/tuna/oscilloscope.py 0644 /usr/bin/python
> 
>    Will oscilloscope.py be executed (fix permission) or not? 
> If not, I think that /usr/bin/python line could be removed.

Done

> Cheers,
> Douglas  

Thanks!

New files at:

http://fedorapeople.org/~acme/tuna/tuna-0.9-3.fc11.src.rpm
http://fedorapeople.org/~acme/tuna/tuna.spec
http://userweb.kernel.org/~acme/tuna/tuna-0.9.tar.bz2

Comment 11 Douglas Schilling Landgraf 2009-08-26 23:39:33 UTC
Hello Arnaldo,

     The spec changes looks good to my eyes. 
Anyway, soon someone will post an approval to your package or a new request of change to you. 

Cheers,
Douglas

Comment 12 Arnaldo Carvalho de Melo 2009-08-28 14:47:05 UTC
ping, is there anything else I need to do?

Comment 13 Jan Klepek 2009-08-29 10:34:52 UTC
rpmlint must be run on every package. The output should be posted in the review.
- OK

The package must be named according to the Package Naming Guidelines.
- OK

The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.
- OK

The package must meet the Packaging Guidelines.
- OK

The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
- OK

The License field in the package spec file must match the actual license.
- OK

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 must be included in %doc.
- OK

The spec file must be written in American English.
- OK

The spec file for the package MUST be legible.
- OK

The sources used to build the package must match the upstream source, as provided in the spec URL.
- OK

The package MUST successfully compile and build into binary rpms on at least one primary architecture.
- OK

ExcludeArch present.
- not needed, ok

All build dependencies must be listed in BuildRequires.
- OK

The spec file MUST handle locales properly.
- OK

Ldconfig in %post and %postun.
- not needed, ok

Relocatable package and /usr prefix.
- OK

A package must own all directories that it creates.
- OK

A Fedora package must not list a file more than once in the spec file's %files listings.
- OK

Permissions on files must be set properly.
- OK

Each package must have a correct %clean section.
- OK

Each package must consistently use macros.
- OK

The package must contain code, or permissable content.
- OK

Large documentation files must go in a -doc subpackage.
- OK

If a package includes something as %doc, it must not affect the runtime of the application.
- OK

Header files must be in a -devel package.
- OK
 
Static libraries must be in a -static package.
- OK

Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' .
- OK

Library with .so suffix must be in -devel package.
- OK

In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
- OK

Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
- OK

Gui application and desktop-file-install.
- OK

Packages must not own files or directories already owned by other packages.
- OK

At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
- OK

All filenames in rpm packages must be valid UTF-8.
- OK

conclusion: approved

Comment 14 Arnaldo Carvalho de Melo 2009-08-31 14:05:15 UTC
New Package CVS Request
=======================
Package Name: tuna
Short Description: Application tuning GUI & command line utility
Owners: acme
Branches: F-11 F-12
InitialCC: i18n-team

Comment 15 Jason Tibbitts 2009-08-31 18:50:19 UTC
CVS done.


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