[Mono-devel-list] momo on suse 9.3

Massimiliano Mantione massi at ximian.com
Tue Jul 26 01:35:20 EDT 2005


On Sat, 2005-07-23 at 00:23 -0700, Dennis Hayes wrote:
> do I install the Mono that comes with Suse, or from SVN, or install
> the Suse version, then up grade to the SVN version?

Ways of working are personal things (just like text editors), so...
use these advices at your own risk ;-)
Anyway, this is what I do:

- I use the packages available for my distribution as a sort of
  "stable reference", and keep them reasonably upgraded.
  I never mess with them because I use them to run the mono
  applications I really use (so I don't want them to break).
  Also, those packages install in the default places (/usr...), so
  I should be root to mess with them, which is something I don't
  like while hacking.

- I have one source tree I keep in sync with the svn repository.
  I work there, so it can (and does) break often.
  When I run configure, I specify a prefix that is local to my home
  directory, so that I never need to be root to build *and* install
  my "breakable" tree (all the mess is confined in my home).
  When I do a full rebuild, I typically do it cleanly in this way:
  make maintainer-clean && ./autogen.sh --prefix=/home/massi/mono && \
  make get-monolite-latest && make EXTERNAL_MCS=false
  I also have a shell function that puts the relevant directories
  first in the PATH, LD_LIBRARY_PATH and PKG_CONFIG_PATH variables,
  something like this:
  activate_local_mono () {
  pathmunge /home/massi/mono/bin
  	ldpathmunge /home/massi/mono/lib
  	ldpathmunge /usr/lib/mozilla
  	export PKG_CONFIG_PATH=/home/massi/mono/lib/pkgconfig/
  }
  (where pathmunge and ldpathmunge are other simple functions).
  So, if I want to work with the mono installed from my tree (which
  could be broken, but this is the reason why I use it!), I just have
  to execute "activate_local_mono", and I know that from there on in
  that shell (and *only* that shell) I will use my unstable code.
  That way can test/debug my system installed from the svn tree.
  
- If I need to work on more than one "patch" at a time, I save the
  state of my tree ("svn diff"), reset the tree to a known state,
  and work on the the "secondary" patch.
  When I'm done with it, I re-reset the tree, and re-apply the saved
  patch to get back my original "long term" working tree.
  The "hint" here is that "svn diff" captures exactly your work, so
  it is useful to backup it and restore it later.
  Just remember to do any relevant "svn add", or the diff will miss
  your new files...

Hope this helps... and if not, never mind :-)

Ciao,
  Massi





More information about the Mono-devel-list mailing list