Commit various fixes from skel (Daniel Piddock): CMS Server: - DiskMonitor was overflowing due to using an int variable for the inode count. Upped to a long. - Updated URL to iscream cms javadoc RRD graphing: - added uptime logging and graph creation - diskio - Cope with modern linux device paths (eg "ide/host0/bus0/target0/lun0/disc") by replacing / with hex - diskio - Cope with windows device paths (eg "0 C: D:") by replacing : and space with hex - disk - Cope with windows mount points (eg C:\) by replacing : and \ with hex - net - Cope with windows network "device names". Basically the whole network card as it appears in Device Manager, not "Local Area Connection" - Include total processes (for winhost) Also modified the PHP code to catch up. Patch slightly modified from that submitted, but only minor alterations. Thanks skel!
Catch a lot of old URL's and update them. Also remove a couple of old files that aren't used.
Update j2se links to 1.4.2.
Tidy up of the client interface code - more commonly known as the "right hand side of the server". Right since the start the filter side of the server has been nice and tree like - every Filter sent data to another Filter. At the top of the tree there was a "special" Filter known as the RootFilter, which to the other Filters just looked like a normal Filter. This was nice, and simple, and expandable. The Client Interface on the other hand was messy. The root filter had some hacky wrapper threads which pulled from a queue and pushed to the relevant client interfaces (one for real time stuff, and the other for databases). There was no simple room for expandability - it was all hardwired to do just what was needed at the time. This commit changes that. A Client Interface now connects to another Client Interface, with a special one being found in the RootFilter (yes, maybe that needs a name change now :-). So we can chain client interfaces, and move other bits and bobs around in the server - for example, alerting no longer needs to be connected to the Client Interface, it can connect straight to the RootFilter (or, wherever the config tells it ;). Hopefully this sanitizes the underlying layout of the server a bit. As a final note, I dropped the DBInterface. This used to insert data in to a MySQL database. We've long since stopped using that, and it's fallen behind and is way out of date. For now, it's gone in to the attic.
Main change is making the use of jacorb.properties transparent to the end user - something which should have been done with CorbaServices a long time ago :-) Now a base jacorb.properties is included in the jar files, because it's searched by the jacorb loading stuff. The only value outside of the jar file is the naming service location, which can now be found in the default.properties files. The server and corbaservices assume that the naming services is running on localhost on port 8052, which is ok for most normal things. If it's on a different host the default.properties just needs fixing. Also added a default.properties style thing to the corbaservices, and fixed some bugs in the command line argument parsing. Finally, fixed a bug with the make src target of all the Makefiles.
Added install target for util package. Removed duplicates copies of the COPYING (GPL License) file.
Added linking of util package api's to javadocs.
Update javadoc building to link against the 1.4.1 jdk api's.
Another fixed install target :-)
Removed the util package from the server. The source for it still remains, for now, until I decide how to dispose of it.
The --no-wrap option to cvs2cl seems to fix some of the problems with the layout of the ChangeLog's. This was applied to the nightly e-mail script months ago, so I don't know why I forgot to use it here.
Tidy up the install target. Seems I overlooked this when tidying the rest of the Makefile. By default now installs under /opt.
Changed the server to use the external util package. Quite a minor change, but does affect a lot of files.
Version.inc should be part of the source dist.
Added gpg signing of built archives. Also changed binary archives to have "-bin" in their filename. Fixed a problem with the copied source having the jar files duplicated.
A continuation of my last commit on all this Makefile reworking. I think I've managed to get the dependencies working quite well now. As long as the builds are done from the top level Makefile it should all be fine. If you try from, say, the build directory it might not notice things changing in the source files.
Finally made some changes to the Makefile setup to finish what I started around 7 months ago :) The dependency stuff still isn't quite right, but it's getting there.
My first bash at a new-style Makefile setup. This one generates proper distfiles in subdirectories with version numbers, etc. I'll port it to the other parts of i-scream when I've tested it a bit more. This will also lead the way for me to generate daily snapshots.
Fix CVSROOT in all Makefiles. Now uses the anonymous pserver.
Improved the javadoc generation in the Makefile setup. Now matches the ANT javadoc output. Also added links to external javadoc (such as pircbot) to make the pages more complete.
Merged in changes from the SERVER_PIRCBOT branch. The IRC__Alerter now uses pircbot (www.jibble.org/pircbot.php) for it's IRC connectivity. All the features from the old version have been moved across to the new one, with a few minor changes.
Integration of PircBot into i-scream as a replacement for the internal IRC code that was put together in a hurry. PircBot makes the code much neater, and ensures that the IRC interactivity is nicely seperated from the main i-scream code. PircBot is maintained by Paul, an i-scream developer also, at http://www.jibble.org. Changes so far are mostly to move the existing features to the new structure provided by PircBot. It is still very much in development, and is very messy :)
Update the MySQL driver from 2.0.4 to 2.0.11.
Updated the CVSROOT setting in the Makefile build setup to point at the anonymous cvs server at cvs.i-scream.org.uk.
The location in CVS has changed... all CMS source is now under the cms module.
Major change in the java package naming. This has been held off for some time now, but it really needed doing. The future packaging of all i-scream products will be; uk.org.iscream.<product>.<subpart>.* In the case of the central monitoring system server this will be; uk.org.iscream.cms.server.* The whole server has been changed to follow this structure, and tested to a smallish extent. Further changes in other parts of the CMS will follow.
Now have the i-scream logo on the javadoc pages.
The whole server package structure has been changed. Old Package: uk.ac.ukc.iscream.* New Package: uk.org.iscream.*
Updated the mySQL JDBC driver from 2.0.2 to 2.0.4.
Tidied up the configure script, and got round to make a subtle change to the Makefile's so they are a bit more "standard".
Changed to get and use the new xml parsing libraries.
A new parsing library.
Added the client.alerters and client.monitors packages.
We now set the Java compiler flags.
Now takes extra measures to locate the cvs binary.
Set the path of cvs explicitly.
Changed naming to be more inline with other modules.
Added the client package to the javadoc bit of the Makefile.
Dependency checking for the DOCOPY method. Ensures that any files (eg. images) are only copied once, not every time (unless they've changed of course!).
The old driver appeared a bit dodgy. I've gone back to the version before the current latest, and it seems to be acting ok. This should work on windows too, and any other machine - the dependence to Raptor has been removed.
Added the mysql jar file to the relevant library lines.
Added the name of the new util JAR file, and added the idl directory to the classpath. Not entirely sure whether this is good, but I can't see the harm in it at the present. Marked it clearly though, in case it does happen to cause problems later on.
Added bits for the "make javadoc" stuff.
Fixed a bug that prevented it working on another machine. The paths to the libs in the include file were absolute, not relative. Opps :)
MERGE: Merged the SERVER_PACKAGEBUILD branch back into the HEAD trunk.
Just a minor change to the cvsbuild temporary directory.
Added the "make cvsbuild revision=<REVISION/TAG>" feature to the Makefile.
A few changes made now that the configure script sets SERVERROOT.
Added stuff for the install scripts.
We don't need this here, it's moved to idl/Makefile.
Done some more tidying on all the Makefiles. This should have solve the current dependency problem that seemed to be occuring with the java source files. The only dependency that's now not quite in place is the IDL stuff. This should be easily fixable.
Attempted to improve the dependencies, and tidied up the code Makefiles a bit better. Getting there... slowly.
Just added some explanatory comments.
Include files for the Makefiles. The Config.inc will need to be altered prior to building any of the system, but this will be well documented. It is planned to do away with this requirement if a workaround can be found. The Makefile.inc contains code used by all the Makefile's.
file Config.inc was initially added on branch SERVER_PACKAGEBUILD.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.