tclhttpd

Check-in [e7e4dbf86a]
Login

Check-in [e7e4dbf86a]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Bumped the version to 3.5.3 to fold in all of the fixes thusfar, and to account for the incomplete way that 3.5.2 was rolled out. Updated the version numbers in all distribution files The 3.5 series is now in pure bug fix mode, new development is along the 4.0 branch
Timelines: family | ancestors | 3_5_3
Files: files | file ages | folders
SHA1: e7e4dbf86a776a1c09cbcc2b6d98b41c526e4018
User & Date: hypnotoad 2015-04-02 10:07:35.162
Context
2015-04-02
10:07
Bumped the version to 3.5.3 to fold in all of the fixes thusfar, and to account for the incomplete way that 3.5.2 was rolled out. Updated the version numbers in all distribution files The 3.5 series is now in pure bug fix mode, new development is along the 4.0 branch Leaf check-in: e7e4dbf86a user: hypnotoad tags: 3_5_3
2014-09-10
12:45
Added support for "-dispatch" option to Url_PrefixInstall. This allows for custom thread dispatchers and per-session threading. Leaf check-in: 16399ebdeb user: clif tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to DIST_build/DIST.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
#
# Create a super distribution of TclHttpd, Tcl, Tcllib, and Thread

WELCH=/panfs/panwest/home/welch

HTTPD_VERSION=3.5.1
HTTPD_TAG=tclhttpd-3-5-rel-1
HTTPD_TAG=HEAD
WIN_VERSION=351
DISTDIR=${WELCH}/dist
SUPER_DIR=${DISTDIR}/tclhttpd${HTTPD_VERSION}-dist

TCL_VERSION=8.4.5






|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
#
# Create a super distribution of TclHttpd, Tcl, Tcllib, and Thread

WELCH=/panfs/panwest/home/welch

HTTPD_VERSION=3.5.3
HTTPD_TAG=tclhttpd-3-5-rel-1
HTTPD_TAG=HEAD
WIN_VERSION=351
DISTDIR=${WELCH}/dist
SUPER_DIR=${DISTDIR}/tclhttpd${HTTPD_VERSION}-dist

TCL_VERSION=8.4.5
Changes to DIST_build/DIST.exp.
1
2
3
4
5
6
7
8
9
10
11
# Expect script to drive DIST, and handle the CVS password prompting.

set v 3.5.1
set vv 351

stty -echo
send_user "CVS Password: "
expect_user {
    -re "(.*)\n" { set Password $expect_out(1,string) }
    timeout { return -code error "You must enter a password!"}
}


|
|







1
2
3
4
5
6
7
8
9
10
11
# Expect script to drive DIST, and handle the CVS password prompting.

set v 3.5.3
set vv 353

stty -echo
send_user "CVS Password: "
expect_user {
    -re "(.*)\n" { set Password $expect_out(1,string) }
    timeout { return -code error "You must enter a password!"}
}
Changes to DIST_build/README.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
This is a bundled distribution of TclHttpd, Tcl, the
Standard Tcl Library, and the Thread extension.

If you already have tcl 8.4 or 8.3 installed, then you can probably
run the Tcl Web Server directly from this distribtuion without
doing any installation steps (The directory will really be
named something like tclhttpd3.5.1) :

cd tclhttpd3.5/bin
tclsh httpd.tcl -port 8001 -debug 1

If you get complaints about missing the Standard Tcl Library,
then you can install just that by running the install.sh script
in the tcllib1.6 directory.






|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
This is a bundled distribution of TclHttpd, Tcl, the
Standard Tcl Library, and the Thread extension.

If you already have tcl 8.4 or 8.3 installed, then you can probably
run the Tcl Web Server directly from this distribtuion without
doing any installation steps (The directory will really be
named something like tclhttpd3.5.3) :

cd tclhttpd3.5/bin
tclsh httpd.tcl -port 8001 -debug 1

If you get complaints about missing the Standard Tcl Library,
then you can install just that by running the install.sh script
in the tcllib1.6 directory.
Name change from README to README.md.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
This HTTPD is written in Tcl and Tk.
Written by Stephen Uhler and Brent Welch of Sun Microsystems Laboratory.
Brent is now at Panasas, Inc.
See the file "license.terms" for information on usage and redistribution
of this file, and for a DISCLAIMER OF ALL WARRANTIES.

Version: 3.5.1
Tue May 18 21:15:39 PDT 2004

STARKIT QUICK START

tclkit tclhttpd3.5.1.kit -port 80 -docRoot htmldir -library tcldir

The server loads all the tcl sources in the library.  Try also
tclkit tclhttpd3.5.1.kit -help

STANDARD QUICK START

It requires Tcl 8.3 (or higher) and the Standard Tcl Library.
This uses the cmdline, base64, ncgi, html, and counter
modules of the Standard Tcl Library. If you must, you
can probably get by with Tcl 8.0 or later if you install






|




|


|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
This HTTPD is written in Tcl and Tk.
Written by Stephen Uhler and Brent Welch of Sun Microsystems Laboratory.
Brent is now at Panasas, Inc.
See the file "license.terms" for information on usage and redistribution
of this file, and for a DISCLAIMER OF ALL WARRANTIES.

Version: 3.5.3
Tue May 18 21:15:39 PDT 2004

STARKIT QUICK START

tclkit tclhttpd3.5.3.kit -port 80 -docRoot htmldir -library tcldir

The server loads all the tcl sources in the library.  Try also
tclkit tclhttpd3.5.3.kit -help

STANDARD QUICK START

It requires Tcl 8.3 (or higher) and the Standard Tcl Library.
This uses the cmdline, base64, ncgi, html, and counter
modules of the Standard Tcl Library. If you must, you
can probably get by with Tcl 8.0 or later if you install
Changes to VERSION.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Current version is 3.5.1
This is reflected in the following files (sigh)

README
        For informational purposes
configure.in
        The patchlevel is either "" or ".1" etc.
        *re-run* autoconf to update configure
bin/httpd.tcl
        set v 3.5.1
        So it can look for the right tclhttpd library
lib/version.tcl
        To set the right version string.  This does
        package provide major.minor only, but the string
        has the date and patchlevel.  The actual value
        of the httpd::version package number isn't used.
lib/pkgIndex.tcl
|








|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Current version is 3.5.3
This is reflected in the following files (sigh)

README
        For informational purposes
configure.in
        The patchlevel is either "" or ".1" etc.
        *re-run* autoconf to update configure
bin/httpd.tcl
        set v 3.5.3
        So it can look for the right tclhttpd library
lib/version.tcl
        To set the right version string.  This does
        package provide major.minor only, but the string
        has the date and patchlevel.  The actual value
        of the httpd::version package number isn't used.
lib/pkgIndex.tcl
Changes to bin/httpd.tcl.
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
set home [file join [pwd] $home]

# Auto-detect the configuration
# 1. Development - look for $home/../lib and $home/../../tcllib/modules
# 2. Standalone install - look for $home/../lib/tclhttpd $home/tcllib
# 3. Tcl package install - look for $tcl_library/../tclhttpd

set v 3.5.2

if {[file exist [file join $home ../lib/httpd.tcl]]} {
    # Cases 1 and 2
    set Config(lib) [file join $home ../lib]
} elseif {[file exist [file join $home ../lib/tclhttpd$v]]} {
    # Standard package install (e.g., TclPro)
    # By going one level up, we make all Tcl packages available.







|







59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
set home [file join [pwd] $home]

# Auto-detect the configuration
# 1. Development - look for $home/../lib and $home/../../tcllib/modules
# 2. Standalone install - look for $home/../lib/tclhttpd $home/tcllib
# 3. Tcl package install - look for $tcl_library/../tclhttpd

set v 3.5.3

if {[file exist [file join $home ../lib/httpd.tcl]]} {
    # Cases 1 and 2
    set Config(lib) [file join $home ../lib]
} elseif {[file exist [file join $home ../lib/tclhttpd$v]]} {
    # Standard package install (e.g., TclPro)
    # By going one level up, we make all Tcl packages available.
Changes to certs/README.ssl.
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
It's signed by your own CA.

You can make any number of certs by repeating steps
two through four again with different file names.

To set up tclhttpd, copy the key and the cert into the
tclhttpd/certs subdirectory.  E.g., 
cd /usr/local/tclhttpd-3.5.1/
mkdir certs
cp /usr/local/ssl/key1.pem certs/skey.pem
cp /usr/local/ssl/demoCA/newcerts/02.pem certs/server.pem

It appears that the default location for the certs directory
is a "bin/certs", a subdirectory of the bin directory.  If
you want to change that, edit bin/tclhttpd.rc and fix







|







96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
It's signed by your own CA.

You can make any number of certs by repeating steps
two through four again with different file names.

To set up tclhttpd, copy the key and the cert into the
tclhttpd/certs subdirectory.  E.g., 
cd /usr/local/tclhttpd-3.5.3/
mkdir certs
cp /usr/local/ssl/key1.pem certs/skey.pem
cp /usr/local/ssl/demoCA/newcerts/02.pem certs/server.pem

It appears that the default location for the certs directory
is a "bin/certs", a subdirectory of the bin directory.  If
you want to change that, edit bin/tclhttpd.rc and fix
Changes to debian/changelog.






1
2
3
4
5
6
7






tclhttpd (3.5.1-1) unstable; urgency=low
  * change version for release

 -- Colin McCormack <[email protected]>  Thu, 27 May 2004 10:06:02 +1000

tclhttpd (3.5.0-2) unstable; urgency=low

>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
tclhttpd (3.5.3) stable; urgency=low
  * change version for release

 -- Sean Woods <[email protected]>  Thu, 2 Apr 2015 06:01:02 +600


tclhttpd (3.5.1-1) unstable; urgency=low
  * change version for release

 -- Colin McCormack <[email protected]>  Thu, 27 May 2004 10:06:02 +1000

tclhttpd (3.5.0-2) unstable; urgency=low

Changes to debian/rules.
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules with debhelper for tclhttpd

export VERSION=3.5.1
export BUILD=$(CURDIR)/debian/tclhttpd/

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

# This has to be exported to make some magic below work.
export DH_OPTIONS




|







1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/make -f
# -*- makefile -*-
# debian/rules with debhelper for tclhttpd

export VERSION=3.5.3
export BUILD=$(CURDIR)/debian/tclhttpd/

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

# This has to be exported to make some magic below work.
export DH_OPTIONS
Changes to lib/version.tcl.
1
2
3
4
5
package provide httpd::version 3.5
proc Httpd_Version {} {
    global Httpd
    set Httpd(version)	"3.5.2 CVS"
}



|

1
2
3
4
5
package provide httpd::version 3.5
proc Httpd_Version {} {
    global Httpd
    set Httpd(version)	"3.5.3 FOS"
}
Changes to tclhttpd.spec.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
%define contentdir /usr/tclhttpd
Summary: Extensible Web+Application server written in Tcl.
Name: tclhttpd
Version: 3.5.1
Release: 0.fdr.5
Epoch: 0
License: BSD
Group: System Environment/Daemons
URL:            http://tclhttpd.sourceforge.net/
Source0:        http://prdownloads.sourceforge.net/tclhttpd/tclhttpd3.5.1.tar.gz
Patch0:		tclhttpd_fedora.1.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: tcl tcllib expect
BuildRequires:  tcl-devel 
Prereq: /sbin/chkconfig, /usr/sbin/useradd

%description



|
|




|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
%define contentdir /usr/tclhttpd
Summary: Extensible Web+Application server written in Tcl.
Name: tclhttpd
Version: 3.5.3
Release: 0.fdr.1
Epoch: 0
License: BSD
Group: System Environment/Daemons
URL:            http://tclhttpd.sourceforge.net/
Source0:        http://prdownloads.sourceforge.net/tclhttpd/tclhttpd3.5.3.tar.gz
Patch0:		tclhttpd_fedora.1.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: tcl tcllib expect
BuildRequires:  tcl-devel 
Prereq: /sbin/chkconfig, /usr/sbin/useradd

%description
86
87
88
89
90
91
92


93
94
95
96
97
98
99
100
101
102
103
104
%{_bindir}/*
%{_mandir}/man1/*
%{contentdir}
/var/run/tclhttpd
%{_sysconfdir}/init.d/tclhttpd

%changelog


* Sun Oct 24 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.4
- Change package group in the specfile.  Add tcllib to dependency list.
  Remove tclhttpd user during uninstall.
* Wed Oct 6 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.3
- Fix bug in the /etc/init.d/tclhttpd startup script that was causing
  it to kill a random tclsh process during shutdown, and misreporting
  the status of tclhttpd.
* Tue Sep 21 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.2
- remove hardcoded path in the %build section of the rpm spec file.
* Sun Sep 12 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.1
- Initial rpm with a Fedora-compatible spec file.  Included patch
  for better /etc/init.d script behaviour.







>
>












86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
%{_bindir}/*
%{_mandir}/man1/*
%{contentdir}
/var/run/tclhttpd
%{_sysconfdir}/init.d/tclhttpd

%changelog
* Thu Apr 2 2014 <yoda @ etoyoc.com> - 0:3.5.3-0.fdr.1
- Packaged a final stable release of the 3.5 family before releasing 4.0
* Sun Oct 24 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.4
- Change package group in the specfile.  Add tcllib to dependency list.
  Remove tclhttpd user during uninstall.
* Wed Oct 6 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.3
- Fix bug in the /etc/init.d/tclhttpd startup script that was causing
  it to kill a random tclsh process during shutdown, and misreporting
  the status of tclhttpd.
* Tue Sep 21 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.2
- remove hardcoded path in the %build section of the rpm spec file.
* Sun Sep 12 2004 <wart at kobold.org> - 0:3.5.1-0.fdr.1
- Initial rpm with a Fedora-compatible spec file.  Included patch
  for better /etc/init.d script behaviour.