Bug 722914 - Review Request: volumeicon - Lightweight volume control for the system tray
Summary: Review Request: volumeicon - Lightweight volume control for the system tray
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Susi Lehtola
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-18 13:14 UTC by Christoph Wickert
Modified: 2011-08-23 04:25 UTC (History)
4 users (show)

Fixed In Version: volumeicon-0.4.1-3.fc14
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-07-20 22:13:30 UTC
Type: ---
Embargoed:
susi.lehtola: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Christoph Wickert 2011-07-18 13:14:34 UTC
Spec URL: http://cwickert.fedorapeople.org/review/volumeicon.spec
SRPM URL: http://cwickert.fedorapeople.org/review/volumeicon-0.4.1-1.fc16.src.rpm
Description: Volume Icon aims to be a lightweight volume control that sits in your system tray.


$ rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/volumeicon-*
volumeicon.src: W: spelling-error %description -l en_US systray -> stray
volumeicon.src: W: spelling-error %description -l en_US stepsize -> step size, step-size, stepsister
volumeicon.x86_64: W: spelling-error %description -l en_US systray -> stray
volumeicon.x86_64: W: spelling-error %description -l en_US stepsize -> step size, step-size, stepsister
volumeicon.x86_64: W: no-manual-page-for-binary volumeicon
3 packages and 0 specfiles checked; 0 errors, 5 warnings.

Comment 1 Veeti Paananen 2011-07-19 15:37:35 UTC
Hi! Here's an informal review:

MUST: rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review. OK

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

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

MUST: The package must meet the Packaging Guidelines. NEEDSWORK:

- README is irrelevant since it only contains generic build instructions (http://fedoraproject.org/wiki/Packaging/Guidelines#Documentation)

- There is a %clean section even though the package isn't for EPEL (http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean)

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

MUST: The License field in the package spec file must match the actual license. NOT SURE:

- licensecheck gives GPLv3, not GPLv3+.

MUST: 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

MUST: The spec file must be written in American English. NEEDSWORK:

- I don't think that the S in "Volume Slider" needs to be capitalized.

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

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

[veeti@veeti-pc tmp]$ md5sum volumeicon*
a63e83b8a5d41dca38d077934bce9fcf  volumeicon-srpm.tar.gz
a63e83b8a5d41dca38d077934bce9fcf  volumeicon-upstream.tar.gz

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

MUST: All build dependencies must be listed in BuildRequires. OK

MUST: The spec file MUST handle locales properly. N/A

MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun. N/A

MUST: Packages must NOT bundle copies of system libraries. OK

MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. Without this, use of Prefix: /usr is considered a blocker. N/A

MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. OK

MUST: A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations). OK

MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. OK

MUST: Each package must consistently use macros. NEEDSWORK:

- Line 45 uses variable-style build root which is mixing styles (http://fedoraproject.org/wiki/Packaging/Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS)

MUST: The package must contain code, or permissable content. OK

MUST: Large documentation files must go in a -doc subpackage. N/A

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

MUST: Header files must be in a -devel package. N/A

MUST: Static libraries must be in a -static package. N/A

MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. N/A

MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name}%{?_isa} = %{version}-%{release}. N/A

MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built. N/A

MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. If you feel that your packaged GUI application does not need a .desktop file, you must put a comment in the spec file with your explanation. NOT SURE:

- Wouldn't it make sense to place another desktop file in the actual menu for this instead of just having an autostart entry?

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

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

------------

Some issues:

- README is irrelevant since it only contains generic build instructions (http://fedoraproject.org/wiki/Packaging/Guidelines#Documentation)

- There is a %clean section even though the package isn't for EPEL (http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean)

- I don't think that the S in "Volume Slider" needs to be capitalized.

- licensecheck gives GPLv3, not GPLv3+. (?)

- Line 45 uses variable-style build root which is mixing styles (http://fedoraproject.org/wiki/Packaging/Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS)

- Wouldn't it make sense to place another desktop file in the actual menu for this instead of just having an autostart entry? (?)

Comment 2 Susi Lehtola 2011-07-20 02:55:49 UTC
- As a courtesy to people reading your spec files, please don't use macros in the URL if they're not absolutely necessary.

- Patch0 is missing a description in the spec file. Please document what it does. Has it been sent upstream?

- Where is Source1 from? Has it been sent upstream?

***

rpmlint output:
volumeicon.src: W: spelling-error %description -l en_US systray -> stray
volumeicon.src: W: spelling-error %description -l en_US stepsize -> step size, step-size, stepsister
volumeicon.x86_64: W: spelling-error %description -l en_US systray -> stray
volumeicon.x86_64: W: spelling-error %description -l en_US stepsize -> step size, step-size, stepsister
volumeicon.x86_64: W: no-manual-page-for-binary volumeicon
3 packages and 0 specfiles checked; 0 errors, 5 warnings.

These are OK.

***

MUST: The spec file for the package is legible and macros are used consistently. NEEDSWORK
- As pointed out by Veeti, you're mixing styles.

MUST: The package must be named according to the Package Naming Guidelines. OK
MUST: The spec file name must match the base package %{name}. OK
MUST: The package must be licensed with a Fedora approved license and meet the  Licensing Guidelines. OK

MUST: The License field in the package spec file must match the actual license. OK
- License is GPLv3.

MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK
$ md5sum volumeicon-0.4.1.tar.gz ../SOURCES/volumeicon-0.4.1.tar.gz 
a63e83b8a5d41dca38d077934bce9fcf  volumeicon-0.4.1.tar.gz
a63e83b8a5d41dca38d077934bce9fcf  ../SOURCES/volumeicon-0.4.1.tar.gz

MUST: The package MUST successfully compile and build into binary rpms. OK
MUST: The spec file MUST handle locales properly. N/A
MUST: Optflags are used and time stamps preserved. OK
MUST: Packages containing shared library files must call ldconfig. N/A
MUST: A package must own all directories that it creates or require the package that owns the directory. OK
MUST: Files only listed once in %files listings. OK
MUST: Debuginfo package is complete. OK

MUST: Permissions on files must be set properly. OK
- You're missing a %defattr line, but it seems to be defaulted on current RPM versions...
- Maybe add it, just in case? I don't have time now to investigate.

MUST: Large documentation files must go in a -doc subpackage. N/A

MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. NEEDSWORK
- As pointed out earlier, README is inrelevant.

MUST: Header files must be in a -devel package. N/A
MUST: Static libraries must be in a -static package. N/A
MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. N/A
MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. N/A
MUST: Packages does not contain any .la libtool archives. N/A
MUST: Desktop files are installed properly. OK
MUST: No file conflicts with other packages and no general names. OK
SHOULD: %{?dist} tag is used in release. OK
SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK
SHOULD: The package builds in mock. OK
EPEL: Clean section exists. OK
EPEL: Buildroot cleaned before install. OK
EPEL: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. N/A


Please address issues before import to git. This package has been


APPROVED

Comment 3 Susi Lehtola 2011-07-20 02:59:33 UTC
(In reply to comment #1)
> - There is a %clean section even though the package isn't for EPEL
> (http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean)

It doesn't hurt having one, though. In newer versions of Fedora a %clean isn't necessary anymore, since rpm has a default %clean directive.

> MUST: The License field in the package spec file must match the actual license.
> NOT SURE:
> 
> - licensecheck gives GPLv3, not GPLv3+.

Oh? For me it gave GPLv3 straight away. And, you must always check (one of) the headers for yourself to see if licensecheck has worked correctly. 

> MUST: The spec file must be written in American English. NEEDSWORK:
> 
> - I don't think that the S in "Volume Slider" needs to be capitalized.

This is nitpicking. But in principle you may be correct.

> - Wouldn't it make sense to place another desktop file in the actual menu for
> this instead of just having an autostart entry?

Doesn't it have one..?

Comment 4 Veeti Paananen 2011-07-20 10:21:18 UTC
> Oh? For me it gave GPLv3 straight away.

If licensecheck (and the headers) say that the license is GPLv3, isn't the "GPLv3+" in the spec incorrect?

> This is nitpicking. But in principle you may be correct.

While the spelling error definitely wouldn't block a review, I thought I'd point it out.

Comment 5 Christoph Wickert 2011-07-20 11:06:29 UTC
Thanks Veeti, both are valid points. GPLv3+ is definitely wrong, GPLv3 is correct.

As for the spelling error: Capitalization can/should be used in the summary but not in the description.

(In reply to comment #2)
> - As a courtesy to people reading your spec files, please don't use macros in
> the URL if they're not absolutely necessary.

Why not? we have spectool...

> - Patch0 is missing a description in the spec file. Please document what it
> does. Has it been sent upstream?

It fixes linking problems and I sent it upstream by mail. I'll add a comment on this.

> - Where is Source1 from? Has it been sent upstream?

It's from gnome-media and has not been sent upstream (yet).

(In reply to comment #1)
> - Wouldn't it make sense to place another desktop file in the actual menu for
> this instead of just having an autostart entry? (?)

I don't think so. Icons in the systray are supposed to be persistent throughout the whole session. They should be started on login and not from the menu.

Comment 6 Christoph Wickert 2011-07-20 12:16:34 UTC
New Package SCM Request
=======================
Package Name: volumeicon
Short Description: Lightweight volume control for the system tray
Owners: cwickert
Branches: f14 f15
InitialCC:

Comment 7 Gwyn Ciesla 2011-07-20 12:35:38 UTC
Git done (by process-git-requests).

Comment 8 Fedora Update System 2011-07-20 22:05:15 UTC
volumeicon-0.4.1-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/volumeicon-0.4.1-2.fc15

Comment 9 Fedora Update System 2011-07-20 22:05:33 UTC
volumeicon-0.4.1-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/volumeicon-0.4.1-2.fc14

Comment 10 Susi Lehtola 2011-07-21 14:19:15 UTC
(In reply to comment #4)
> > Oh? For me it gave GPLv3 straight away.
> 
> If licensecheck (and the headers) say that the license is GPLv3, isn't the
> "GPLv3+" in the spec incorrect?

Crap. I was in a hurry, so I messed up. Good that one of us was sharp ;)

Comment 11 Susi Lehtola 2011-07-21 14:23:03 UTC
(In reply to comment #5)
> (In reply to comment #2)
> > - As a courtesy to people reading your spec files, please don't use macros in
> > the URL if they're not absolutely necessary.
> 
> Why not? we have spectool...

Copy'n'paste doesn't work that well with macros. Spectool is great for getting the sources, but it doesn't give project URLs. As far as I see it, the alternative is getting the sources, building the RPM and running
 $ rpm -qpi package.rpm
to see the expanded URL...

Anyway, even if the project name were ridiculously long, I doubt that you'd spend many characters spelling it out explicitly, compared to using the %{name} macro. It's a huge help, e.g. when you browse the review queue or look at spec files at pkgs.fedoraproject.org.

Comment 12 Fedora Update System 2011-08-05 03:51:06 UTC
volumeicon-0.4.1-2.fc15 has been pushed to the Fedora 15 stable repository.

Comment 13 Fedora Update System 2011-08-23 04:24:55 UTC
volumeicon-0.4.1-3.fc14 has been pushed to the Fedora 14 stable repository.


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