Bug 691195 - Review Request: wmnet - Network monitoring dockapp
Summary: Review Request: wmnet - Network monitoring dockapp
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mohamed El Morabity
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-27 13:54 UTC by Mario Blättermann
Modified: 2011-12-23 03:30 UTC (History)
4 users (show)

Fixed In Version: wmnet-1.06-5.fc16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-23 03:28:58 UTC
Type: ---
Embargoed:
pikachu.2014: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Mario Blättermann 2011-03-27 13:54:41 UTC
Spec URL: http://dl.dropbox.com/u/19373040/Fedora/SPECS/wmnet.spec
SRPM URL: http://dl.dropbox.com/u/19373040/Fedora/wmnet-1.06-1.fc14.src.rpm
Description:
This little program polls network statistics and does a few things with
the data it gets.  It has small blinking lights for the rx and tx of IP
packets, a digital speedometer of your polled stat's current
speed and a bar graph like xload et. al which has a
tx speed graph from bottom-up and rx speed graph from the top-down.

Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2950505


$ rpmlint -v wmnet*
wmnet.src: I: checking
wmnet.src: W: spelling-error Summary(en_US) dockapp -> dock app, dock-app, dockage
wmnet.src: W: spelling-error Summary(de) Dockapp -> Dock, Andocke, Documenta
wmnet.src: W: spelling-error %description -l en_US rx -> Rx, ex, r
wmnet.src: W: spelling-error %description -l en_US tx -> TX, t, x
wmnet.src: W: spelling-error %description -l en_US xload -> load, x load, Loanda
wmnet.src: W: spelling-error %description -l de xload -> Download, download, Roadmap
wmnet.src: I: checking-url http://www.dockapps.org/file.php/id/77 (timeout 10 seconds)
wmnet.src: I: checking-url http://www.dockapps.org/download.php/id/115/wmnet-1.06.tar.gz (timeout 10 seconds)
1 packages and 0 specfiles checked; 0 errors, 6 warnings.

Usual spellchecker issues from rpmlint...

Comment 1 Mario Blättermann 2011-03-27 14:18:16 UTC
Oops, there is problem with the debug package:

wmnet-debuginfo.i686: E: debuginfo-without-sources
This debuginfo package appears to contain debug symbols but no source files.
This is often a sign of binaries being unexpectedly stripped too early during
the build, or being compiled without compiler debug flags (which again often
is a sign of distro's default compiler flags ignored which might have security
consequences), or other compiler flags which result in rpmbuild's debuginfo
extraction not working as expected.  Verify that the binaries are not
unexpectedly stripped and that the intended compiler flags are used.


The README from the tarball says:

TO INSTALL from tar.gz: 
tar xfzv wmnet-1.06.tar.gz 
cd wmnet-1.06 
xmkmf 
make 
strip wmnet 
make install
make install.man

I haven't applied the recommended "strip wmnet" call for the package build, and "make" is called with the optflags macro. How can I make rpmlint happy again...?

Comment 2 Martin Gieseking 2011-03-27 15:58:49 UTC
(In reply to comment #1)
> I haven't applied the recommended "strip wmnet" call for the package build, and
> "make" is called with the optflags macro. How can I make rpmlint happy
> again...?

You must ensure that the %optflags are applied. The default CFLAGS defined in the Makefile don't contain gcc switch -g so that no debug info is generated. 
Replace OPTS with CFLAGS to fix that. 

Some further notes:
- The upstream location seems to be http://www.katharineosborne.com/wmnet.
  They also provide the latest version even if it's not listed on the website:
  http://www.katharineosborne.com/wmnet/wmnet-1.06.tar.gz

- Since there's no hint about the GPL version in the sources, the license tag
  would be GPL. However, wmnet relies on getopt (LGPLv2+) linked to 
  the binary. Thus, the GPL license of wmnet must be at least version 2.
  You should get a confirmation from upstream (if still reachable) about that.

- I recommend to remove the bundled getopt sources and use Fedora's ones 
  instead. Just add "rm -f getopt*" to %prep.

- Either use %optflags and %buildroot or $RPM_OPT_FLAGS and $RPM_BUILD_ROOT.
  Don't mix them.

- add INSTALL="install -p" to the make statements in order to preserve the
  timestamps (especially those of the manpage).

Comment 3 Mario Blättermann 2011-03-27 17:11:30 UTC
Thanks for your hints.
The new files:

Spec URL: http://dl.dropbox.com/u/19373040/Fedora/SPECS/wmnet.spec
SRPM URL: http://dl.dropbox.com/u/19373040/Fedora/wmnet-1.06-2.fc14.src.rpm

Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=2950831

(In reply to comment #2)
> - The upstream location seems to be http://www.katharineosborne.com/wmnet.
>   They also provide the latest version even if it's not listed on the website:
>   http://www.katharineosborne.com/wmnet/wmnet-1.06.tar.gz
>
I'm in doubt if this is a real project homepage. However, I've added it to the spec for the time being.

> - Since there's no hint about the GPL version in the sources, the license tag
>   would be GPL. However, wmnet relies on getopt (LGPLv2+) linked to 
>   the binary. Thus, the GPL license of wmnet must be at least version 2.
>   You should get a confirmation from upstream (if still reachable) about that.

The contact links are dead, I don't expect to find a responsible developer anywhere. As I already wrote, we should use GPLv2 here, due to the age of the sources. Or should we keep GPL in general, without versioning?

The other things you've mentioned are changed now, and the debug package is OK, no issues from rpmlint anymore.

Comment 4 Martin Gieseking 2011-03-27 18:06:12 UTC
(In reply to comment #3)
> I'm in doubt if this is a real project homepage.

I'm not sure either, but the name Katharine Osborne is also mentioned in the manpage (as the manpage author) together with her email address.


> The contact links are dead, I don't expect to find a responsible developer
> anywhere. As I already wrote, we should use GPLv2 here, due to the age of the
> sources. Or should we keep GPL in general, without versioning?

The License field must contain the license of the binary package. If no GPL version is given, "GPL+" must be used (I forgot the "+" above). As you removed the bundled getopt sources, getopt_long() is taken from the shared glibc library. Thus, the resulting license of the package is indeed GPL+. If getopt were linked statically, we would get GPLv2+.

Comment 5 Mario Blättermann 2011-04-27 13:13:17 UTC
Spec URL: http://dl.dropbox.com/u/19373040/Fedora/SPECS/wmnet.spec
SRPM URL: http://dl.dropbox.com/u/19373040/Fedora/wmnet-1.06-3.fc14.src.rpm

Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3029698

I've changed the license according to your hints.

Comment 6 Mario Blättermann 2011-05-22 16:58:39 UTC
A certain font was missing to start wmnet on F15. That's why I've build a new package.

Spec URL: http://mariobl.fedorapeople.org/Review/SPECS/wmnet.spec
SRPM URL: http://mariobl.fedorapeople.org/Review/SRPMS/wmnet-1.06-4.fc15.src.rpm

Comment 7 Mohamed El Morabity 2011-11-20 01:57:01 UTC
The package seems quite good at this point. I only have two comments:
- you can remove the build root cleaning in %install, unless you plan to provide this package for EPEL5 too:
     http://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag
- the guidelines recommand to provide a .desktop file to any graphical application:
     http://fedoraproject.org/wiki/Packaging:Guidelines#Desktop_files
   I thought it was maybe useless for such an application, but Mandriva provides a desktop file in its wmnet packahg.

Comment 8 Mario Blättermann 2011-11-20 21:22:37 UTC
Thanks for your hints. New files:

Spec URL: http://mariobl.fedorapeople.org/Review/SPECS/wmnet.spec
SRPM URL:
http://mariobl.fedorapeople.org/Review/SRPMS/wmnet-1.06-5.fc15.src.rpm

A *.desktop file is unneded for such dockapps. See bug #478744, comment #4. Usually, a Windowmaker dockapp will be started from a script rather than a menu.

Unfortunately, I'm currently unable to do a scratch build on Koji, due to an expired certificate.

Comment 9 Mario Blättermann 2011-11-20 21:53:25 UTC
My certificate has been updated, Koji scratch build is here:
http://koji.fedoraproject.org/koji/taskinfo?taskID=3528616

Comment 10 Mohamed El Morabity 2011-12-01 00:15:06 UTC
Here is the review:

 +:ok, =:needs attention, -:needs fixing

MUST Items:
[+] MUST: rpmlint must be run on every package.
   wmnet.src: W: spelling-error Summary(en_US) dockapp -> dock app, dock-app, paddock
   wmnet.src: I: enchant-dictionary-not-found de
   wmnet.src: W: spelling-error %description -l en_US rx -> Rx, ex, r
   wmnet.src: W: spelling-error %description -l en_US tx -> TX, t, x
   wmnet.src: W: spelling-error %description -l en_US xload -> load, x load
   wmnet.src: W: spelling-error %description -l en_US et -> ET, wt, rt
   wmnet.src: W: spelling-error %description -l en_US al -> AL, la, Al
   wmnet.src: W: spelling-error %description -l de programm -> program
   wmnet.x86_64: W: spelling-error Summary(en_US) dockapp -> dock app, dock-app, paddock
   wmnet.x86_64: W: spelling-error %description -l en_US rx -> Rx, ex, r
   wmnet.x86_64: W: spelling-error %description -l en_US tx -> TX, t, x
   wmnet.x86_64: W: spelling-error %description -l en_US xload -> load, x load
   wmnet.x86_64: W: spelling-error %description -l en_US et -> ET, wt, rt
   wmnet.x86_64: W: spelling-error %description -l en_US al -> AL, la, Al
   wmnet.x86_64: W: spelling-error %description -l de programm -> program
   3 packages and 0 specfiles checked; 0 errors, 14 warnings.
These warnings can be safely ignored.
[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.
[+] MUST: The License field in the package spec file must match the actual
license.
[+] 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.
[+] 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,
as provided in the spec URL.
MD5 sum=64e74c37c0cb5fd4fb81cfb0f5c4a264 -> OK
[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.
[+] MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.
[+] MUST: All build dependencies must be listed in BuildRequires
[+] MUST: The spec file MUST handle locales properly. This is done by using the
%find_lang macro.
[+] MUST: Every binary RPM package which stores shared library files (not just
symlinks) in any of the dynamic linker's default paths, must call ldconfig in
%post and %postun.
[+] MUST: If the package is designed to be relocatable, the packager must state
this fact in the request for review
[+] 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.
[+] MUST: A package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly. Executables should be set
with executable permissions, for example.
[+] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.
[+] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.
[+] MUST: Large documentation files should go in a doc subpackage.
[+] MUST: If a package includes something as %doc, it 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), then library files that end in .so (without suffix) must go in
a -devel package.
[+] MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release} 
[+] MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.
[+] 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.
->Exception validated here
[+] MUST: Packages must not own files or directories already owned by other
packages.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

This package is APPROVED.

Comment 11 Mario Blättermann 2011-12-01 09:00:04 UTC
Mohamed, many thanks for your review.

New Package SCM Request
=======================
Package Name: wmnet
Short Description: Network monitoring dockapp
Owners: mariobl
Branches: f15 f16

Comment 12 Gwyn Ciesla 2011-12-01 13:40:28 UTC
Git done (by process-git-requests).

Comment 13 Fedora Update System 2011-12-03 20:50:38 UTC
wmnet-1.06-5.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/wmnet-1.06-5.fc16

Comment 14 Fedora Update System 2011-12-03 20:50:48 UTC
wmnet-1.06-5.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/wmnet-1.06-5.fc15

Comment 15 Fedora Update System 2011-12-05 00:26:47 UTC
wmnet-1.06-5.fc15 has been pushed to the Fedora 15 testing repository.

Comment 16 Fedora Update System 2011-12-23 03:28:58 UTC
wmnet-1.06-5.fc15 has been pushed to the Fedora 15 stable repository.

Comment 17 Fedora Update System 2011-12-23 03:30:18 UTC
wmnet-1.06-5.fc16 has been pushed to the Fedora 16 stable repository.


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