Distribution system: A guide to building the archives and binaries for
the Pathan website

You must check out a new tree before running each of the build scripts
in distrib/


Version numbers
---------------

Versioning policy:

Rewrite - version changes
New interface - subversion changes
Bugfixes - release changes

Currently quite a lot of version numbers need changing:

./Makefile - LIBTOOL_VERSION=1:0:0

interface num:revision:age - see http://sources.redhat.com/autobook/autobook/autobook_91.html#SEC91
[we are currently on the 2nd interface, 1st revision ie. 1:0:0)

./distrib/*.pl *.sh

my $version = 1;
my $subversion = 1;

These need to be updated. 1.1 is the current version.

./distrib/pathan.spec

Version: 1.1
Release: 1
Source: libpathan-1.1-src.tar.gz

The source file name changes every version/subversion.


Source distributions
--------------------

Check out a fresh tree from the CVS
cd distrib
./buildTGZ

This produces a targz and a zip file.

The targz is the standard source distribution for UNIX.

The zip is the source distribution for Windows. It contains the same
files as the UNIX distrib but with premade files in include/.
These files are build automatically on UNIX.


Linux RPMS
----------

Check out a fresh tree from the CVS
Export the location of a Xerces _source_ distribution
cd distrib
./buildTGZ

For Linux

./buildRPM-linux

For Solaris

./buildRPM-solaris

This will produce the library, devel and source RPMs [in
distrib/pathan_rpm/RPMS and SRPMS].

Linux builds at time of writing are done on rh6 and rh7 boxes since
both are in common use.

Solaris RPMS
------------

Exactly as Linux, but do process on a Solaris box.

Note that tugela:/home/local is mounted as /export/home/local on dart
and hence the path to your gnupg keys should be altered appropriately.


Solaris TGZ
-----------

cd distrib
perl buildSolarisDistribution.pl


Windows binaries
----------------

Use the MS VC++ project files to build Pathan Release and Debug
builds.

Then run perl distrib/buildWindowsDistribution.pl on Linux [in the same
Pathan tree, obviously].

