Bug 426149

Summary: Review Request: sshmenu - Application to organize SSH connection information in a menu
Product: [Fedora] Fedora Reporter: Matthias Saou <matthias>
Component: Package ReviewAssignee: Marek Mahut <mmahut>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, lxtnow, mtasaka, notting
Target Milestone: ---Flags: mmahut: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-04 08:10:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matthias Saou 2007-12-18 20:05:03 UTC
Spec URL: http://thias.fedorapeople.org/review/sshmenu/
SRPM URL: http://thias.fedorapeople.org/review/sshmenu/
Description:
SSHMenu is a GNOME panel applet (which can also be used outside of GNOME) that
keeps all your regular SSH connections within a single panel menu.

Comment 1 Marek Mahut 2007-12-18 20:12:01 UTC
Yay! I was looking forward to see this package in Fedora!

Comment 2 Marek Mahut 2007-12-18 20:54:18 UTC
 + Package is named according to the Package Naming Guidelines.
 + Spec file name must match the base package %{name}, in the format %{name}.spec.
 + Package meets the Packaging Guidelines.
 + Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     Tested on: Fedora rawhide, Fedora 8
 + Buildroot is correct
(%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n))
 + Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 + License field in the package spec file matches the actual license.
     License type: BSD
 + Spec file is legible and written in American English.
 + Package is not known to require ExcludeArch
 + Package must own all directories that it creates.
 + Package does not contain duplicates in %files.
 + Permissions on files are set properly.
 + Package has a %clean section, which contains rm -rf of the buildroot
 + Package consistently uses macros.
 + File based requires are sane.
 - Rpmlint output is not sane.

    sshmenu.src:59: E: hardcoded-library-path in
%{_prefix}/lib/bonobo/servers/sshmenu-applet.server
    sshmenu.src:60: E: hardcoded-library-path in %{_prefix}/lib/ruby/*/*.rb

Not sure if this is an issue, can you check it?

I've tried it on Fedora 8 and it's working correctly.

Comment 3 Matthias Saou 2007-12-19 20:47:51 UTC
Those "hardcoded library paths" should be harmless. It's because this is a
noarch package, and those files need to be in /usr/lib even on 64bit
architectures (not in /usr/lib64, as it would mean that the noarch package built
on a 64bit machine wouldn't work on a 32bit one).
I've tested my builds on an x86_64, and the bonobo server file is picked up fine
(see the comment in the spec about it). Maybe the ruby files could use some
macro of some kind, that I don't know for sure, but it should be fine like this
nevertheless.

Comment 4 Marek Mahut 2007-12-19 20:50:46 UTC
I understand Matt, Thank you!


APPROVED.

Comment 5 Marek Mahut 2007-12-29 16:09:10 UTC
ping?

Comment 6 Xavier Lamien 2008-01-01 12:06:33 UTC
I've a comment about the name of the package.
I think the name should be follow other packages names of gnome applet tools.
so gnome-applet-sshmenu, should be more appropriate.

Comment 7 Xavier Lamien 2008-01-01 12:13:32 UTC
i'm talkin' about the summary of the bug as well.

Comment 8 Mamoru TASAKA 2008-01-01 12:32:54 UTC
- Well, ruby script should not be installed under rubylibdir, it should
  be moved to sitelibdir.
  rubylibdir should be used by ruby scripts in ruby rpm (and its subrpms,
  like ruby-libs, ruby-tcltk,...)

  Also, for refering to the directories related to ruby, please
  refer to
  http://fedoraproject.org/wiki/Packaging/Ruby

- Also, as the directory where ruby script is installed is version
  specific, this package should have "Requires: ruby(abi) = 1.8".


Comment 9 Matthias Saou 2008-01-14 11:56:29 UTC
Thanks for these comments! I had never packaged a ruby application for Fedora
before, and completely missed the ruby specific packaging Wiki page. I'll fix
this ASAP.

About the package name, I'm actually all for "gnome-applet-sshmenu", but the
thing is that this program doesn't necessarily require a GNOME panel to run, as
it includes both a simple program, and the gnome applet. Maybe it would be
possible to split it into "sshmenu" which would be the simple non-applet
application (still possibly requiring some ruby-gnome stuff), and
"gnome-applet-sshmenu" which would require "sshmenu" but also provide the
panel/bonobo/etc. stuff which is GNOME applet specific.

Further thoughts?

Comment 10 Matthias Saou 2008-01-14 12:03:10 UTC
I've updated the package to 3.15-2.
http://thias.fedorapeople.org/review/sshmenu/
* Mon Jan 14 2008 Matthias Saou <http://freshrpms.net/> 3.15-2
- Follow ruby guidelines : Put ruby files in ruby_sitelib.
- Add required hardcoded ruby abi version requirement.

I'll wait for further comments regarding the name change and/or applet split.

Comment 11 Matthias Saou 2008-01-17 13:24:02 UTC
* Wed Jan 16 2008 Matthias Saou <http://freshrpms.net/> 3.15-4
- Keep only ruby(gtk2) req in sshmenu, move others to gnome-applet-sshmenu.

* Mon Jan 14 2008 Matthias Saou <http://freshrpms.net/> 3.15-3
- Split out the GNOME applet as gnome-applet-sshmenu while keeping the basic
  menu application as sshmenu, and have all the shared ruby files be there.

I've tested sshmenu "alone", it works fine, then the full gnome applet is in its
own "gnome-applet-sshmenu" package. The main advantage is that the basic
"sshmenu" package only requires "ruby(gtk2)", while the other requires it plus
"ruby(gconf2)" and "ruby(panelapplet2)".

I'll wait a little while in case there are further comments, but as I'm pretty
satisfied by the current solution, I'll then proceed to importing and building
the packages :-)

Comment 12 Mamoru TASAKA 2008-01-17 15:32:15 UTC
(In reply to comment #11)
> I've tested sshmenu "alone", it works fine, then the full gnome applet is in its
> own "gnome-applet-sshmenu" package. The main advantage is that the basic
> "sshmenu" package only requires "ruby(gtk2)", while the other requires it plus
> "ruby(gconf2)" and "ruby(panelapplet2)".

Then I think %ruby_sitelib/gnome-sshmenu.rb should be moved to
gnome-applet-sshmenu rpm as this script is not used by sshmenu and
this 'require's 'gconf2'.

Comment 13 Matthias Saou 2008-01-17 15:58:29 UTC
Good catch!

* Thu Jan 17 2008 Matthias Saou <http://freshrpms.net/> 3.15-5
- Move gnome-sshmenu.rb to gnome-applet-sshmenu too.

Comment 14 Mamoru TASAKA 2008-01-17 16:38:14 UTC
Okay for me.

Comment 15 Matthias Saou 2008-02-03 13:23:27 UTC
New Package CVS Request
=======================
Package Name: sshmenu
Short Description: Application to organize SSH connection information in a menu
Owners: thias
Branches: F-7 F-8 EL-5
InitialCC:
Cvsextras Commits: yes

Comment 16 Kevin Fenzi 2008-02-03 20:16:26 UTC
cvs done.

Comment 17 Matthias Saou 2008-02-04 08:10:13 UTC
Thanks to Marek, Xavier and Mamoru for the review, and Kevin for the CVS request!
I've imported and built it on all branches.