Difference between revisions of "Installation alternatives"

From Gramps
Jump to: navigation, search
m (GConf schemas)
m (GConf schemas)
Line 68: Line 68:
 
# The <code>xml::$HOME/.gconf</code> or <code>xml:merged:$HOME/.gconf</code>
 
# The <code>xml::$HOME/.gconf</code> or <code>xml:merged:$HOME/.gconf</code>
 
The former is a global setup. The latter is the per-user setup, not system-wide. There is a number of ways to let <code>gconfd</code> know where else to look, but this is outside the scope of installing gramps. Since the first way is a no-go for you for whatever reasons, you will need to pass something like this to the <code>./auotgen.sh</code> or <code>configure</code> script as an argument:
 
The former is a global setup. The latter is the per-user setup, not system-wide. There is a number of ways to let <code>gconfd</code> know where else to look, but this is outside the scope of installing gramps. Since the first way is a no-go for you for whatever reasons, you will need to pass something like this to the <code>./auotgen.sh</code> or <code>configure</code> script as an argument:
   --with-gconf-source=xml::$HOME/.gconf
+
   --with-gconf-source=xml::$HOME/.gconf --with-gconf-schema-file-dir=$HOME
  --with-gconf-schema-file-dir=$HOME
 
  
 
=== Mime types ===
 
=== Mime types ===

Revision as of 18:32, 6 March 2007

Introduction

This page describes other possible ways of running GRAMPS, without necessarily installing it the conventional way. Warning: it is assumed that you know what you are doing. If you are note sure this means you don't know it. If you are trying to normally install stable GRAMPS version then see Installation page instead.

The two alternatives to the conventional installation are:

  • Running from the source directory
  • Installing locally (e.g. into a home directory or elsewhere without root permissions) or into a non-default prefix

Why install non-conventionally?

There might be many reasons you want to not conventionally install GRAMPS. You might have heard about a new feature you want to try that hasn't been released yet. You might be interested in adding a new feature. You might be interested in getting under the hood to take a look around. In case you have a stable working version of GRAMPS, you would not want to disturb that installation by installing something experimental on top of it.

Common steps

Whether you want to run from the source directory or do a proper local or non-default install, you need first to get the source and configure it.

Get the source

Read Brief introduction to SVN, and obtain the source code of the stable branch. At the moment, this is gramps2 and is downloaded to a directory gramps2

Configuration

Change to the gramps2 directory:

  cd gramps2

Execute the autogen script. This needs to be done the first time and any time files are added.

  ./autogen.sh

Running from the source directory

This is the strategy in which just a bare minimum gets installed globally, to enable gramps to start. The entirety of GRAMPS code will sit in your home directory, right where you downloaded it, and will run from there.

Bare minimum installation

Note: If you have a fairly recent stable GRAMPS version, you may be able to skip this step. If in doubt, try without it, and see if you get errors related to mime types or gconf schemas. If you do, you need to go through this part.

Change to the data directory, then run make install as a super-user (Ubuntu users will probably use sudo):

  cd data
  make
  su
  make install

Running GRAMPS

You can now start GRAMPS locally, by typing on the command line:

  cd src
  python gramps.py

Now you can edit files and run python gramps.py without mucking with your official installation of GRAMPS.

Note: You should NOT do make install with the SVN version, as this will install the unstable version globally. If you want a more recent version of GRAMPS globally, download a stable release from sourceforge following the Installation instructions.

Limitations

This way you should be able to run GRAMPS and be OK in most regards. You will probably not get the current translations because we did not install them properly.

Installing locally

This is the 100% proper installation strategy that allows you to skip nothing and install into weird places. People do that either because they lack root access and cannot install the regular way, or because of their personal reasons (e.g. weird systems without /usr dir :-). If you fall into this category, start with the INSTALL file shipped with the source.

Most things in GRAMPS can be installed anywhere and GRAMPS will happily run from that location. The exceptions are:

  • gconf schemas
  • mime types

You have to first decide where you want to install these, and then let the installer know about your decision. The trick is to install them in such locations where GConf and shared-mime-types system will know to look.

GConf schemas

By default, gconfd will look in these places:

  1. Whatever is returned by running: gconftool-2 --get-default-source
  2. The xml::$HOME/.gconf or xml:merged:$HOME/.gconf

The former is a global setup. The latter is the per-user setup, not system-wide. There is a number of ways to let gconfd know where else to look, but this is outside the scope of installing gramps. Since the first way is a no-go for you for whatever reasons, you will need to pass something like this to the ./auotgen.sh or configure script as an argument:

  --with-gconf-source=xml::$HOME/.gconf --with-gconf-schema-file-dir=$HOME

Mime types

By default, the shared mime systems will look in these places:

  1. /usr/share/mime
  2. /usr/local/share/mime: this may be broken on some systems
  3. $HOME/.local/share/mime: this is a per-user setup, not system-wide

Likewise, there's a number of ways to instruct the shared mime system to look in other places, but this is the whole other story. Since the first way does not work for you, you will go with something like:

  --with-mime-dir=$HOME/.local/share/mime

Other arguments

Since you are doing a local install, most likely you will need to specify the non-local prefix for your installation:

  --prefix=$HOME/my_gramps_path

A non-local install will also need to skip the scrollkeeper registration of the helpfiles:

  --disable-scrollkeeper

All together now

Putting it all together, a typical non-local install will start from running ./auotgen.sh or configure with these arguments:

  --prefix=$HOME/my_gramps_path \
  --with-gconf-source=xml::$HOME/.gconf \
  --with-gconf-schema-file-dir=$HOME \
  --with-mime-dir=$HOME/.local/share/mime \
  --disable-scrollkeeper

Of course, your mileage may vary, because you may want to go a global install into /src/weird/path or whatever else you feel like doing. The only thing to worry about is that gconf schemas and mime types are properly found. So either install them in their default places, or maybe patch them to use your private paths.