Web Server Patch

Till Straumann strauman at SLAC.Stanford.EDU
Thu Apr 10 23:50:00 UTC 2003


Joel Sherrill wrote:
> 
> Till Straumann wrote:
> 
>>Hi all.
>>
>>I'm still very much at unease with the fact that this goes
>>into the RTEMS source tree.
> 
> 
> In particular, I don't like the webserver being in the tree
> but since we don't have a model for constructing RTEMS add
> on packages that contain their own configurery, it is the
> best place to ensure that it is maintained and gets built 
> on a regular basis.
> 
> 
>>Don't misunderstand me - I think it's great if a webserver
>>is ported to RTEMS. I just don't think it should be part
>>of RTEMS proper but unbundled.
>>
>>A web server, telnetd, shell, pppd are IMHO _applications_
>>and I can't see a good reason why they should reside in
>>librtemsbsp.
>>
>>Please consider making each of these applications a separate
>>library, at least.
> 
> 
> In general, they change so infrequently that packaging them
> completely separately wouldn't be the worst idea.  Ralf is 
> probably the best one to answer but we should be able to use
> some CVS magic to reuse RTEMS configurery with separate pieces.
> 
> 
>>My suggestion would be to split librtemsbsp (c/src/) into
>>
>>libbsp   (contains 'lib', 'librtems++' only)
>>libchip
>>librdbg
>>libwebserver
>>libtelnetd
>>libpppd
>>libftpd
>>
>>and librtemscpu [the name is unfortunate anyhow]
>>
>>librtems  (score, sapi, rtems, posix, ada, itron, libcsupport only)
>>libnetworking
>>librpc
>>libblock
>>libdosfs
>>libftpfs
>>libtftpfs
>>libimfs
>>libmisc    (could also be broken up)
> 
> 
> Some of these may be able to be broken out but as a practical matter
> won't this make linking applications more difficult?

IM (biased) O, it should be pretty easy. If your application uses
RPC, you'll have to -lnetworking -lrpc. If you need the ftp filesystem,
add -lftpfs, for the webserver add -lwebserver.

Apart from the obvious dependencies on libnetworking, the only obscure
one I know of is telnetd->libmisc [shell]. Plus, libdosfs->libblock.

Many of these add-ons need extra intervention anyways, i.e. you have
to know how to configure/initialize and use that package. Hence it
shouldn't be too much to ask you should know what libraries to link with.

> 
> On the face of it, I don't really care one way or the other except 
> for balancing complexity and convenience.  But it is a big change
> from a user perspective and could have a lot of impact on build
> infrastructure.
> Is it worth it?

How much more stuff will you bundle with RTEMS in the future?

-- Till.

> 
> 
>>This would be WYSIWYG.
>>
>>-- Till
>>
>>PS: Some stuff I created: a shell (cexp), a modified tftpd a filesystem (NFS)
>>     and more can _perfectly_ live outside of the RTEMS tree. Only my BSP really
>>     needs to go there.
> 
> 
> And the goal of cpukit is to let all BSPs live outside the tree of RTEMS
> proper.
> 
> 
>>Joel Sherrill wrote:
>>
>>>Mike Siers wrote:
>>>
>>>
>>>>Hi All,
>>>>I grabbed the latest source tar ball from GoAhead and got it
>>>>working under RTEMS.  I am assuming that it is version 2.1.4
>>>>since this was the archive name (source code still says 2.1.3).
>>>>The following URL is the release notes from GoAhead.
>>>>
>>>>http://data.goahead.com/Software/Webserver/2.1.4/release.htm
>>>>
>>>>I have only done a minimal amount of testing (i.e. the network
>>>>demo program works fine).  Please try this out and let me know
>>>>if it works.  The patch needs to be applied on the
>>>>c/src/libnetworking/rtems_webserver directory.
>>>
>>>
>>>I have merged this to the trunk (not 4.6 branch) and will commit
>>>it once I have compiled it.
>>>
>>>
>>>
>>>>I would also propose a small API change.  I would like to
>>>>have the function rtems_initialize_webserver() take one
>>>>string pointer as a parameter.  This would be the default
>>>>directory for the web server files.  If the parameter is
>>>>NULL, then the server would use the root directory as the
>>>>default.  This change is not in the attached patch.
>>>
>>>
>>>I do not have a problem with this patch if you submit it.  Any
>>>documentation
>>>in the networking guide should be updated to reflect this.
>>>
>>>
>>>
>>>>Mike Siers
>>>>
>>>> ------------------------------------------------------------------------
>>>>                            Name: httpd.patch.bz2
>>>>  httpd.patch.bz2           Type: unspecified type (application/octet-stream)
>>>>                        Encoding: base64
>>>>                 Download Status: Not downloaded with message
>>>
>>>
> 






More information about the users mailing list