Bug 844070 - (alsamixer-dockapp) Review Request: alsamixer-dockapp - Simple mixer application for ALSA drivers
Review Request: alsamixer-dockapp - Simple mixer application for ALSA drivers
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Martin Gieseking
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-28 11:34 EDT by Mario Blättermann
Modified: 2012-11-15 05:00 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-11-15 05:00:40 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
martin.gieseking: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)
removes gcc warnings about conversions from const char* to char* (2.56 KB, patch)
2012-10-08 11:13 EDT, Martin Gieseking
no flags Details | Diff

  None (edit)
Description Mario Blättermann 2012-07-28 11:34:27 EDT
Spec URL: http://mariobl.fedorapeople.org/Review/SPECS/AlsaMixer.app.spec
SRPM URL: http://mariobl.fedorapeople.org/Review/SRPMS/AlsaMixer.app-0.1-1.fc17.src.rpm
Description:
AlsaMixer.app is a WM applet sound mixer utility for Linux systems with ALSA sound driver. It works with Alsa and PulseAudio.

Fedora Account System Username: mariobl
Comment 1 Martin Gieseking 2012-10-04 08:35:26 EDT
I take this tiny one.
Comment 2 Martin Gieseking 2012-10-06 05:22:13 EDT
Here we go. The package contains a couple of issues that need to be addressed:

- According to the guidelines, package names must not contain periods. I 
  suggest to replace it with a dash. => AlsaMixer-app
  http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Separators
  
- The spec filename has a trailing tilde that should be dropped.

- Replace the tab characters in the BuildRequires lines with spaces to make 
  rpmlint happy (see below).

- If upstream is still alive, please ask them to update the FSF address in
  COPYING and the source files.

- gcc reports several warnings about deprecated non-const char pointer 
  initializations:
  warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]

  Future versions of gcc might drop support for this. Thus, I recommend to 
  patch the sources by adding the missing "const" modifier before "char*".
  That's not a blocker, though.


$ rpmlint ./AlsaMixer.app-*
AlsaMixer.app.i686: E: incorrect-fsf-address /usr/share/doc/AlsaMixer.app-0.1/COPYING
AlsaMixer.app.i686: W: no-manual-page-for-binary AlsaMixer.app
AlsaMixer.app.src:10: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 10)
AlsaMixer.app-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/AlsaMixer.app-0.1/Xpm.cc
AlsaMixer.app-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/AlsaMixer.app-0.1/Mixer.h
AlsaMixer.app-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/AlsaMixer.app-0.1/Mixer.cc
AlsaMixer.app-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/AlsaMixer.app-0.1/Xpm.h
AlsaMixer.app-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/AlsaMixer.app-0.1/Main.cc
3 packages and 0 specfiles checked; 6 errors, 2 warnings.

---------------------------------
key:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[X] MUST: The package must be named according to the Package Naming Guidelines.
    - dots are not allowed in package names => replace it with a dash, for 
      example

[X] MUST: The spec file name must match the base package %{name}.
    - drop the trailing tilde from the spec filename

[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
    - GPLv2+ according to source file headers

[+] MUST: The License field in the package spec file must match the actual license.
[+] MUST: The file containing the text of the license(s) for the package must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ sha256sum AlsaMixer.app-0.1.tar.gz*
    7d55d3ba5ffd82bcddcb546e0aa33ab8638df5d1418aa170e91c42e35c0c8c15  AlsaMixer.app-0.1.tar.gz
    7d55d3ba5ffd82bcddcb546e0aa33ab8638df5d1418aa170e91c42e35c0c8c15  AlsaMixer.app-0.1.tar.gz.upstream

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[.] MUST: If the package does not successfully compile, build or work on an architecture, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[+] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied.
[.] MUST: The spec file MUST handle locales properly.
[.] MUST: If a package installs files below %{_datadir}/icons, the icon cache must be updated.
[.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[.] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[.] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), ...
[.] MUST: devel packages must require the base package using a fully versioned dependency.
[+] MUST: Packages must NOT contain any .la libtool archives.
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file, ...
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

EPEL <= 5 only:
[X] MUST: The spec file must contain a valid BuildRoot field.
[X] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}.
[X] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}.
[.] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'


[.] SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
[+] SHOULD: Timestamps of files should be preserved.
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
[.] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
[.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg.
[.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.
[.] SHOULD: Your package should contain man pages for binaries/scripts.
Comment 3 Mario Blättermann 2012-10-06 11:50:05 EDT
Spec URL: http://mariobl.fedorapeople.org/Review/SPECS/alsamixer-dockapp.spec
SRPM URL: http://mariobl.fedorapeople.org/Review/SRPMS/alsamixer-dockapp-0.1-2.fc17.src.rpm

I've renamed the package to avoid the period and use a more common style (not capitalized). Morevover, a symlink is now present which points from alsamixer-dockapp to the original binary.

(In reply to comment #2) 
> - According to the guidelines, package names must not contain periods. I 
>   suggest to replace it with a dash. => AlsaMixer-app
>   http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Separators
>   
> - The spec filename has a trailing tilde that should be dropped.
> 
> - Replace the tab characters in the BuildRequires lines with spaces to make 
>   rpmlint happy (see below).
>
Done. 
> - If upstream is still alive, please ask them to update the FSF address in
>   COPYING and the source files.
>

Impossible. Upstream is dead for ages, as usual for a lot of dockapp packages.

> - gcc reports several warnings about deprecated non-const char pointer 
>   initializations:
>   warning: deprecated conversion from string constant to 'char*'
> [-Wwrite-strings]
> 
>   Future versions of gcc might drop support for this. Thus, I recommend to 
>   patch the sources by adding the missing "const" modifier before "char*".
>   That's not a blocker, though.

I've no programming skills... Do you mean:

int main(int argc, const char** argv)

instead of the current:

int main(int argc, char** argv) 

> [.] SHOULD: Your package should contain man pages for binaries/scripts.

What about to adding a man page? I've created one from the --help output with help2man. Needs some love, but could be more convenient for users.
Comment 4 Martin Gieseking 2012-10-08 11:13:03 EDT
Created attachment 623502 [details]
removes gcc warnings about conversions from const char* to char*

(In reply to comment #3)
> Impossible. Upstream is dead for ages, as usual for a lot of dockapp
> packages.

OK, then we can leave the files as it is.


> >   Future versions of gcc might drop support for this. Thus, I recommend to 
> >   patch the sources by adding the missing "const" modifier before "char*".
> >   That's not a blocker, though.
> 
> I've no programming skills... 

Right, sorry. I've attached a simple patch that adds the const modifiers and const_cast operators where necessary so that the warnings go away.


> What about to adding a man page? I've created one from the --help output
> with help2man. Needs some love, but could be more convenient for users.

Yes, a manpage documenting the command-line options would be nice. 

Everything else looks good now so that we can finish here.

----------------
Package APPROVED
----------------
Comment 5 Mario Blättermann 2012-10-08 13:15:31 EDT
Thanks for your review! I will apply your patch anyway before importing it to the Git repo. Adding a manpage will probably be a task for future releases of this package.


New Package SCM Request
=======================
Package Name: alsamixer-dockapp
Short Description: Simple mixer application for ALSA drivers
Owners: mariobl
Branches: f17 f18
Comment 6 Gwyn Ciesla 2012-10-09 06:49:52 EDT
Git done (by process-git-requests).
Comment 7 Fedora Update System 2012-10-11 16:09:44 EDT
alsamixer-dockapp-0.1-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/alsamixer-dockapp-0.1-3.fc18
Comment 8 Fedora Update System 2012-10-11 16:09:56 EDT
alsamixer-dockapp-0.1-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/alsamixer-dockapp-0.1-3.fc17
Comment 9 Fedora Update System 2012-10-11 22:55:50 EDT
alsamixer-dockapp-0.1-3.fc17 has been pushed to the Fedora 17 testing repository.
Comment 10 Mario Blättermann 2012-11-15 05:00:40 EST
Packages are marked as stable now.

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