Re: Session and DIO packages patches
Massimo Manghi wrote: Hi everybody I'm sending on the list a file including patches for dio and session and some new files that add support for Mysql and Oracle. These patches are 99% work of Arnulf Wiedemann. I tested the code on Mysql (Arnulf is intensively using the module for Oracle) and made some minor changes. Mysql doesn't remove the expired sessions rows from rivet_session_cache: mysql accepts the syntax 'ON DELETE CASCADE' for portability when creating the database, but it takes no action upon deletion of an expired session from 'rivet_session'. Actual support for this hasn't been added as of version 5.0. In order to suggest a workaround I added the file 'session-purge-mysql.sql' with a sql statement that could be run from cron job. Yet the problem of a wider portabilty of the do_garbage_collect method is open. Ok, I committed this. Thanks to both of you for your work on it! -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Session and DIO Package used with MySql and Oracle
Arnulf Wiedemann wrote: Am Samstag 14 Januar 2006 16:55 schrieb David N. Welton: Arnulf Wiedemann wrote: Hello, I have now running the Session package together with DIO with a dio_Oracle module since 2 weeks in a production environment. The testing environment is running with dio_Mysql. There seem to be no problems. In the production environment there are about 50 different users. I had to make some smaller modifications to session_class.tcl and dio.tcl to make them run with Mysql and Oracle. If someone is interested, please let me know. I don't use either one (truth be told, I don't use DIO either), but if Karl or Damon don't respond, I'd be happy to check in your patch to subversion. Hi David, thanks for the offer to update. I did not hear anything form Karl or Damon. Here are the modified files and one new file: dio_Oracle.tcl Hi, sorry I haven't had the time to chase after this, but could you please re-send those files either as text attachments or diff -u patches? BTW...Karl, Damon? 'DIO' is really your turf, if you wanted to take a few minutes to look at what Arnulf has done. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: checked in 2.0 code
David N. Welton wrote: Ok, I checked in Eckhard Lehmann's code... I haven't even tried to compile it yet, but at least we can work from something in version control. I probably made a few mistakes, but we'll correct them as we find them. Hi - I'm wondering if you've done anything with the 2.0 work since I checked in your code. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: globals
Persistent in the case of globals in Rivet means that, in one particular child process, a variable will not be deleted between requests. Since it's tied to a system process and not a user, it's not useful for user information. On the other hand, it is useful for things like database handles - you can define a proc to check if it exists, create it if it doesn't, and return it in either case. ok, I'm going to expose my vast ignorance in web programming: what do you mean for 'request' in this context? Apache child processes have no knowledge of concepts as 'session', so when the link (and the 'request' context) between client and server's child process is dropped? A request is one client to server round trip. For example: GET /index.rvt HTTP/1.0 That asks for just that one page, no pictures, nothing else - all that is fetched separately. This looks like an ok description, and has some promising links. http://en.wikipedia.org/wiki/HTTP In any case, that's correct, there is no state unless you create it artificially, by using the session package for instance. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Wrap it up and call it 1.0?
Hi, I haven't had much time for Rivet as of late, and it doesn't appear that the other core people have, either. Perhaps it would be a good idea to take what we have on the 1.0 branch, and release it as 1.0. If no one objects, I will try and do that this week. I'm a little bit concerned about the 2.0 development, although I don't have time for it either, so I can't complain, but... we got a big patch and then nothing. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: installing rivet on solaris (help requested)
MLVJ wrote: Hi guys, I have done a load of work in tcl (8.4), and I've got oratcl working on my sparc solaris 5.8 box, which runs apache 1.3. I'd like to get rivet on it as well, so that I may serve up some web pages dynamically, using tcl. I downloaded the 0.5.0 latest stable source (from http://mirrors.dedipower.com/ftp.apache.org/tcl/rivet/), and that didn't build according to the install instructions in INSTALL, as the required tcl files are not in src. I downloaded the very very latest source from cvs: http://cvs.apache.org/snapshots/tcl-rivet/ and that didn't build because it wants apr includes, and the --apache-version=1 flag doesn't work (there's no code for it other than in the help). I hacked the configure a little bit to skip past the apr thing without doing anything, and I hardcoded the apacheversion to be 1, but the make failed: checking for apr includes directory... checking for apache version... building for apache 1.x configure: creating ./config.status cd . /bin/bash ./config.status config.h config.status: creating config.h config.status: config.h is unchanged make all-recursive Making all in src make: Fatal error: Don't know how to make target `all' h I just tried doing the rivet 0.5.0 again, in case configure / make / make install will work... let's see... ok it was a lot nicer than the latest cvs, but I got a different issue: ./configure --with-apxs=/usr/apache/bin/apxs --with-apache=/usr/apache (no hacking required) make Making all in src if /bin/bash ../libtool --mode=compile gcc -pipe -DPACKAGE_NAME=\Rivet\ -DPACKAGE_TARNAME=\rivet\ -DPACKAGE_VERSION=\0.5.0\ -DPACKAGE_STRING=\Rivet\ 0.5.0\ -DPACKAGE_BUGREPORT=\\ -DPACKAGE=\rivet\ -DVERSION=\0.5.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_DLFCN_H=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_ISOC99_SOURCE= -D_LARGEFILE64_SOURCE= -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_DIRENT64=1 -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DNAMEOFEXECUTABLE=\/usr/local/lib/../bin/tclsh8.4\ -I. -I. -I/usr/local/include -I -DSTART_TAG='?' -DEND_TAG='?' -O -Wall -Wno-implicit-int -fPIC -MT mod_rivet_la-apache_multipart_buffer.lo -MD -MP -MF .deps/mod_rivet_la-apache_multipart_buffer.Tpo -c -o mod_rivet_la-apache_multipart_buffer.lo `test -f 'apache_multipart_buffer.c' || echo './'`apache_multipart_buffer.c; \ then mv -f .deps/mod_rivet_la-apache_multipart_buffer.Tpo .deps/mod_rivet_la-apache_multipart_buffer.Plo; else rm -f .deps/mod_rivet_la-apache_multipart_buffer.Tpo; exit 1; fi mkdir .libs gcc -pipe -DPACKAGE_NAME=\Rivet\ -DPACKAGE_TARNAME=\rivet\ -DPACKAGE_VERSION=\0.5.0\ -DPACKAGE_STRING=\Rivet 0.5.0\ -DPACKAGE_BUGREPORT=\\ -DPACKAGE=\rivet\ -DVERSION=\0.5.0\ -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_UNISTD_H=1 -DWORDS_BIGENDIAN=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_DLFCN_H=1 -D_REENTRANT=1 -D_POSIX_PTHREAD_SEMANTICS=1 -D_ISOC99_SOURCE= -D_LARGEFILE64_SOURCE= -DTCL_WIDE_INT_TYPE=long long -DHAVE_STRUCT_DIRENT64=1 -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DNAMEOFEXECUTABLE=\/usr/local/lib/../bin/tclsh8.4\ -I. -I. -I/usr/local/include -I -DSTART_TAG=\?\ -DEND_TAG=\?\ -O -Wall -Wno-implicit-int -fPIC -MT mod_rivet_la-apache_multipart_buffer.lo -MD -MP -MF .deps/mod_rivet_la-apache_multipart_buffer.Tpo -c apache_multipart_buffer.c -fPIC -DPIC -o .libs/mod_rivet_la-apache_multipart_buffer.o In file included from apache_multipart_buffer.h:4, from apache_multipart_buffer.c:21: apache_request.h:5:19: httpd.h: No such file or directory apache_request.h:6:25: http_config.h: No such file or directory apache_request.h:7:23: http_core.h: No such file or directory This looks like it's not finding the Apache header files... Where are they located? Does apxs -q INCLUDEDIR agree with that? -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: problem with mod_rivet.so
Jaime Toledo Peña wrote: I have installed apache software 1.3 and apache rivet software. but have a errors ,when I want run apache server say me : the mod_rivet.so not found ,but if I have it in the folder modules.. Which folder? What OS? Can you tell us a little bit more about how you installed it? Saludos, -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ApacheCon Europe
Call for papers... so have at it! http://www.eu.apachecon.com/ -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Rivet and Authorization
Zeinert, Holger wrote: Hi, has anybody experience how to do authorization with Rivet? Different to the standard Apache modules I would like to just trigger the browser to ask for user and password, then use both strings to do the authentification on my own (calling a different program) and return success or failure. I guess, first a 401 header has to be sent, until the browser sent user/password, then send 401 again when user/password is wrong. if user/password is OK, then just display the page. You could do that... but basically, most serious apps just create their own authentication system. There is actually an authorization step in the struct the defines what an apache module can do, so there is some hacking to be done there if you desire, as well... -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
checked in 2.0 code
Ok, I checked in Eckhard Lehmann's code... I haven't even tried to compile it yet, but at least we can work from something in version control. I probably made a few mistakes, but we'll correct them as we find them. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Rivet Apache 2
Eckhard Lehmann wrote: Ah... you are probably going to need to integrate apreq 2 ( http://httpd.apache.org/apreq/ ) into the apache-2 subdirectory. ... The relevant files, at least in the 1.3 version of Rivet, are these: apache_multipart_buffer.c apache_multipart_buffer.h apache_request.c apache_request.h I just copied them in, instead of requiring people to get and install apreq. What exactly is needed from apreq? Apreq seems to be a library with complex functionality, from which only a small subset is needed... They are used to fetch variables, and, most importantly, handle file uploads (which is sort of tricky). It's a convenience thing, mainly. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Session and DIO Package used with MySql and Oracle
Arnulf Wiedemann wrote: Hello, I have now running the Session package together with DIO with a dio_Oracle module since 2 weeks in a production environment. The testing environment is running with dio_Mysql. There seem to be no problems. In the production environment there are about 50 different users. I had to make some smaller modifications to session_class.tcl and dio.tcl to make them run with Mysql and Oracle. If someone is interested, please let me know. I don't use either one (truth be told, I don't use DIO either), but if Karl or Damon don't respond, I'd be happy to check in your patch to subversion. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
1_0 branch
Hi, In order to have a checkpoint where everything is known to work pretty well, I went ahead and made a branch in subversion. You can get the 1.0 code like so: svn co https://svn.apache.org/repos/asf/tcl/rivet/branches/1_0/ rivet Or sans https if you do anon checkout. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Rivet Apache 2
Eckhard Lehmann wrote: The only thing to do for configuration is, to extend the text/html mime type (in $APACHE/conf/mime.types) by the .rvt extension: ... text/htmlhtml htm rvt ... I don't think that's quite right... we don't want the Rivet handler to parse html files...does it try to? No, it does not. I have created a translate function, registered with ap_hook_translate_name(). It checks for the file ending - which is done by parsing the request_rec::args field. This seems to be the only place where the file (relative to the server root) is accessible as Hrm... this is quite different from how 1.3 does things. I'm not convinced it's right, but... let's use it for now until we figure out if there is a better way or not. /file.rvt?param1=value1param2=value2 ... It sets the request_rec::filename member to the complete file. I let the handlers (Rivet_SendContent and Rivet_TranslateUri) return DECLINED, if the extension is not .rvt: ... if (!Rivet_IsRivetFile(r-filename)) return DECLINED; ... I have a problem here: the request_rec, which is given as argument to the handlers, is not complete - unfortunately. All the file and uri related members are not set - even worse: they are not even set to NULL but contain garbage :-/. Ah... you are probably going to need to integrate apreq 2 ( http://httpd.apache.org/apreq/ ) into the apache-2 subdirectory. This is funny and irritating to me... I think that it must be possible somehow, to get at a more valuable request_rec during the hook processing, but I did not find out how... The Apache API is very poorly documented :-(. It would be nice if someone who has more experience with the Apache2 API could try to fix this or point me at a way to get it right... Maybe the module itself is responsible for setting the file and uri members to the appropriate request_rec? The relevant files, at least in the 1.3 version of Rivet, are these: apache_multipart_buffer.c apache_multipart_buffer.h apache_request.c apache_request.h I just copied them in, instead of requiring people to get and install apreq. I know the API isn't documented that well... there are a couple of other lists that you might want to be on 1) The apreq list. It's low traffic, the guys there are very helpful, and they know the C API well. 2) dev@httpd.apache.org - http://httpd.apache.org/lists.html the main dev list. It's pretty high traffic, but if someone knows the API, it's these guys. That web page also mentions a module writers list, but I don't know if it's active or not. By the way, did you reorganize the code to separate out the 'independant' files and make sure things still compile? Once you do that, I think there are no longer any blocks to putting this in subversion! I guess it's also high time that we figure out how to use subversion branches, so that the current code can become 1_0... -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Rivet Apache 2
Eckhard Lehmann wrote: Well - with Subversion, we can rename files and maintain version history, so let's just pick one and go with it. Barring something better, mod_rivet22.c is fine - either that or put it in an apache2.2/ directory. The last is a good choice, I think. I have put all the files from src/ into a new subdirectory src/apache-2, furthermore I moved the Apache1.3 source files from src/ to a new subdirectory src/apache-1. I added a new toplevel Makefile.am in src/ and one Makefile.am in each of the both new subdirectories. configure.ac has some new macros now: Great, this looks like a sensible way of organizing things... but I think we could still improve it just a bit - some of the code, like TclWeb.c and rivetCore.c is supposed to be independant of the server, so it should go in the main src/ directory if possible... Actually, the idea was that TclWebapache.c would be the template for TclWebapache2.c, etc... But generally it looks good! - APACHE -- adds support for --with-apache switch to define the apache base directory - APACHE_INCLUDE -- adds support for --with-apache-include, to define the apache include directories. On some systems the include's may be not in the standard locations.. e.g. on debian they are in /usr/include/apache${version}. - APR_INCLUDE -- same as above for --with-apr-include. Both macros check the base directory that was set by APACHE. - APACHE_VERSION -- support for the switch --apache-version, either 1 or 2. Default setting is currently 2. sets the source directory to apache-1 or apache-2, so that rivet is compiled for the appropriate version. Cool. However, I did not check whether this all works with Apache1.x... I will do that this week. The auto* stuff is a pain in the ass... Oh yeah :-/! I thought about a build system for Tcl extensions in Tcl all the time. It wouldn't be that complicated - but it would be reinventing the wheel... Rivet originally had such a system (it's still floating around in subversion, I think), but... people seem to look at it and think 'weird!'. , so worry first about the C code, and the other stuff will follow. Well, I would like to have these things finished when I send the code to you and others, so that you/they can start to play with it immediately, without worrying about these nasty details. Yes, having it build would be nice:-) Do, however, separate the .c code into two different files, so that you're not #ifdef'ing everything! No #ifdef's, I see, we agree on that :-). That would be IMO the poorest solution. In short, if you want to make sure someone else has a copy of the code, by all means, send it to me, but please, please discuss your work publically on the mailing list! I have subscribed to the rivet-dev right now, and will summarize my work there, as soon as the confirmation emails are done. Meanwhile, I send a tar.gz file to you. Great:-) Could you please check it into the subversion repository, if appropriate? I can do anonymous checkouts to see the changes from other people... Let me get a chance to test it out some, and then I'll do that. diff -n can handle new files. It's one of those programs that has an option for *everything*, although no one knows them all:-) I will try it out :-). The only thing to do for configuration is, to extend the text/html mime type (in $APACHE/conf/mime.types) by the .rvt extension: ... text/html html htm rvt ... I don't think that's quite right... we don't want the Rivet handler to parse html files...does it try to? No other configuration is necessary, the application/x-httpd-rivet handler is also not necessary any more, for Apache2. I have not found a way to handle this, instead I got mystic crashes, when I set the request handler (request_rec::handler) to application/x-httpd-rivet. I don't know whether this is the best solution, but it can be changed whenever we want. Well, let's get it in subversion, and then go from there with improving/extending it. Thanks again:-) -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rivet and FC4
Chuck Lima wrote: Hello, On FC4, I pulled rivet from cvs and proceeded to run aclocal/automake, etc. Did you run the shell script that's included, genconf.sh ? aclocal threw these errors: /usr/share/aclocal/g-wrap.m4:7: warning: underquoted definition of AC_GWRAP_CHECK_GUILE run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal /usr/share/aclocal/g-wrap.m4:23: warning: underquoted definition of AM_PATH_GWRAP /usr/share/aclocal/aqhbci.m4:5: warning: underquoted definition of AC_AQHBCI /usr/share/aclocal/ao.m4:9: warning: underquoted definition of XIPH_PATH_AO automake threw this: automake: `configure.ac' or `configure.in' is required Will rivet not compile on FC4, or is there a trick I can use? It should, but auto* are tricky beasts. Let's see what we can do to make sure it does work - start off by using genconf.sh and see if that changes anything. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rivet upload causes server crash
[EMAIL PROTECTED] wrote: Here's the original post to comp.lang.tcl: http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/efd78335da7dda95/a576aeb60ec3c8c9?lnk=raot The short explanation is, running on winXP, a file upload in rivet causes apache to crash, but does succeed in creating the file, but zero-length, in the target upload directory. I pulled the 7.0 and 5.0 installs from http://www.apache.org/dist/tcl/rivet/binary/ and have tried both; the crash occurs no matter what. On an additional interesting note, I installed the threaded active tcl 8.4.12 release, and that broke rivet completely. Reverted back to tcl 8.4.11.1 and rivet was happy once again, if still choking on uploads. Jeff - note the above, since you asked before... I've configured this thing six ways to sunday-- anyone have any suggestions? I can have a look at it if you post the smallest configuration/code snippet that causes the crash. Also, which Apache are you using? -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: sessions with rivet
[ Hi - the rivet-dev list is really the best one to use... ] Michel Salvagniac wrote: Hi, is it possible to handle sessions with rivet? Yes, via the sessions package. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: apache rivet: configure.tcl and make.tcl missing from distribution
I'm replying to your message to the mailing list, where Karl L. might have some ideas as he's the resident MacOS X guy. I don't have MacOS X hardware myself. I have access to one system that runs this: 2005-01-25: [WS] Upgraded to Mac OS 10.3.7 Server but I wasn't able to even build Apache on it, so I wasn't able to test the Rivet build system. jake wrote: Glenn - your response above, referring me to the README.MacOSX*, made the make.,tcl script finish, but it doesn't actually produce a mod_rivet.so, just a mod_rivet.dylib. I used the command tclsh8.4 make.tcl shared What am I doing wrong? - Jake *incidentally, the latest README.MacOSX from cvs says that it builds turnkey under Mac OS X. Maybe under Tiger? I still get thevriables not found errors and have to make the above modification to configs.tcl. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
DIO buglet
package require DIO set dbh [DIO::handle Postgresql dbh -db shopping] $dbh array select id, code from codes res puts $res(code) This barfs because 'res' is a magic name. I don't mind picking another name, but it's a minor annoyance. Ciao, -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 'DIO' buglet
Damon Courtney wrote: Do we really need all this? I know David has pushed before to adopt nstcl instead of our own little DIO, but I really like the ideas behind DIO. I just want to see them evolve now that we've (by we I mean Karl and I) had time to use them regularly and see what the package really needs. You should document and push those ideas some more to the world at large, because... frankly even I don't have a firm grasp of exactly what differentiates it from nstcl. I actually have my own database routines that I've kind of dragged around like a wad of gum stuck to a shoe, but decided to try DIO out of sheer lazyness for a simple project:-) -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: apache rivet: configure.tcl and make.tcl missing from distribution
Glenn Jackman wrote: I did a CVS checkout, and followed the README.MacOSX instructions. Configured with: tclsh8.4 ./configure.tcl -with-apxs /usr/sbin/apxs -verbose \ -with-tclconfig /Library/Frameworks/Tcl.Framework/tclConfig.sh \ -prefix /usr/lib Which Apache and Tcl are you running with? make and make install Add to httpd.conf: LoadModule rivet_module libexec/httpd/mod_rivet.dylib AddType application/x-httpd-rivet .rvt AddType application/x-rivet-tcl .tcl Then: $ sudo /usr/sbin/apachectl start Syntax error on line 243 of /etc/httpd/httpd.conf: Cannot load /usr/libexec/httpd/mod_rivet.dylib into server: (reason unknown) /usr/sbin/apachectl start: httpd could not be started You could check Apache's error.log to see if there is anything else there. You could also try httpd -X, which starts Apache as a single process. If you really want to get into things, you can run httpd -X in a system call tracer or debugger to see if that shows any extra information. Hmmm. What does Tcl tell me (is this even relevant?): $ tclsh % load /usr/libexec/httpd/mod_rivet.dylib dyld: tclsh NSLookupSymbolInImage() dynamic library: /usr/libexec/httpd/mod_rivet.dylib does not define symbol: _Mod_rivet_Init dyld: tclsh NSLookupSymbolInImage() dynamic library: /usr/libexec/httpd/mod_rivet.dylib does not define symbol: _Mod_rivet_SafeInit couldn't find procedure Mod_rivet_Init No, you wouldn't be able to do that in any case. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Compiling on Fedora 4
Ben L. wrote: Hello all, I remember someone having problems compiling on Fedora 4. Has anyone came up with a fix for it? This is the error that I'm getting rivetCore.c: In function 'Rivet_Upload': rivetCore.c:643: error: invalid lvalue in assignment make: *** [mod_rivet_la-rivetCore.lo] Error 1 Which version is this? If you aren't using the code out of svn, try this beta: http://people.apache.org/~davidw/rivet-0.7.0.tar.gz and let us know if it still exhibits the problem. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: help building rivet on panther
Jake Miles wrote: I'm not sure if this is how to post to the mailing list, but this is my tclConfig.sh. Thank you for any help. - Jake I'm going to try compiling it on the ASF MacOS X machine, and see if there are any problems that I can see locally. Otherwise, perhaps Karl H has some insight into what might be malfunctioning. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: help building rivet on panther
David N. Welton wrote: Jake Miles wrote: I'm not sure if this is how to post to the mailing list, but this is my tclConfig.sh. Thank you for any help. - Jake I'm going to try compiling it on the ASF MacOS X machine, and see if there are any problems that I can see locally. Otherwise, perhaps Karl H has some insight into what might be malfunctioning. Hrmph! I am not able to compile Apache on MacOS X: /usr/bin/ld: -undefined: unknown argument: -lbundle1.o This is 1.3.34. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Compiling on Fedora 4
Ben L. wrote: Using 0.7.0 did the trick. I was using the latest 0.5.0 but I guess that's not really the latest eh. Well, the 0.7.0 is a beta that we hope to release in the next week or two. I did get an error at the end: test -z /usr/lib /usr/share/rivet0.7.0 || mkdir -p -- /usr/lib /usr/share/rivet0.7.0 /bin/sh ../libtool --mode=install /usr/bin/install -c 'librivet.la' '/usr/lib /usr/share/rivet0.7.0/librivet.la' /usr/bin/install -c .libs/librivet.so /usr/lib /usr/share/rivet0.7.0/librivet.so /usr/bin/install: installing multiple files, but last argument, `/usr/share/rivet0.7.0/librivet.so' is not a directory Try `/usr/bin/install --help' for more information. /bin/sh ../libtool --mode=install /usr/bin/install -c 'librivetparser.la' '/usr/lib /usr/share/rivet0.7.0/librivetparser.la' /usr/bin/install -c .libs/librivetparser.so /usr/lib /usr/share/rivet0.7.0/librivetparser.so /usr/bin/install: installing multiple files, but last argument, `/usr/share/rivet0.7.0/librivetparser.so' is not a directory Try `/usr/bin/install --help' for more information. make[2]: *** [install-lib_libexecLTLIBRARIES] Error 1 make[2]: Leaving directory `/usr/local/src/rivet-0.7.0/src' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/usr/local/src/rivet-0.7.0/src' make: *** [install-recursive] Error 1 Even though I got those errors the module loaded and it seems to be working. Yeah, you can get by without those, but I wonder why it's failing:-( I'm going to see if I can get the libtool guys to answer this, because debugging autotools problems is an excersize in pain. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 0.7.0 beta
Cyrille VIVION wrote: as explained in the INSTALL file present in the archive you provided: ./configure --with-apxs=/usr/sbin/apxs tcl is installed with cygwin with tclsh present in /bin. As it is in the PATH, i didn't set --with-tcl and --with-tclsh flags. Hrm why don't you specify the exact Tcl and tclsh with those flags that just so that we are *sure* (fewer variables means it's easier to locate the problem exactly). BTW, are you using the cygwin Tcl? What version is it... I recall that it was pretty old, so you might install Tcl from sources, or use the ActiveTcl release (although I don't know if *that* is compatible with cygwin:-( ) I didn't build Apache myself, is this necessary ? Do I need Apache sources somewhere ? You definitely need the include files! See if you have httpd.h - if you don't, that will definitely be a problem. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 0.7.0 beta
Hicks, Robert wrote: I am not sure about cygwin but anything done with MingW should work fine. If you windows guys can come up with a step-by-step how to make Rivet at least compile on Windows, I'll either add it to the docs, or the wiki (http://wiki.apache.org/tcl/FrontPage), and get the environment set up on my own windows partition, so I can see about making things work better WRT any thread problems. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Compiling on Fedora 4
Ben L. wrote: Using 0.7.0 did the trick. I was using the latest 0.5.0 but I guess that's not really the latest eh. I did get an error at the end: Can you send your tclConfig.sh to the mailing list so that I can have a look at a few variables in it? Someone on the libtool list had a suggestion as to what might be a cause of the problem. (Guam sure sounds like it's nice at this time of year compared to rainy, cold northern Italy!) -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 0.7.0 beta
: error: syntax error before hPipeErrorWrite buff.h:178: warning: data definition has no type or storage class In file included from apache_request.h:5, from apache_multipart_buffer.h:4, from apache_multipart_buffer.c:21: httpd.h:867: error: field `local_addr' has incomplete type httpd.h:868: error: field `remote_addr' has incomplete type httpd.h:910: error: field `host_addr' has incomplete type httpd.h:964: error: syntax error before uid_t httpd.h:964: warning: no semicolon at end of struct or union httpd.h:965: warning: data definition has no type or storage class httpd.h:974: error: syntax error before '}' token httpd.h:979: error: field `local_addr' has incomplete type httpd.h:1112: error: syntax error before ap_uname2id httpd.h:1112: warning: data definition has no type or storage class httpd.h:1113: error: syntax error before ap_gname2id httpd.h:1113: warning: data definition has no type or storage class make[2]: *** [mod_rivet_la-apache_multipart_buffer.lo] Error 1 make[2]: Leaving directory `/c/Documents and Settings/cvivion/Bureau/rivet-0.7.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/c/Documents and Settings/cvivion/Bureau/rivet-0.7.0' make: *** [all] Error 2 Ugh:-/ I think maybe you have a problem with apxs, but I'm not sure. I don't know how to progress in this compilation. If Rivet is distributed as a Windows binary, there must be someone able to compile it, who is this person ? Does he/she read this list ? Pat Thoyts was good enough to do the original windows work, but he is apparently not able to continue doing so at this point in time, so it's up to us. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: help- having problems with apache and rivet50 under windows
Cyrille VIVION wrote: In the httpd.conf file of Apache there is the following parameter: ThreadsPerChild 50. With this value when two users connect on my site simultaneously, I face Apache crashes (if running Rivet with ActiveTCL or a non thread-enabled TCL version). A workaround is to set this parameter to 1. But that means that the server no longer manages more than one request at a time, in a performance point of view that's unacceptable. Ah, ok , I see. I found another project using TCL that give me the idea of compiling TCL sources with threads enabled. According to the author, ActiveTCL isn't thread enabled so I thought that it could be the reason of my Apache crashes. What is your opinion on this point ? Here is the page, I've just talked about: http://hammerora.sourceforge.net/installation.htm (§ Installation from source) Yes, having a threads mismatch could cause problems. If you are able to compile sources, I would *highly* recommend and appreciate it if you tried with the Rivet source code in subversion: svn checkout http://svn.apache.org/repos/asf/tcl/rivet/trunk rivet should get you the very latest. I'm working on preparing a new release, so perhaps (fingers crossed) the problems aren't there in the latest code. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: help- having problems with apache and rivet50 under windows
Gavin McLeod wrote: I have Installed Apache 1.3.33 using the windows msi installer I have ActiveTCL 8.4.11, and have installed Rivet 0.50 using the windows binary. It has modified my httpd.conf like so; LoadModule rivet_module modules/mod_rivet.so IfModule mod_rivet.c RivetServerConf CacheSize 50 AddType application/x-httpd-rivet .rvt AddType application/x-rivet-tcl .tcl Alias /rivet/ C:\opt\Tcl\lib/rivet0.5.0/tests/ This line above seems like something that could go... Directory C:\opt\Tcl\lib/rivet0.5.0/tests/ Options Indexes FollowSymlinks MultiViews AllowOverride None Order allow,deny Allow from all /Directory /IfModule when I start apache I get Apache/1.3.33 (Win32) Rivet running... and using the example hello.rvt ? puts Hello World ? but I get the following error in the browser: Rivet ErrorScript failed! can not find channel named stdout while executing puts PRE (procedure ::Rivet::handle_error line 5) invoked from within ::Rivet::handle_error That's odd... something's not being set up correctly by Rivet, I guess:-/ Is there anything else in the error.log file? Pat, any ideas as to what might be happening? A stdout should definitely be defined! -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Interim release
Hi all, Release plans... I'd like to do this 1.0 release, but I'm going to vote -1 unless things build out of the box on common platforms, and that doesn't seem to be happening. So - I'd like to do another point release 0.6 or 0.7 - any objections? -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Fwd: Rivet/Tk
Roy Keene wrote: I once began a Tcl/Tk under Tcl/CGI tool, but never finished it. It can be seen here: http://www.rkeene.org/viewer/tmp/tkweb.tcl.htm I wrote it years ago so I don't remember anything about it, but it does work for some basic things. Good luck with that. Roy Keene Planning Systems Inc On Thu, 13 Oct 2005, Michael Link wrote: Begin forwarded message: From: Pedro Guillem [EMAIL PROTECTED] Date: October 13, 2005 5:05:04 AM CDT To: [EMAIL PROTECTED] Subject: Rivet/Tk Hello Michael. Before i say anything, receive my most sincere congratulations for the developement of Rivet. My name is Pedro Guillem, I work as a Junior Programmer for Bayes Forecast, a Business Intelligence consutant in Madrid, Spain. We work to imporoove our open source project named TOL (Time Oriented Language) www.tol-project.org which's core was coded in C++. I kindly encourage you to visit the web for more details and specs. Feel free to get our daily compile from our CVS. The visuals of our software has a strong Tcl and Tk basis, for this reason, we dediced to implement Rivet to port a web user interface. No need to rebuild the whole Tcl cake, you know what i mean. We impressed ourselves when we saw Rivet succesfully loading our custom made packages. amazing work. Out own tcl widgets (toltcl packages) work like a charm with rivet, for obvious reasons, there is no way of opening a tk console to display visuals from a server side generated page... it wouldnt make any sense. still.. we have a lot of work already developed to display all the graphical interface using tk. We figured we couldnt achieve half the realiability by spitting tcl puts with html code in it. And less possible, display Stochastical Graphs ... My question is: Does rivet implements or will implement some kind of tk/html parsing extension?. kind of like php/tk ?? This way all the tk coded visuals could swim into html, at least the basic ones. Is there any method of parsing tk visuals over Rivet?. I know this is kind of unethical, but nobody seems to speak about this and i taught in asking the source. I appreciate your time, effort, and any help you could provide to your open source compliant spanish companions!! :-) Best Regards Pedro Manuel Guillem SS Bayes Forecast Madrid - Spain PS: We would are grateful to contribute and promote the use of rivet technology. [Responding to Roy] I think actually the one interested in it was Pedro Guillem - if I understand correctly, Michael Link forwarded his mail on to us at the rivet-dev list. [Responding to Pedro] Anyway, Pedro, Roy's Tk/CGI thing is pretty snazzy, and worth a look, but I don't think it's complete...and it's by far the best of that kind of tool I've seen - I think you'd have to continue his work if you want to output to the web. I'm a bit confused as to just what you want, though - you mention PHP/Tk - that's just a TK binding for PHP so that you can write GUI's with PHP. Something else that's worth checking out that might be what you need is this, the Tcl browser plugin: http://www.tcl.tk/software/plugin/ I'm glad you like Rivet and are happy with it. Anything you'd like to do to help out is welcome. One possibility would be translating the manual into Castellano, although that's a big effort and is likely to mean lots of maintainance work too. The first thing to do in any case is to get involved by signing up for the rivet-dev mailing list! Bienvenido, in any case! -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rivet and sqlite again
Tom Sas wrote: Hi! I develop a website for a friend (in my spear time) using tcl and sqlite. I'm a newbee to these technologies and this is the reason I need a basic example (tcl code) of connection to an existing sqlite database (don't care if it uses DIO or not). http://www.sqlite.org/tclsqlite.html Has all you need - it's pretty simple to start using, enjoy! -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rivet website architectures
Anton Osennikov wrote: [ I CC'ed the devel list so that everyone can see what you've done:-) ] Hello David! I finished the page I said about: http://wiki.apache.org/tcl/RivetWishWay Hope it will be useful. Yes, it looks good to me. It's not my preferred way of doing apps with Rivet, but I think it's a good technique in any case and is worth having as a reference. If I get some time, I'll put up a few ideas of my own. If others have a system they use, this would be a great place to put it. For some reason link to apache tcl wiki is gone from http://wiki.apache.org/general/ now. The page is immutable. Will you ask them to return the link back? I was able to edit it and put it back, thanks for pointing that out! Thankyou, -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rivet-dio and sqlite
Robert S. Sciuk wrote: I just snapped SQLite into tcl, and used it directly in Rivet without the DIO interface ... never spent the time to learn DIO, but I never looked back. hope this helps ... I once developed some Rivet code that used SQLite, that I subsequently moved to Postgres, both using the 'native' interfaces. It really wasn't much of a problem. -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: child exit error
David N. Welton wrote: It looks like there is something stuck in the channel when the child exits and the flush causes problems... I did some hacking to get around that, if that were a problem, but I'm also seeing something else on one of my servers: #0 0x40247a27 in select () from /lib/tls/libc.so.6 #1 0x40f87ec9 in Tcl_WaitForEvent () from /usr/lib/libtcl8.4.so.0 #2 0x40044b63 in start_thread () from /lib/tls/libpthread.so.0 #3 0x4024e18a in clone () from /lib/tls/libc.so.6 Wierd, and not good:-/ -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
macosx build
Karl Lehenbauer wrote: svn co https://svn.apache.org/repos/asf/tcl/rivet/trunk tcl-rivet OK... I've got it checked out. Got a couple things to go in, like a DIO insert function. Subversion seems pretty cool... just getting started with it though. I saw you reverted the MacOS X build instructions to use aardvark... You don't think it is possible to make it work 'correctly' ? -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: rivet website architectures
David N. Welton wrote: [How to architect Rivet applications] Anton Osennikov wrote: I use the following approach. The wiki is ready and waiting whenever you want to put your ideas there:-) -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Aardvark...
Shishir Ramam wrote: David, Thanks for the reply. On 9/18/05, David N. Welton [EMAIL PROTECTED] wrote: Shishir Ramam wrote: Should I be looking someplace else? Look around for an older version that still has it. That, or you could do like so... look in the Changelog and see when it was removed, and do a CVS checkout a few days prior to that. That is what I eventually did. Whatever happened to it? Has it moved someplace else, no longer supported or something else? Didn't seem to find a mention on the mailing lists or anyplace else. Well, we caved in and started using the auto* tools for Rivet, and since there wasn't much interest in it, it just went away from CVS. If you'd like to work on bringing it back in some form, I'd be happy to help out. Perhaps sourceforge or somewhere else would be a good place for it (maybe the tclapps part of tcllib?). -- David N. Welton - http://www.dedasys.com/davidw/ Linux, Open Source Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Rivet web page / notable users list
Daniel Baker wrote: Folks, The web page is pretty out of date, quite sparse, and pretty confusing. I'd be willing bring it up to speed and add some content -- what format are the pages written in and what's the best way of going about that? They are Rivet pages - at least those for the Rivet portion of the site. cvs -z3 -d:pserver:[EMAIL PROTECTED]:/home/cvspublic co -P tcl-site is the way to fetch it from CVS. Patches will then go to this list where we can take them and add them to the site. To run the whole site you would need both Websh and Rivet, but if you don't use the Websh portions of it, just Rivet is fine. I'd certainly be appreciative of efforts in this direction, as most of the web site is my work, and...sometimes it's hard to write stuff like that when you're so in the middle of it that you don't realize what it looks like from outside. To make sure no one gets frustrated, do run ideas by the list before spending a lot of time with them. If you need help setting up the CVS directory as a 'sandbox' on a local machine, I can tell you how it's done - make a local virtual host so that something like 'http://tclsite/' points to 127.0.0.1, more or less. Does anyone have a list of notable users? The first thing that struck me (and others that I've directed at tcl.apache.org/rivet) is the question, is anyone actually using this? I think it'd be great to start to compile a list of major Internet sites as well as companies (such as Superconnect) that are heavily using Rivet to list on the Rivet site and perhaps get quotes from those parties about their experiences to include. That sounds like a good plan. I know there are some out there, but I've mostly worked on smaller/internal things with it myself, which doesn't always make for great publicity. Thanks, -- David N. Welton - http://www.dedasys.com/davidw/ Apache, Linux, Tcl Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: make install error
[EMAIL PROTECTED] wrote: I'm using Fedora Core 4 (Linux 2.6.12-1.1398_FC4 ) on an Athlon with Apache 1.3.33. /usr/bin/install: installing multiple files, but last argument, `/usr/share/rivet/librivetparser.so' is not a directory Ugh... that's just weird. If I'm not mistaken, shouldn't the install commands be separate: /usr/bin/install -c .libs/librivet.so /usr/lib/ /usr/bin/install -c .libs/librivet.so /usr/share/rivet/ Yeah, that makes sense, but the trouble is figuring out where those come from in the Makefile.am files:-/ Also, out of curiosity, why does it appear that mod_rivet.la is being installed twice? First with the line: /bin/sh ../libtool --mode=install /usr/bin/install -c 'mod_rivet.la' '/usr/local/apache/libexec/mod_rivet.la' Then again, but using mod_rivet.lai: /usr/bin/install -c .libs/mod_rivet.lai /usr/local/apache/libexec/mod_rivet.la Interesting. Anyone got any ideas? Also, the following line from my make install output: test -z /usr/lib /usr/share/rivet || mkdir -p -- /usr/lib /usr/share/rivet is creating the exact directory structure in the string /usr/lib /usr/share/rivet. I have a directory called lib (with space after it) and then the other directories within that. Can you post your Makefile.in and Makefile to the web somewhere so that we can have a look? I manually copied all of the *.so and *.la files. Any more manual modifications I can make right now to get it running? Well, all the .tcl files from tcl-rivet/rivet/ need to go in /usr/lib/rivet/ or wherever else the tcl package path is... -- David N. Welton - http://www.dedasys.com/davidw/ Apache, Linux, Tcl Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Rivet version number
Karl Lehenbauer wrote: IMHO there is zero reason for Rivet to have a release number 1.0. Considering how solid it is and how heavily my company and some nonprofits I support are using it, I think a 2.0 number is in order. How about we do 1.0 just to avoid people asking well, where is 1.0, did I miss it?. -- David N. Welton - http://www.dedasys.com/davidw/ Apache, Linux, Tcl Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
subversion
Hi, We have switched over to using subversion for revision control, as per a discussion on the PMC. svn co https://svn.apache.org/repos/test/tcl/rivet/trunk tcl-rivet Is the basic command to check things out. Subversion is made to look more or less familiar to CVS users, so it shouldn't really be a big shock. The reason behind this move is that the ASF is moving towards Subversion and does not have the resources to maintain both CVS and SVN... If anyone needs help, please contact the me via this mailing list. Ciao, -- David N. Welton - http://www.dedasys.com/davidw/ Apache, Linux, Tcl Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: towards a release
Karl Lehenbauer wrote: I agree with david on docs and tests. I'm looking forward to this! Oh yeah? So... when do you think you'll write them by?:- Seriously... I'd like it if you guys got your hands dirty with the test suite and docs. I beat the test suite back into place for use with the auto* tools... (it looks in the .libs directory now). Eventually it would be terrific to recode DIO to follow AJAX, where we let Javascript do the heavy lifting on the front end, but that's a big job and definitely not something to hold up a release. Yeah, I'd like to get something out that fixes the recent bugs. All the AJAX stuff looks neat, but it's not something I've got time to wade into right now:-/ -- David N. Welton - http://www.dedasys.com/davidw/ Apache, Linux, Tcl Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
towards a release
Ok, folks, let's take stock of what we need to get done before we release. I would like to see the docs and tests for abort_page updated. I am going to try and look at the make install stuff and see that things are going according to plan (I think tweaks are needed). Other things? -- David N. Welton - http://www.dedasys.com/davidw/ Apache, Linux, Tcl Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: parsing of document of type text/xml
Arnulf Wiedemann wrote: Hi David, It might take a few days, depending on how much time I have, but it seems that it's something that will be useful for others. If you have some C skills, it probably wouldn't be that hard to get started looking at it... to be correct you'd want to modify apache_request.c to save the data and then create a Tcl command to access it. in the last Mail I had the diff running on the wrong version (there were 2 missing lines) I've been looking at this some and created a patch of my own that's checked into CVS... please check out and compile from there and see what you think. The Tcl command is raw_post. The C code tries to be clever in that it uses the existing infrastructure: int ApacheRequest_parse_urlencoded(ApacheRequest *req) { request_rec *r = req-r; int rc = OK; if (r-method_number == M_POST) { const char *data = NULL, *type; type = ap_table_get(r-headers_in, Content-Type); if (!strncaseEQ(type, DEFAULT_ENCTYPE, DEFAULT_ENCTYPE_LENGTH)) { return DECLINED; } if ((rc = util_read(req, data)) != OK) { return rc; } if (data) { req-raw_post = data; /* Give people a way of getting at the raw data. */ split_to_parms(req, data); } } return OK; } and just saves a pointer to the data which Tcl can fish out later. In any case, let me know if that does the trick or not. Ciao, -- David N. Welton - http://www.dedasys.com/davidw/ Apache, Linux, Tcl Consulting - http://www.dedasys.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: tcl-rivet/src make.tcl mod_rivet.c rivetCore.c
Damon Courtney [EMAIL PROTECTED] writes: [EMAIL PROTECTED] writes: -set APXS apxs +set APXS /usr/local/apache/bin/apxs Hrm... add it to your path? Or is there a better way? Actually, this is the best solution. On a standard Apache install, this is where APXS will be. Yuck. Anyplace else is not standard. So, at least it gives the user the general idea if they edit the file. By just putting APXS, some users might not understand that the variable should be a full path to the APXS script. Maybe we should have a better warning message then. A *lot* of people (namely, anyone with a Linux box with Apache installed as part of their distribution) will have apxs in a 'non-standard' location. Either that, or do some checking to see if we can find it. By setting the aborted variable in the Apache connection, the page immediately halts sending any and all data to the user. Now, yes, the script does continue executing, but that can't be helped just yet. We should find some way to fix that really. Exit is bad, because it quite literally causes the Apache child process to exit. This can be VERY expensive in terms of having to continually restart children. If you have any ideas, I'm open to hearing them. In the meantime, this at least works quite well. 0-] Ok... just be sure to put in the docs that *it DOES NOT stop execution of the Tcl script*, otherwise people will send us weird errors! I've been thinking about this lately, as I have a mod_dtcl user who is trying to 'exit' from .ttml pages, but can't find a good way to do so. I haven't been able to come up with a good answer, so far:-/ -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
cool examples?
You guys have any ideas for cool examples of Rivet in use that we could put on the web pages? -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: TclX commands
Damon Courtney [EMAIL PROTECTED] writes: I am currently writing up a TclX compatibility library. Of course, I can't write the whole thing, nor do I want to. I'm just writing up the basic commands that I think are really important (and mostly easy to do). Why not just use TclX if you want TclX? Or is this more of a TclX-light, with the commands you find most useful? My question is this. Should I include these commands as commands of Rivet? Or, should I include these commands in a package called Tclxcompat? Currently, I have them in a package called Tclxcompat, but I think it might be cool to have them as commands of Rivet. This sounds like non-Tcl core kinds of things that could go in their own package. Sure they would be cool commands as part of Rivet, but that doesn't mean everyone wants or needs them. Once we put something in the core, I don't think it is going to be possible to take it out again, at least not without pissing people off. -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: Rivet C code
Damon Courtney [EMAIL PROTECTED] writes: A) Compile C commands into mod_rivet.so itself. B) Compile C commands into a single, separate library that can be loaded? or C) Compile C commands into separate libraries based on likeness? Well, what are they? I think that's the best test:-) Or, should we just leave them all in tcl_commands.c? I'm ok with that too. As long as the function declarations are formatted correctly, it's easy to find what you're looking for. 0-] If you're not positive that they're core, start a new file, so that it's easier to compile seperately if need be. Maybe we could create a switch at compile time, infact. Speaking of which, have either of you guys tried compiling Rivet on windows? I'm really curious to know if our build system has a shot at working there. -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: Rivet C code
Damon Courtney [EMAIL PROTECTED] writes: Well, what are they? I think that's the best test:-) Some are just handy to have. Like, lremove or escape_string or unescape_string. Escape/unescape sound like handy things to have that could reasonably be considered part of the core. Something like lremove couldn't be written in Tcl? Let's have a look at the list and see if we are in agreement with everything. Some are packages of code, like a GDBM interface or MySQL, etc... That stuff should be kept far, far away from the core, in my opinion:-) Tcl has a way to load external modules, and packages like that should use it. My two euro cents... -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: rivet_dir_vars and rivet_user_vars?
Damon Courtney [EMAIL PROTECTED] writes: Sounds good - maybe make a namespace for it? Or a hash table? Some way of protecting it, basically. Maybe a config command so that we can access the same variables/config options from Tcl? Or is that too hairy/error prone. Probably is. I'm basically doing what we did with NWS. I'm taking each set of variables and putting them in a global array. So, we have RivetServerConf RivetDirConf and RivetUserConf Now, ServerConf and DirConf are established only once, when the interp is instantiated. Since those directives can't change unless the server is rebooted, we're safe in only loading them once. UserConf, however, must be reloaded with each page load. Asssuming there is a UserConf array. If no variables have been set with the RivetUserConf command, no array will exist. Ok, sounds good. How about some test cases?:-) This provides us access to those variables at the Tcl level, which we will use a lot in the future. Right now, most of the variables we use are only controlled at the C level, but if we have them available, we can do more at the Tcl level. Sure, I see - I was thinking a little bit about being able to change them at the Tcl level, but that would be too ugly. I like the way you do are doing it now. -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: rivet_dir_vars and rivet_user_vars?
Damon Courtney [EMAIL PROTECTED] writes: ap_table_set( rdc-rivet_dir_vars, var, val ); return( NULL ); } This segfaults, because rivet_dir_vars is not initialized anywhere. rivet_user_vars is the same, in the next function down. Apparently you were going to use these somehow? To keep track of what had been set? Or are they something we don't need? Please elucidate:-) They will be used later. I guess I just need to initialize them. I don't guess I really need to use the tables though. I'll find something else. I'll probably just set the Tcl variable directly from within the DirConf routines. Sounds good - maybe make a namespace for it? Or a hash table? Some way of protecting it, basically. Maybe a config command so that we can access the same variables/config options from Tcl? Or is that too hairy/error prone. Probably is. -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: page name (.ttml, .asp, .pl...?)
Wojciech Kocjan [EMAIL PROTECTED] writes: .rsp sounds better than ttml, that's for sure. But I agree with Damon that .rvt sounds even better, mayb less Java/ASP-style :) Ok, sounds good to me - a bit easier to remember because it's different than all the other *sp's. I'll move everything in the sources and docs to talk about 'rvt' instead of 'ttml'. -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: env trace
Damon Courtney [EMAIL PROTECTED] writes: How far did you get with putting a trace on variables in the env() array and loading them on demand? I found a bug in Tcl with this line of exploration, so I pretty much gave up, because the fix won't work its way in for a while:-( -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: escaping start/close tags in Tcl sections of tcl/html pages
Damon Courtney [EMAIL PROTECTED] writes: I'm thinking about redoing the parser to take into account situations like this: some html ? puts {? blah blah blah?} ? Which currently cause problems with the parser. Thoughts? Maybe at the same time, I can make it accept ?dtcl as well as ?, also... Hrmmm... Couldn't we just check to see if we're already in a block of code? I like the idea of specifying some kind of specific rivet tag, but I think doing ?rivet is a bad idea. I mean, I guess it works. The reason that it came up was that someone asked me about doing XML documents, which start with ?...?. I can see how it would be a pain in the neck to have to escape that: puts ? .\?\ NWS had its own tag which looked more like a real HTML tag. They were just: nws ? is compliant XML, but adding random tags is not. If you use an HTML editing mode like psgml in emacs, which keeps track of context and what tags can be inserted, adding spurious markup is bad. BTW, I'm back from honeymoon, recovered from the wedding and now recovering from Christmas, which means I'll be back on some code very shortly. Cool:-) -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
escaping start/close tags in Tcl sections of tcl/html pages
I'm thinking about redoing the parser to take into account situations like this: some html ? puts {? blah blah blah?} ? Which currently cause problems with the parser. Thoughts? Maybe at the same time, I can make it accept ?dtcl as well as ?, also... -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: eliminated hputs, buffer_add, hflush, and buffered
Damon Courtney [EMAIL PROTECTED] writes: They will when I'm done. 0-] I'm just trying to get them in place right now. In the end, they will take 'env' and 'cookies' as default array names but accept alternates if given. Ok, that works. Doing stuff incrementally is no problem (actually, it's a good thing), just so as we're clear on what's going on. Ok. The load_env and load_cookies commands now accept optional arguments. Cool - that and all the cleanups are very nice. Question. How come I can call the headers command at the very bottom of my test page, and it still sets the headers? Because for now it's buffering everything. I thought buffering on the stdout channel was set to none by default. static int outputproc(ClientData instancedata, char *buf, int toWrite, int *errorCodePtr) { rivet_server_conf *rsc = (rivet_server_conf *)instancedata; Tcl_DStringAppend(rsc-buffer, buf, toWrite); return toWrite; } We're still using the internal buffering, which was necessary to deal with other commands which wanted to interface to the same stream. I think that it can go away now, though. I even tried flushing stdout to try and get the headers command to complain at me, but it actually set the headers properly and put them at the top. Not that I'm complaining. I'm just wondering how it works and it it's going to become an issue. How it should work: 1) Buffering is done by the stream itself, which starts with full buffering. 2) After the first puts, each puts generates a flush (or we could just put the buffer size to a smaller value so that they happen automatically). The first puts can't ever generate a flush, because there is always a bit of 'html' between the beginning of the file, and the first ? ? block. At least that's the way I've always done things in mod_dtcl, which seemed like a good compromise: if you want to set the headers, you either do it at the start of the file, or you turn off buffering/flushing explicitly. 3) A finally flush is performed at the end. I guess the complicated thing is that we have to move a few more things over into the channel implementation. We also need to prevent the first puts from ever flushing - maybe by setting the buffer size to a huge value (the maximum is 1,000,000). -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: flush
[EMAIL PROTECTED] (David N. Welton) writes: Damon Courtney [EMAIL PROTECTED] writes: It appears that flushing stdout is not having any affect. I tried using it in a for loop, just spitting out numbers and flushing after each one, and it has no affect. Is there something we're not doing right? Do we need to put the hflush command back in to get what we need? Because we don't have a 'flushproc' yet in the channel code:-) I'll work on that today. Urk... FLUSHPROC | The flushProc field is currently reserved for future use. | It should be set to NULL. FlushProc should match the fol | lowing prototype: Hrm... let me look around a bit... -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/
Re: flush
Damon Courtney [EMAIL PROTECTED] writes: This means that after each chunk of ? ?, we aren't flushing. That's a simple matter of writing in the 'flush' commands behind or before the puts statements in parser.c. I'm not sure - explicit flush, or not? I don't know. In NWS, I don't think we ever flushed. We let Apache buffer it 'til it felt like flushing, or until the user called flush_page explicitly. Ok, well 'flush stdout' should have that effect, as it stands right now. It kinda' confuses new users who want the page to show up without having to load the whole thing, but we can make a note somewhere in an FAQ about how it's done. Agreed. Also, the ApacheChan struct definition in channel.c has 2 extra NULLs at the end, and I'm getting warnings about it. Not that it really matters. Are you compiling against a newer versio of Tcl that uses those? We can kill them - I put them in because I had hoped to have a flushproc:-( -- David N. Welton Consulting: http://www.dedasys.com/ Free Software: http://people.debian.org/~davidw/ Apache Tcl: http://tcl.apache.org/ Personal: http://www.efn.org/~davidw/