Bug 756445 - Review Request: tor-arm - Terminal status monitor for Tor
Summary: Review Request: tor-arm - Terminal status monitor for Tor
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Brendan Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 756435 756443
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-23 15:48 UTC by Juan Orti
Modified: 2012-05-04 23:06 UTC (History)
6 users (show)

Fixed In Version: tor-arm-1.4.4.1-12.fc17
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-03 22:51:54 UTC
Type: ---
Embargoed:
brendan.jones.it: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Juan Orti 2011-11-23 15:48:13 UTC
Spec URL: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-5/SPECS/tor-arm.spec
SRPM URL: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-5/SRPMS/tor-arm-1.4.4.1-5.fc15.src.rpm
Description: The anonymizing relay monitor (arm) is a terminal status monitor for Tor relays, intended for command-line aficionados, ssh connections, and anyone with a tty terminal. This works much like top does for system usage, providing real time statistics.

rpmlint output:

$ rpmlint SPECS/tor-arm.spec SRPMS/tor-arm-1.4.4.1-5.fc15.src.rpm RPMS/noarch/tor-arm-1.4.4.1-5.fc15.noarch.rpm 

tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty
tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.c
tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.h

Comment 1 Juan Orti 2011-11-23 16:09:55 UTC
I have separated in different packages some libraries needed by this program. They are waiting for review too:

cagraph: https://bugzilla.redhat.com/show_bug.cgi?id=756443
pytorctl: https://bugzilla.redhat.com/show_bug.cgi?id=756435

Comment 2 Juan Orti 2011-12-14 10:37:15 UTC
I have updated the Spec file:

Spec URL: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-6/SPECS/tor-arm.spec
SRPM URL: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-6/SRPMS/tor-arm-1.4.4.1-6.fc16.src.rpm


Rpmlint output:

$ rpmlint SPECS/tor-arm.spec RPMS/noarch/tor-arm-1.4.4.1-6.fc16.noarch.rpm SRPMS/tor-arm-1.4.4.1-6.fc16.src.rpm
tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty
tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.c
tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.h
tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
2 packages and 1 specfiles checked; 0 errors, 6 warnings.

Comment 3 Juan Orti 2011-12-22 13:14:50 UTC
A new update to the package:

Spec URL: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-7/SPECS/tor-arm.spec
SRPM URL: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-7/SRPMS/tor-arm-1.4.4.1-7.fc16.src.rpm

The rpmlint output is:

$ rpmlint RPMS/noarch/tor-arm-1.4.4.1-7.fc16.noarch.rpm SRPMS/tor-arm-1.4.4.1-7.fc16.src.rpm SPECS/tor-arm.spec
tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty
tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.c
tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.h
tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
2 packages and 1 specfiles checked; 0 errors, 6 warnings.

About the devel-file-in-non-devel-package warning, it's the source code of a  wrapper provided as example if you want to run arm as root to be able to reconfigure the daemon it connects to. I'm not very sure what to do about this, I left it untouched.

Comment 4 Michael S. 2012-03-04 19:15:29 UTC
I think the code should go in %doc, since that's a example.

Comment 5 Juan Orti 2012-04-12 11:57:19 UTC
(In reply to comment #4)
> I think the code should go in %doc, since that's a example.

I moved it to %doc

SPEC: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-8/SPECS/tor-arm.spec
SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-8/SRPMS/tor-arm-1.4.4.1-8.fc16.src.rpm

Rpmlint output:
tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty
tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
2 packages and 1 specfiles checked; 0 errors, 4 warnings.

Comment 6 Tom "spot" Callaway 2012-04-16 20:38:47 UTC
I'm not sure why this package doesn't look like this:

%build
%{__python} setup.py build

%install
rm -rf %{buildroot}
%{__python} setup.py install --skip-build --root=%{buildroot}

(The Python packaging guidelines need an overhaul, I know, but this is the default for noarch python packages that have setup.py.)

Are you doing this to avoid having it include its local copy of TorCtl?
Seems like it might be easier to simply add:

# This lives in pytorctl
rm -rf %{buildroot}%{_datadir}/%{realname}/TorCtl

*****

Also, there should probably be a tor-arm.desktop file which runs arm -g.

Comment 7 Juan Orti 2012-04-19 11:37:13 UTC
I have updated the build/install commands as you said and removed TorCtl afterwards.

Also I have included a desktop file and a icon, I asked upstream about including them in future releases.

SPEC: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-9/SPECS/tor-arm.spec
SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-9/SRPMS/tor-arm-1.4.4.1-9.fc16.src.rpm

Rpmlint output:
tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty
2 packages and 1 specfiles checked; 0 errors, 4 warnings.

Comment 8 Juan Orti 2012-04-19 15:55:36 UTC
I have removed the Tor onion from the icon because there are some trademark issues with it. Now the icon is only based in the Oxygen theme, which is dual licensed with Creative Common Attribution-ShareAlike 3.0 License or the GNU Library General Public License. http://www.oxygen-icons.org/

Hope everything is allright now.

SPEC: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-10/SPECS/tor-arm.spec
SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-10/SRPMS/tor-arm-1.4.4.1-10.fc16.src.rpm

Comment 9 Brendan Jones 2012-04-25 01:27:32 UTC
I will take this review.

Comment 10 Brendan Jones 2012-04-25 02:39:18 UTC
I'm not comfortable with the name of the binary or the datadir directory given the recent push for arm as a primary arch, can we use the package name instead, or will this cause problems?

Comment 11 Juan Orti 2012-04-25 08:07:47 UTC
(In reply to comment #10)
> I'm not comfortable with the name of the binary or the datadir directory given
> the recent push for arm as a primary arch, can we use the package name instead,
> or will this cause problems?

I'm not sure about the implications of changing the name of the directory, also in Debian it's packaged this way without problem. For example you don't have a binary called x86_64.

I would prefer staying close to upstream in the directory layout.

Comment 12 Brendan Jones 2012-04-25 11:36:09 UTC
OK, up to you. Unless it will cause issues with dependant packages, I'd still recommend prefixing with tor-, but I will leave it up to you to decide.

Main package should not contain *.c or *.h files, create a -devel sub-package instead requiring the main package.

Comment 13 Brendan Jones 2012-04-25 11:43:08 UTC
Looking good for approval, just use .* instead .gz for your man file

Comment 14 Juan Orti 2012-04-25 21:06:44 UTC
Spec: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-12/SPECS/tor-arm.spec
SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-12/SRPMS/tor-arm-1.4.4.1-12.fc16.src.rpm

I will leave the datadir as is, I've done some tests and it breaks in several ways.

I have created the devel subpackage with the example source code, and added the wildcard to the man page. Hope everything is ok.

Comment 15 Brendan Jones 2012-04-27 15:23:14 UTC
This package is APPROVED.

You can safely ignore all issues below.


Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== C/C++ ====
[x]: MUST Header files in -devel subpackage, if present.
[x]: MUST Package does not contain any libtool archives (.la)
[x]: MUST Package does not contain kernel modules.
[x]: MUST Package contains no static executables.
[x]: MUST Rpath absent or only used for internal libs.
[x]: MUST Package is not relocatable.


==== Generic ====
[x]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[x]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
This is OK
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[x]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
This is OK
[ ]: MUST Sources contain only permissible code or content.
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package contains a properly installed %{name}.desktop using desktop-
     file-install file if it is a GUI application.

[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Fully versioned dependency in subpackages, if present.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[-]: MUST Large documentation files are in a -doc subpackage, if required.
[x]: 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 is included in %doc.
[x]: MUST License field in the package spec file matches the actual license.
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.

rpmlint tor-arm-1.4.4.1-12.fc18.src.rpm

tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint tor-arm-1.4.4.1-12.fc18.noarch.rpm

tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint tor-arm-devel-1.4.4.1-12.fc18.noarch.rpm

tor-arm-devel.noarch: W: spelling-error %description -l en_US setuid -> setup
tor-arm-devel.noarch: W: spelling-error %description -l en_US config -> con fig, con-fig, configure
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

This is OK

[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/bsjones/rpmbuild/SPECS/arm-1.4.4.1.tar.bz2 :
  MD5SUM this package     : a3bb93f7d7589bbc54c9b2d4e24d878b
  MD5SUM upstream package : a3bb93f7d7589bbc54c9b2d4e24d878b

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[x]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[x]: 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.
[x]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[-]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD Scriptlets must be sane, if used.
[x]: SHOULD SourceX is a working URL.
[-]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[-]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
See: http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions
[!]: MUST Package contains a properly installed %{name}.desktop using desktop-
     file-install file if it is a GUI application.
See: http://fedoraproject.org/wiki/Packaging/Guidelines#desktop
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
See: None
[!]: MUST Rpmlint output is silent.

rpmlint tor-arm-1.4.4.1-12.fc18.src.rpm

tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint tor-arm-1.4.4.1-12.fc18.noarch.rpm

tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing
tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


rpmlint tor-arm-devel-1.4.4.1-12.fc18.noarch.rpm

tor-arm-devel.noarch: W: spelling-error %description -l en_US setuid -> setup
tor-arm-devel.noarch: W: spelling-error %description -l en_US config -> con fig, con-fig, configure
1 packages and 0 specfiles checked; 0 errors, 2 warnings.


See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint


Generated by fedora-review 0.1.3
External plugins:

Comment 16 Juan Orti 2012-04-29 19:18:41 UTC
New Package SCM Request
=======================
Package Name: tor-arm
Short Description: Terminal status monitor for Tor
Owners: jorti
Branches: f15 f16 f17
InitialCC:

Comment 17 Gwyn Ciesla 2012-04-29 20:56:14 UTC
Git done (by process-git-requests).

Comment 18 Fedora Update System 2012-05-02 07:44:46 UTC
tor-arm-1.4.4.1-12.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/tor-arm-1.4.4.1-12.fc17

Comment 19 Fedora Update System 2012-05-02 15:25:34 UTC
tor-arm-1.4.4.1-12.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/tor-arm-1.4.4.1-12.fc16

Comment 20 Fedora Update System 2012-05-02 15:30:08 UTC
tor-arm-1.4.4.1-12.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/tor-arm-1.4.4.1-12.fc15

Comment 21 Fedora Update System 2012-05-02 20:32:43 UTC
tor-arm-1.4.4.1-12.fc17 has been pushed to the Fedora 17 testing repository.

Comment 22 Fedora Update System 2012-05-03 22:51:54 UTC
tor-arm-1.4.4.1-12.fc16 has been pushed to the Fedora 16 stable repository.

Comment 23 Fedora Update System 2012-05-03 22:54:32 UTC
tor-arm-1.4.4.1-12.fc15 has been pushed to the Fedora 15 stable repository.

Comment 24 Fedora Update System 2012-05-04 23:06:17 UTC
tor-arm-1.4.4.1-12.fc17 has been pushed to the Fedora 17 stable repository.


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