
Making and installing the wizards:

Since this package was a development for the Mandrake "corporate" distribution, you're probably on a Linux-mandrake distribution, aren't you? :-) OK, at least make sure that you have kaffe installed. In what follows, <wiz> indicates the path until your "wiz" directory, included. 

Here are the instructions for the impatient people:

- Do a 'make' in the directory <wiz>. This launches the kaffe compiler, and create the executable.
- as root, do a 'make install' to install the wizard run-time and editor in the right places. See next paragraph if you do not want to install right now...

You should now have two commands in your system: wiz (the run time) and wizedit (the editor). That's ready!

Try it with some demo, for example <wiz>/examples/demo.wiz

------------------------------------

The WIZROOT variable, or: how to switch between the development version and the installed version.

The wiz and wizedit commands look for the presence of a WIZROOT variable. If it exists, the classes are taken from $WIZROOT/classes and $WIZROOT/klasses instead of the canonical /usr/wiz/.
If you are a developer, you can make this variable point to the <wiz> directory and having the wizards running with your own classes. 

------------------------------------

Making rpm and other usefull goodies:

The wizard project unifies its cvs administration and rpm-building process. 

You can use the scripts in the <scripts> directory to tag the cvs and give it a version number (say, 3.0.1), and to build an rpm out of a previously tagged version (not only the last).
Here is how it works:

- make-wiz-version <symbolic version> is a script that asks for a changelog description, creates a spec file using the given version, commits the whole repository, and tags it with <symbolic version>. To use this script you must have write access in the repository. For example: 
make-wiz-version 3.0.1

- make-wiz-rpm [<symbolic version>] is a script that exports the status of the cvs with the given tag name, and uses the spec files in it to build a corresponding rpm. You just need to have read access to the cvs to create an rpm. For example:
make-wiz-rpm 3.0.1.
make-wiz-rpm without arguments takes the tag name from the last line of a file named current_version. This file is modified (and committed) automatically each time someone make a new version, and keep tracks of all the version number that have been created. The script always makes the version corresponding to your last cvs update. Looking at the current_version file, you can know which versions are available for rpm building.

Note1: This does not oblige you to synchronize with the repository if you want to make the rpm for a specific version. The script export the cvs in a temporary directory, so you could have your own (uncommitted) development, and call make-wiz-rpm on a version that someone else tagged.

Note2: you should have a rpm directory under you $HOME with the usual hierarchy (look at http://www.linux-mandrake.com/en/howtos/mdk-rpm/ on how to get up and running with rpm...)

Note3: the cvs history for the corporate have been distroyed in the "cvs disaster" of 2001. The available src.rpm are the one shipped in the corporate 1.0 CD, plus the ones build after that disaster recovery (July 2001)

************ How does all this work:
1) The script that make a new version also generates a new spec file, starting from the <wiz>/spec/wizard.spec.proto file, by substituting one variables inside it (__PROTO_VERSION), and collecting a changelog line that is added in the changelog section of the spec. See the script/rpm_chlog.sh to see how the changelog is added. The script update the current_version file.

2) Then, everything is committed and tagged (included the newly generated spec file) with the given version name. This way, the spec to generate the rpm have a version that corresponds to the tag name in CVS.

3) Finally, the make-wiz-rpm script exports the status of the repository with the given tag (in a temporary directory), and calls the 'rpm' target of the Makefile. This creates the tar.bz2 file to be used by rpm, installs the right pieces in your ${HOME}/rpm/, cd to your ${HOME}/rpm/SPECS directory and calls the magic 'rpm --target=noarch -ba wizard.spec'
  


*********** Tricks and Tips
The variable _WIZ_DO_AS_ROOT allow any user to run the wizard in testing mode, without writing any files.
The variable DEBUG_VAL is the name of the debug tty or debug file

sample:
if you have /dev/pts/3 console open, you can do
(export _WIZ_DO_AS_ROOT=yes; export DEBUG_VAL=/dev/pts/3; wiz /usr/share/wizards/global_wizard/global.wiz )

E.M.
