[uClinux-dev] thttpd

Bernd Büttner b.buettner at mkc-gmbh.de
Fri Feb 23 07:18:23 EST 2007


Gavin Lambert schrieb:
> Quoth Bernd Büttner [b.buettner at mkc-gmbh.de]:
>> Gavin Lambert schrieb:
>>> Quoth Bernd Büttner [b.buettner at mkc-gmbh.de]:
>>>> did someone port the actual version (2.25b) of thttpd?
>>> Yep, I've got that one running on my system.  Not sure how sane the
>>> code is, but it seems to work ok, with a hefty amount of patching :)
>>>
>>> I could probably make up some patches (against either or both of
>>> uClinux-dist-20041215 and mainline thttpd-2.25b) if you're
>>> interested. Can't make patches against the latest uClinux-dist yet,
>>> but I doubt it's been changed much since then.
>>>
>> That's great.
>> If you send me both patches I'm very pleased.
> 
> This patch was small enough I figured I might as well send it to the
> group; the other patch was wastefully large so it's probably easier to
> just download the regular distribution and apply this patch to it.
> Maybe it could get incorporated into the next dist?
> 
> So, to apply this patch you should:
> 1. download and untar the standard thttpd-2.25b sources to a location of
> your choice
> 2. remove or rename your existing uClinux user/thttpd directory
> 3. make a new user/thttpd directory, and copy the thttpd-2.25b sources
> in
> 4. from user/thttpd, execute patch -p1 <thttpd-uClinux-2.25b.patch
> 5. change back to the uClinux root and build as normal
> 
> Things to bear in mind:
> 1. read the notes at the top of the patch before using it.
> 2. this was tested under uClinux-dist-20041215, which came before
> configure scripts were supported properly.  As a consequence, the patch
> contains a custom Makefile that works under uClinux (that version, at
> least) and you shouldn't call the configure script, as doing that would
> destroy this Makefile.  If you happen to be using a version of uClinux
> that does properly support configure scripts, however, then you may just
> be able to run it without too much drama, although you'll probably still
> need to customise it to add romfs targets.  I'm not really sure how that
> whole thing works because I haven't tried it yet.
> 3. due to limitations in uClinux (lack of fork(), mostly), when running
> CGI scripts no output at all will be sent to the client until the script
> has completed and exited.  So you should probably try to keep your
> execution times brief.
> 4. thttpd will always send Date and Last-Modified headers for non-CGI
> data.  If your hardware doesn't have an RTC then this could cause
> problems across reboots of your device.  Probably best to avoid it
> unless you're only serving CGI (where you can tell the browser not to
> cache it) or you have a working RTC.
> 
> 
> ------------------------------------------------------------------------

I imported it into the uClinux-dist-20060803 with a 2.6.16 kernel.
Works fine, I only had to add -DATOLL=1 to the CFLAGS.

Thank you very much.

Bernd



More information about the uClinux-dev mailing list