Bug 619228

Summary: Review Request: shellinaboxd - AJAX based terminal emulator
Product: [Fedora] Fedora Reporter: Jochen Wiedmann <jochen.wiedmann>
Component: Package ReviewAssignee: Simone Caronni <negativo17>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: gwync, lakshmipathi.g, martin.gieseking, negativo17, notting, package-review, rlpowell
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-09 19:24:14 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 Jochen Wiedmann 2010-07-28 23:34:16 UTC
Spec URL: http://people.apache.org/~jochen/shellinabox/shellinabox.spec
SRPM URL: http://people.apache.org/~jochen/shellinabox/shellinabox-2.10-1.src.rpm
Description:
Shell In A Box implements a web server that can export arbitrary command line tools to a web based terminal emulator. This emulator is accessible to any JavaScript and CSS enabled web browser and does not require any additional browser plugins. Most typically, login shells would be exported this way:

shellinaboxd -s /:LOGIN

This command starts a web server at http://localhost:4200 that allows users to login with their username and password and to get access to their login shell.

All client-server communications are encrypted, if SSL/TLS certificates have been installed.

More details are available in the manual page.

Comment 1 Martin Gieseking 2010-08-26 19:20:04 UTC
Hi Jochen,

is this your first package submission for Fedora? I can't find you in the packager group. If so, please add FE-NEEDSPONSOR to the Blocks field above and see [1] for further details.

[1] https://fedoraproject.org/wiki/PackageMaintainers/Join#How_to_join_the_Fedora_Package_Collection_Maintainers.3F


Here are some initial comments on your package:

- drop the final dot from Summary

- append %{?dist} to the Release number

- Source0 should contain a complete URL pointing to the upstream tarball

- The %description lines should not exceed 80 characters. Split them properly.

- Replace "./configure --prefix=/usr --bindir=/usr/sbin"
  with    "%configure --bindir=%{_sbindir}"
  The %configure macro sets a couple of variables to Fedora defaults.

- In %build, append %{_smp_mflags} to "make" in order to enable parallel builds.

- replace DESTDIR=$RPM_BUILD_ROOT make install
  with    make install DESTDIR=$RPM_BUILD_ROOT 

- use macros in the %install and %files section:
  /usr/sbin      -> %{_sbindir}
  /usr/share/man -> %{_mandir}
  /etc/init.d    -> %{_initddir}
  /etc           -> %{_sysconfdir}

- drop INSTALL from %files (it's not of much use in a binary package)

- drop "%config" from "%config /etc/init.d/shellinabox" as this file is 
  a script and not a configuration file

- replace "1.gz" with "1*" since the compression format applied by rpmbuild 
  could change

- I suggest to add the demo folder as %doc

- If you want to maintain the package for Fedora only, the Buildroot tag and "rm -rf $RPM_BUILD_ROOT" in %install is not required any longer. However, you still need them for EPEL 4 and 5.

- Add version and release number to the %changelog header.
  See https://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs

- The init script must be adapted according to the Fedora guidelines. See 
  http://fedoraproject.org/wiki/Packaging/SysVInitScript

- Also see here how to install the init scripts properly:
  http://fedoraproject.org/wiki/Packaging/SysVInitScript#InitscriptScriptlets

That's all for now. :)

Comment 2 Jochen Wiedmann 2010-09-12 20:22:19 UTC
Spec URL: http://people.apache.org/~jochen/shellinabox/shellinabox.spec
SRPM URL:
http://people.apache.org/~jochen/shellinabox/shellinabox-2.10-2.src.rpm

Martin, I did my best to follow all of your suggestions. One note: My current spec file uses the deprecated %{_initrddir} macro. This is due to the fact that my only build system is running CentOS 5. (In fact, I am more interested in getting this into EPEL 5, rather than Fedora, but one thing after the other.)

Comment 3 Jochen Wiedmann 2011-01-08 01:34:57 UTC
Ping?

Comment 4 Fabian Affolter 2011-01-18 11:31:17 UTC
The access to the spec file and the Source RPM is limited to "ASF Committers".

Comment 5 Jochen Wiedmann 2011-01-18 11:35:08 UTC
What do you mean by that? I have no problem to view the spec file or download the SRPM in my browser?

Comment 6 Martin Gieseking 2011-01-18 23:01:45 UTC
Jochen, here are some more things to consider:

- add "daemon" before $exec in function start() of the initscript

- the daemon should not be started automatically after installation, see
  http://fedoraproject.org/wiki/Packaging/SysVInitScript#Why_don.27t_we....

- add the missing %post and %postun scriptlets:
  http://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscripts_in_spec_file_scriptlets

- /usr/sbin/shellinaboxd allows executable code on the stack. I'm not sure if
  this is really necessary. Please ask upstream whether shellinaboxd actually 
  requires this feature. If not, disable stack execution using execstack -c. 
  


$ rpmlint /var/lib/mock/fedora-14-x86_64/result/*.rpm
shellinabox.src: W: spelling-error %description -l en_US plugins -> plug ins, plug-ins, plugging
shellinabox.src: W: strange-permission shellinabox.init 0755L
shellinabox.src: W: invalid-url Source0: http://shellinabox.googlecode.com/files/shellinabox-2.10.tar.gz HTTP Error 404: Not Found
shellinabox.x86_64: W: spelling-error %description -l en_US plugins -> plug ins, plug-ins, plugging
shellinabox.x86_64: W: executable-stack /usr/sbin/shellinaboxd
shellinabox.x86_64: E: zero-length /usr/share/doc/shellinabox-2.10/demo/usercss-1.css
shellinabox.x86_64: E: zero-length /usr/share/doc/shellinabox-2.10/black-on-white.css
shellinabox.x86_64: E: init-script-without-chkconfig-postin /etc/rc.d/init.d/shellinaboxd
shellinabox.x86_64: W: service-default-enabled /etc/rc.d/init.d/shellinaboxd
shellinabox.x86_64: W: incoherent-subsys /etc/rc.d/init.d/shellinaboxd $prog
shellinabox.x86_64: W: service-default-enabled /etc/rc.d/init.d/shellinaboxd
3 packages and 0 specfiles checked; 3 errors, 8 warnings.

Comment 7 Jochen Wiedmann 2011-01-27 17:06:01 UTC
That's a little bit unfair, to consider me "stalled" after basically one week. I am doing my best, but like most of you, I am involved in a lot of open source projects and it's difficult to find some spare cycles.

Comment 8 Jason Tibbitts 2011-01-27 17:16:06 UTC
Not unfair at all.  The process is stalled on you; nobody should invest their time reviewing this further if they don't know that you will reply.  There are far too many package review tickets in the queue to expect someone to read one, determine that things are waiting on you, and go onto another, so I annotate them as such.

The ticket is still open, though even if it were closed it would still be possible to reopen it.  I just don't see what the big deal is.  Work on it on your schedule, clear the whiteboard when you're done.  Just don't expect us to keep looking at the ticket until you've done that.

Comment 9 Robin Powell 2011-08-01 18:46:26 UTC
So I've been working on this package; I've made a systemd unit file for it, and I'm willing to roll in any other changes people want.  I'm also working on an SELinux policy for it.

I'd really rather not go through the whole process to become a package maintainer just for this one package, though.

Would it be possible for me to do all the work and someone else to submit the package and so on?  If so, where should the selinux policy go?

-Robin

Comment 10 Lakshmipathi 2012-04-09 17:09:00 UTC
> package and so on?  If so, where should the selinux policy go?
> 
> -Robin

Hi Robin,
Could you please let me know where I can get the SELinux policy for shellinaboxd? 
Is it already available with Fedora? Thanks for help.

-Lakshmipathi.G

Comment 11 Simone Caronni 2012-05-09 16:05:03 UTC
Hello,

I would like to step in as package mantainer for this package for both Fedora and EPEL, I was exactly looking forward into creating a review request.

I'm one of the current mantainers for Bacula and Bacula docs.

Apart from the code changes, what is the procedure to go on?

Do I need to reopen the ticket as mine?
Can someone reassign the ticket to me?
Should I just go on with the changes and the reviews?

Thanks,
--Simone

Comment 12 Gwyn Ciesla 2012-05-09 16:14:17 UTC
Take what's here, fix up what needed, and submit a new review BZ.  When yours is approved, close this one.

Comment 13 Jason Tibbitts 2012-05-09 19:24:14 UTC

*** This bug has been marked as a duplicate of bug 820350 ***

Comment 14 Jochen Wiedmann 2012-05-10 06:43:24 UTC
Just for the record: Completely fine with me, if Simone takes over.

Comment 15 Simone Caronni 2012-05-10 06:48:37 UTC
(In reply to comment #14)
> Just for the record: Completely fine with me, if Simone takes over.

Thanks!
--Simone

Comment 16 Robin Powell 2012-05-10 06:51:34 UTC
Simone: You are *more* than welcome to my setup; I've got an selinux setup as I said and an rpm and some other related stuff.  email me at rlpowell if you want it.

-Robin