Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 169753

Summary: Review Request: tclhttpd - A Tcl-based web/application server
Product: [Fedora] Fedora Reporter: Wart <wart>
Component: Package ReviewAssignee: John Mahowald <jpmahowald>
Status: CLOSED NEXTRELEASE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-extras-list
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://tclhttpd.sourceforge.net/
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-11-26 05:37:03 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:
Bug Depends On: 165935    
Bug Blocks: 163779    
Attachments:
Description Flags
rpmlint ouptut none

Description Wart 2005-10-03 05:35:13 UTC
Spec Name or Url: http://www.kobold.org/~wart/fedora/tclhttpd.spec
SRPM Name or Url: http://www.kobold.org/~wart/fedora/tclhttpd-3.5.1-2.src.rpm
MD5SUMS:  http://www.kobold.org/~wart/fedora/MD5SUM.asc
Description: TclHttpd is a Web server implemented in pure Tcl. It works out of the box as a Web server, but is really designed to be a Tcl application server. It supports HTML+Tcl templates, and is extensible in a variety of ways.

Comment 1 John Mahowald 2005-11-20 21:04:06 UTC
Needs work.

%prep fails at autoreconf, you'll need autoconf as a BuildRequires

You will need to register the tclhttpd user. 
http://fedoraproject.org/wiki/PackageUserCreation

Comment 2 John Mahowald 2005-11-20 21:06:09 UTC
Created attachment 121279 [details]
rpmlint ouptut

Comment 3 Wart 2005-11-21 01:26:31 UTC
I tried adding an entry for the tclhttpd user on
http://fedoraproject.org/wiki/PackageUserRegistry, but I don't have edit
permission on that page.

New spec file is available at:
http://www.kobold.org/~wart/fedora/tclhttpd.spec

This spec file cleans addresses the problems mentioned above, and cleans up some
of the rpmlint warnings.

I think that the rest of the remaining rpmlint warnings can be ignored for the
following reasons (feel free to disagree and/or suggest workarounds):

E: tclhttpd non-standard-uid /etc/tclhttpd tclhttpd
E: tclhttpd non-standard-gid /etc/tclhttpd tclhttpd
    - Yes, it is a non-standard uid.  This is a new uid created by
      the package so that the tclhttpd server doesn't have to run as
      root.
W: tclhttpd hidden-file-or-dir /var/www/tclhttpd/htdocs/status/.tclaccess
    - Yes, these are hidden by design.  The .tclaccess files are the
      tclhttpd equivalent of .htaccess files, except that they use
      tcl code for access control instead of standard .htaccess syntax.
W: tclhttpd hidden-file-or-dir /var/www/tclhttpd/htdocs/templates/.tml
    - These are also hidden by design.  .tml files are library template files
      that are loaded for all tcl application scripts in the current directory.
E: tclhttpd htaccess-file /var/www/tclhttpd/htdocs/htaccess/.htaccess
    - This is not apache, but it allows the use of .htaccess files for
      access control.  This error only pertains to apache .htaccess files.
E: tclhttpd executable-marked-as-config-file
/var/www/tclhttpd/htdocs/cgi-bin/wiki.cgi
    - The tclhttpd content directory /var/www/tclhttpd contains a default
      wwwroot that can be customized.  Since these files can be customized
      after installation, they must not be replaced during an upgrade,
      thus, they are marked as %config(noreplace).  This also includes
      a few cgi scripts which are triggering this error.
E: tclhttpd zero-length /var/www/tclhttpd/htdocs/empty.html
    - Intentionally empty file used for web page layouts.
E: tclhttpd script-without-shellbang /usr/bin/httpdthread.tcl
    - This isn't really meant to be invoked directly, but is instead
      sourced by the real startup script /usr/bin/tclhttpd.
W: tclhttpd log-files-without-logrotate /var/log/tclhttpd
    - tclhttpd has its own builtin log rotation system.
W: tclhttpd dangerous-command-in-%preun rm
W: tclhttpd dangerous-command-in-%postun rm
    - Any better suggestions on how to get rid of these runtime files?  I'm
      inclined to ignore this.

Comment 4 Ville Skyttä 2005-11-21 09:03:47 UTC
(In reply to comment #3) 
> E: tclhttpd script-without-shellbang /usr/bin/httpdthread.tcl 
>     - This isn't really meant to be invoked directly, but is instead 
>       sourced by the real startup script /usr/bin/tclhttpd. 
 
That sounds to me like the script should not be executable, and not installed 
in /usr/bin. 

Comment 5 Wart 2005-11-22 18:40:27 UTC
Good point about httpdthread.tcl.  I've moved it to /usr/share/tclhttpd3.5.1. 
New files can be found at:

http://www.kobold.org/~wart/fedora/tclhttpd.spec
http://www.kobold.org/~wart/fedora/tclhttpd-3.5.1-5.src.rpm
http://www.kobold.org/~wart/fedora/MD5SUM.asc

Comment 6 John Mahowald 2005-11-23 05:57:49 UTC
(In reply to comment #3)
> I tried adding an entry for the tclhttpd user on
> http://fedoraproject.org/wiki/PackageUserRegistry, but I don't have edit
> permission on that page.
> 

What's your wiki name so I can add you to the EditGroup ?

Comment 7 Wart 2005-11-23 06:00:55 UTC
(In reply to comment #6)
> (In reply to comment #3)
> > I tried adding an entry for the tclhttpd user on
> > http://fedoraproject.org/wiki/PackageUserRegistry, but I don't have edit
> > permission on that page.
> > 
> 
> What's your wiki name so I can add you to the EditGroup ?

MichaelThomas

Comment 8 John Mahowald 2005-11-23 17:51:58 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > (In reply to comment #3)
> > > I tried adding an entry for the tclhttpd user on
> > > http://fedoraproject.org/wiki/PackageUserRegistry, but I don't have edit
> > > permission on that page.
> > > 
> > 
> > What's your wiki name so I can add you to the EditGroup ?
> 
> MichaelThomas

Added.

Comment 9 Wart 2005-11-23 22:30:16 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > (In reply to comment #3)
> > > > I tried adding an entry for the tclhttpd user on
> > > > http://fedoraproject.org/wiki/PackageUserRegistry, but I don't have edit
> > > > permission on that page.
> > > > 
> > > 
> > > What's your wiki name so I can add you to the EditGroup ?
> > 
> > MichaelThomas
> 
> Added.


...and Added.  to the PackageUserRegistry, that is.

Comment 10 John Mahowald 2005-11-25 22:29:52 UTC
- package meets naming guidelines
- package meets packaging guidelines
- license (BSD) OK, text in %doc
- spec file legible, well commented
- source matches upstream
- package compiles and runs on FC4 i386
- no missing BR
- no unnecessary BR
- no locales
- not relocatable
- no duplicate files (man page does not conflict with httpd either)
- %clean ok
- code, not content
- no need for -docs
- nothing in %doc affects runtime
- no need for .desktop file 
- tclhttpd uid/gid registered
- chkconfig compatible init script

Macro use isn't entirely consistent, tclhttpd in some places and %{name} others,
but not a blocker

rpmlint still complains about tclhttpd user and group, .htaccess files, and
hidden .tclaccess files, but these can be ignored for the reasons described in
comment 3

APPROVED