[Monetdb-developers] New Release Branches --- * Please read carefully! *

Stefan Manegold Stefan.Manegold at cwi.nl
Sun Jan 21 20:18:18 CET 2007


Dear all,

please read the following carefully till the end!

To prepare the upcoming release of MonetDB, I just created the respective
new release branches in CVS and set new version numbers accordingly:

module      branch             version
----------  -----------------  -----------
buildtools  MonetDB_1-16       -
MonetDB     MonetDB_1-16       1.16.0
clients     Clients_1-16       1.16.0
MonetDB4    MonetDB_4-16       4.16.0
MonetDB5    MonetDB_5-0_beta1  5.0.0_beta1
template    MonetDB_1-16       0.1.3
sql             SQL_2-16       2.16.0
pathfinder   XQuery_0-16       0.16.0


Please recall:

All bug-fixes go to the new release branches (see below), only!
All new features go to the development trunks, only!

Any violation of these rules might be "punished" by a forced undo of the
respective changes.

As usually, we will take care of propagating bug-fixes from the new release
branches to the development trunks on an (ir)regular basis or on kind
request.



Upgrading your MonetDB version
===============================

Please read the following *before* starting any upgrade attempt!


Binary installation & source tarballs
-------------------------------------

In case you're using binary installation (Windows Installer or RPMs) or
source tarballs, please be patient for a few more days. We plan to finish
the release before end of this week, including the respective documentation.


CVS sources
-----------

In case you're using CVS sources, please note that there have been two major
changes:

1) The former "MonetDB" CVS module has been split in three CVS modules,
   a) "MonetDB" still contains the old common source base, in particular
      src/common/ and src/gdk/ .
   b) The new "clients" CVS module contains the GDK-independent code base
      for the MAPI-based clients, i.e., the code from former
      MonetDB/src/mapi/ as well as from former sql/src/jdbc/ and
      sql/src/odbc/ .
   c) The new "MonetDB4" CVS module contains the well known MonetDB Version 4
      server, including the MIL interpreter (src/monet/) and the MIL
      extension modules (src/modules/).

2) The formerly CWI-internal code base for the new MonetDB Version 5 server
   ("monet5") has become public on SourceForge as CVS module "MonetDB5"
   (next to "MonetDB4"). "MonetDB5" introduces the new MAL interpreter as
   well as various new features. See the upcoming release announcement for
   more details.
   In case you used to use the "monet5" code at/from CWI, you should read
   http://sourceforge.net/mailarchive/forum.php?thread_id=31481666&forum_id=39803
   for details how to upgrade to "MonetDB5" from SourceForge.

The build a complete MonetDB4 (MIL) or MonetDB5 (MAL) server, you need to
first get, compile and install buildtools, MonetDB, and clients in that
order. Then you can compile and install MonetDB4, MonetDB5, or both.
But *before* doing so, please read till the end of this message!


Updating CVS existing sources
-----------------------------

Please follow the subsequent steps in the given order!

Before upgrading to the new release branches --- at least if you've been
using MonetDB 4.14, MonetDB/SQL 2.14, MonetDB/XQuery 0.14 any older version,
or MonetDB 4.15, MonetDB/SQL 2.15, MonetDB/XQuery 0.15 before the
"repository split" --- it is mandatory to clean-up any previous installation
of MonetDB. There are various ways to do so:

In case you are using a distinctive prefix directory (the one you specified
with the --prefix option of configure) only for MonetDB software, and your
default database (<prefix>/var/MonetDB/dbfarm/) does not contain any
crucial/important data, the easiest way is to remove the whole prefix
directory (rm -r <prefix>).

In case you installed MonetDB into a prefix directory that also contains
other software (e.g., /usr/, /usr/local/, ~/local/, etc.), but you still
have your ("old") build directories intact, call `make uninstall` in all
build directories in *reverse* order of installation, e.g.,

	( cd <amdb-builddir>       && make uninstall && make clean )
	( cd <pruning-builddir>    && make uninstall && make clean )
	( cd <xml-builddir>        && make uninstall && make clean )

	( cd <pathfinder-builddir> && make uninstall && make clean )
	( cd <sql-builddir>        && make uninstall && make clean )
	( cd <template-builddir>   && make uninstall && make clean )

	( cd <monet5-builddir>     && make uninstall && make clean )
	( cd <MonetDB5-builddir>   && make uninstall && make clean )
	( cd <MonetDB4-builddir>   && make uninstall && make clean )

	( cd <clients-builddir>    && make uninstall && make clean )
	( cd <MonetDB-builddir>    && make uninstall && make clean )
	( cd <buildtools-builddir> && make uninstall && make clean )

In case none of the above two options applies to you please make sure that
you at least remove the following directories:

	rm -r <prefix>/share/MonetDB
	rm -r <prefix>/include/MonetDB
	rm -r <prefix>/lib/MonetDB
	rm -r <prefix>/lib64/MonetDB


Then, you should clean up your build directories (those where you called
configure for the various parts of the code base):

In case your build directories are different from your source directories
(as recommended), you can simple delete (rm -r) them all completely.

In case your build directories are identical with you source directories,
and you haven't called `make clean` together with `make uninstall` before),
call `make clean` in all build directories in *reverse* order of
installation, e.g.,

	( cd <amdb-builddir>       && make clean )
	( cd <pruning-builddir>    && make clean )
	( cd <xml-builddir>        && make clean )

	( cd <pathfinder-builddir> && make clean )
	( cd <sql-builddir>        && make clean )
	( cd <template-builddir>   && make clean )

	( cd <MonetDB5-builddir>   && make clean )
	( cd <monet5-builddir>     && make clean )
	( cd <MonetDB4-builddir>   && make clean )

	( cd <clients-builddir>    && make clean )
	( cd <MonetDB-builddir>    && make clean )
	( cd <buildtools-builddir> && make clean )


Finally, you're ready to upgrade your existing CVS sources as follows (skip
those parts you do not have yet):

	( cd buildtools && cvs update -dP -r MonetDB_1-16 )
	( cd MonetDB    && cvs update -dP -r MonetDB_1-16 )
	( cd clients    && cvs update -dP -r MonetDB_1-16 )

	( cd MonetDB4   && cvs update -dP -r MonetDB_4-16 )
	( cd MonetDB5   && cvs update -dP -r MonetDB_5-0_beta1 )

	( cd template   && cvs update -dP -r MonetDB_1-16 )
	( cd sql        && cvs update -dP -r     SQL_2-16 )
	( cd pathfinder && cvs update -dP -r  XQuery_0-16 )


Getting new CVS sources
-----------------------

Once you updated your existing CVS source, or in case you (want to) start
with a complete new check-out, you can get the (missing) MonetDB source from
the CVS repository on SourceForge as follows.
(Skip those part that you already updated above and/or those parts that you
do not want/need. Recall the following dependencies:
	MonetDB[45]    require  buildtools, MonetDB & clients;
	template & sql require  at least one of MonetDB[45];
	pathfinder     requires MonetDB4.)

Developers with ssh access replace <access> by :ext:<username>;
others replace <access> by :pserver:anonymous for anonymous pserver access.

cvs -d <access>@monetdb.cvs.sourceforge.net:/cvsroot/monetdb co -P -rMonetDB_1-16  buildtools MonetDB clients template
cvs -d <access>@monetdb.cvs.sourceforge.net:/cvsroot/monetdb co -P -rMonetDB_4-16  MonetDB4
cvs -d <access>@monetdb.cvs.sourceforge.net:/cvsroot/monetdb co -P -rMonetDB_5-0_beta1  MonetDB5
cvs -d <access>@monetdb.cvs.sourceforge.net:/cvsroot/monetdb co -P -rSQL_2-16  sql
cvs -d <access>@monetdb.cvs.sourceforge.net:/cvsroot/monetdb co -P -rXQuery_0-16  pathfinder


Compilation and installation
----------------------------

Once all desired/required source are up-to-date you can compile and in stall
the parts one by one as follows (recall, we recommend to use separate build
directories). (Again, skip the parts that you don't want/need.)

sourcebase=/my/source/base
prefix=/my/target/prefix
export PATH=$prefix/bin:$PATH
export PYTHONPATH="$prefix/`python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(0,0,"")'`"
for i in buildtools MonetDB clients MonetDB4 MonetDB5 template sql pathfinder ; do
	source=$sourcebase/$i
	build=$source/_BUILD_
	mkdir -p $build
	( cd $source && ./bootstrap && ( cd $build && $source/configure --prefix=$prefix && make && make install ) )
done



That should be it. Enjoy!



In case you have any questions and.or problems please feel free to use the
bug tracker at http://sourceforge.net/tracker/?group_id=56967, or the
respective mailing lists
https://lists.sourceforge.net/lists/listinfo/monetdb-developers and/or
https://lists.sourceforge.net/lists/listinfo/monetdb-users .


Kind regards

The MonetDB developer team.


-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at cwi.nl |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |




More information about the developers-list mailing list