115 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| $Id$
 | |
| 
 | |
| This file contains some useful details on the installation from source code
 | |
| for GRAMPS. It does not cover installation of a pre-built binary package.
 | |
| For that use your package manager, the rest is already done by the packager.
 | |
| 
 | |
| Uninstall old version
 | |
| ---------------------
 | |
| If you do a source install in the same place of an existing install,
 | |
| you need to remove the old version first. You can delete the old
 | |
| version by:
 | |
| 
 | |
|   * deleting the installed directories (for example,
 | |
|     /usr/share/gramps)
 | |
|   * OR by running "make uninstall" from the old directory where you
 | |
|     ran "make install" (not the new GRAMPS directory)
 | |
| 
 | |
| GRAMPS is a python application, so loading happens on reading the
 | |
| files, meaning that files of a previous version that are no longer
 | |
| present in the new version can still be loaded, making the new install
 | |
| unstable.
 | |
| 
 | |
| Configure vs autogen scripts
 | |
| ----------------------------
 | |
| Configure does not check all dependencies of Gramps, see README for a 
 | |
| list of all required and optional dependencies.
 | |
| 
 | |
| If you are building from released tarball, you should be able to just
 | |
| run "./configure && make". However, if you're building from the SVN,
 | |
| the configure is not present. You should auto-generate it by
 | |
| running ./autogen.sh and then "make" and, finally, "make install".
 | |
| 
 | |
| Running ./autogen.sh on this branch of gramps requires the following
 | |
| packages to be installed:
 | |
|    * autoconf >=2.53
 | |
|    * automake >=1.9
 | |
|    * intltool >=0.25
 | |
|    * glib-gettext >=2.2.0, included in libglib2.0-dev (may be called
 | |
| differently on other distros) and maybe something else. If autogen.sh
 | |
| fails, it should inform you what's missing.
 | |
| 
 | |
| Custom directory installation
 | |
| -------------------------------------
 | |
| If you would like to install GRAMPS without being root, or in an 
 | |
| alternative location on windows, supply the --prefix argument to autogen 
 | |
| or configure. 
 | |
| 
 | |
| For example:
 | |
|    ./autogen.sh --prefix=$HOME/my_gramps_path
 | |
|    or
 | |
|    ./autogen.sh --prefix=/cygdrive/c/Projects/gramps
 | |
| 
 | |
| Regular vs local installation
 | |
| -----------------------------
 | |
| This version of gramps REQUIRES, among other things, the mime types for 
 | |
| gramps be properly installed.
 | |
| 
 | |
| The usual ./configure, make, and make install as a root should do the trick.
 | |
| 
 | |
| But be careful if you're using the non-default options or would like
 | |
| to install without being root.
 | |
| 
 | |
| The latter is possible, but you should supply additional arguments to
 | |
| autogen or configure:
 | |
|    --with-mime-dir=$HOME/.local/share/mime
 | |
| Most likely, such local install will also need some prefix with write
 | |
| permissions for you:
 | |
|    --prefix=$HOME/my_gramps_path
 | |
| 
 | |
| Whether you're doing local install or regular install, YOU MUST INSTALL 
 | |
| MIME TYPES. YOU HAVE BEEN WARNED!
 | |
| 
 | |
| Installing under non-default prefix
 | |
| -----------------------------------
 | |
| As hinted above, mime types for gramps MUST be properly installed. 
 | |
| The "proper install" means installing them where the shared mime system 
 | |
| will find them.
 | |
| 
 | |
| 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
 | |
| There's a number of ways to instruct the shared mime system
 | |
| to look in other places, but this is the whole other story.
 | |
| 
 | |
| So if you install some place other than /usr/share, you will most
 | |
| likely need to add this option to autogen.sh/configure scripts:
 | |
|    --with-mime-dir=/usr/share/mime
 | |
| 
 | |
| Using the --prefix=/usr/share and installing as a root will most
 | |
| likely do everything correctly, so no extra care needs to be
 | |
| taken. You should take extra care only if you are installing under
 | |
| something like --prefix=/usr/local/my_gramps, /var/gramps123/blah, etc.
 | |
| 
 | |
| Packager's issues
 | |
| ------------------
 | |
| The above mime types must be installed. However, the 
 | |
| update-mime-database call to process the newly installed types and 
 | |
| schemas must be done in POST-INSTALLATION.
 | |
| 
 | |
| In packager's world, the install happens on packager's machine
 | |
| into something like /tmp/gramps-tmp. However, the postinstall
 | |
| should happen on the user's machine.
 | |
| 
 | |
| To assist with that, there's an argument available in configure
 | |
| (or autogen, which will pass it to configure) which disables
 | |
| mime type processing:
 | |
|    --enable-packager-mode
 | |
| This argument should disable postinstall calls made during
 | |
| make install, and print a nasty warning during configure.
 | |
| IT IS PACKAGER'S RESPONSIBILITY to follow the advice given
 | |
| by the configure output and to copy the appropriate code
 | |
| from the data/Makefile.am into the post-install (and post-uninstall)
 | |
| of the particular packaging system.
 |