~ecryptfs/ecryptfs/oldtrunk

2 by mhalcrow@us.ibm.com
Initial import of eCryptfs filesystem userspace utilities (mount helper, daemon component,
1
Basic Installation
2
==================
3
4
    For more information specific to this package, please read the README
5
file. This source code distribution  is autoconfiguring and you should be 
6
able to compile it and install it without manual interventions such as 
7
editing Makefiles, configuration files, and so on. These are generic 
8
instructions for people who are not familiar with installing autoconfiguring
9
software.
10
11
The simplest way to compile this package is to enter the source code
12
main directory and do the following:
13
   
14
  1. Configure the source code by typing:
15
        % sh ./configure
16
17
     If you are planning to install the package into your home
18
     directory or to a location other than `/usr/local' then add the
19
     flag `--prefix=PATH' to `configure'. For example, if your home
20
     directory is `/home/luser' you can configure the package to
21
     install itself there by invoking:
22
        % sh ./configure --prefix=/home/luser
23
24
     If you are running a version of eCryptfs that ships as part of
25
     kernel version 2.6.18-rc6-mm2 or earlier, you need to pass the
26
     --enable-old-auth-tok option to the ./configure script:
27
        % sh ./configure --prefix=/home/luser \
28
                         --enable-old-auth-tok
29
     
30
     While running, `configure' prints some messages telling which
31
     features is it checking for. 
32
33
  2. Compile the package by typing:
34
        % make
35
     Running `make' takes a while. If this is a very large package, now
36
     is the time to go make some coffee.
37
     
38
  3. Type `make install' to install the programs and any data files and
39
     documentation. Type `make uninstall' to undo the installation.
40
     During installation, the following files go to the following directories:
41
        Executables          -> /prefix/bin
42
        Libraries            -> /prefix/lib
43
        Public header files  -> /prefix/include
44
        Man pages            -> /prefix/man/man?
45
        Info files           -> /prefix/info
46
     where `prefix' is either `/usr/local' or the PATH that you specified
47
     in the `--prefix' flag.
48
49
     If any of these directories do not presently exist, they will be
50
     created on demand.
51
52
     This step will attempt to install the ecryptfs.ko kernel module:
53
        /lib/modules/`uname -r`/kernel/fs/ecryptfs/ecryptfs.ko
54
55
     If you are installing in your home directory make sure that 
56
     `/home/luser/bin' is in your path. If you're using the bash shell
57
     add this line at the end of your .cshrc file:
58
        PATH="/home/luser/bin:${PATH}"
59
        export PATH
60
     If you are using csh or tcsh, then use this line instead:
61
        setenv PATH /home/luser/bin:${PATH}
62
     By prepending your home directory to the rest of the PATH you can
63
     override systemwide installed software with your own custom installation.
64
65
  4. You can remove the program binaries and object files from the
66
     source code directory by typing `make clean'.  To also remove the
67
     files that `configure' created (so you can compile the package for
68
     a different kind of computer), type `make distclean'.
69
70
Compiler configuration
71
======================
72
73
   The `configure' shell script is responsible for choosing and configuring
74
the compiler(s). 
75
76
The following options allow you to specify whether you
77
want to enable or disable various debugging mechanisms:
78
79
`--with-warnings'
80
      Make the compilers very picky about warnings. Try this whenever you
81
      write new code since it may catch a few bugs. This is not active by
82
      default because all too often warnings can be too picky and scare
83
      the end-user.
84
85
`--disable-assert'
86
      Compile without using assertions. This results in faster code,
87
      but should not be used during developerment, or to run `make check'
88
      which depends on assertions. It should only be used for production
89
      runs on code that you believe is bug free.
90
91
All programs are compiled with optimization level 2 by default (-O2).
92
Occasionally that confuses the debugger when code is inlined. To disable
93
optimization and enable debugging, set the shell environment variables
94
CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this
95
like this:
96
  $ export CFLAGS="-g"
97
  $ export CXXFLAGS="-g"
98
  $ export FFLAGS="-g"
99
On the tcsh shell, use the `setenv' command instead:
100
  % setenv CFLAGS "-g"
101
  ...etc...
102
For other shell, please consult your shell's documentation.
103
104
Similarly, you can increase the optimization level by assigning these
105
variables to "-g -O3". 
106
107
The following options allow you to reconsider the `configure' shell script's
108
choice of Fortran compilers.
109
110
`--with-f2c'
111
      Compile the Fortran code by translating it to C, even if a native
112
      Fortran compiler is available. A copy of the f2c translator should be
113
      bundled in the distribution. It will be compiled and then used to 
114
      compile your Fortran code.
115
`--with-g77'
116
      Compile the Fortran code with g77 even if a proprietary Fortran  
117
      compiler is available
118
`--with-f77=F77'
119
      Compile the Fortran code with the specified Fortran compiler.
120
121
Depending on what languages the package uses, some of these options may
122
or may not be available. To see what is available, type:
123
    % sh ./configure --help
124
125
About the configure script
126
==========================
127
 
128
   The `configure' shell script attempts to guess correct values for
129
various system-dependent variables used during compilation.  It uses
130
those values to create a `Makefile' in each directory of the package.
131
It may also create one or more `.h' files containing system-dependent
132
definitions.  Finally, it creates a shell script `config.status' that
133
you can run in the future to recreate the current configuration, a file
134
`config.cache' that saves the results of its tests to speed up
135
reconfiguring, and a file `config.log' containing compiler output
136
(useful mainly for debugging `configure').
137
138
   If you need to do unusual things to compile the package, please try
139
to figure out how `configure' could check whether to do them, and mail
140
diffs or instructions to the address given in the `README' so they can
141
be considered for the next release.  If at some point `config.cache'
142
contains results you don't want to keep, you may remove or edit it.
143
144
   The file `configure.in' is used to create `configure' by a program
145
called `autoconf'.  You only need `configure.in' if you want to change
146
it or regenerate `configure' using a newer version of `autoconf'.
147
148
Advanced installation options.
149
==============================
150
151
   The `configure' script also understands the following more advanced
152
options, to handle situations for which `--prefix' alone is not sufficient.
153
154
   You can specify separate installation prefixes for
155
architecture-specific files and architecture-independent files.  If you
156
give `configure' the option `--exec-prefix=PATH', the package will use
157
PATH as the prefix for installing programs and libraries.
158
Documentation and other data files will still use the regular prefix.
159
160
   In addition, if you use an unusual directory layout you can give
161
options like `--bindir=PATH' to specify different values for particular
162
kinds of files.  Run `configure --help' for a list of the directories
163
you can set and what kinds of files go in them.
164
165
   If the package supports it, you can cause programs to be installed
166
with an extra prefix or suffix on their names by giving `configure' the
167
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
168
169
Optional Features
170
=================
171
172
   Some packages pay attention to `--enable-FEATURE' options to
173
`configure', where FEATURE indicates an optional part of the package.
174
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
175
is something like `gnu-as' or `x' (for the X Window System).  The
176
`README' should mention any `--enable-' and `--with-' options that the
177
package recognizes.
178
179
   For packages that use the X Window System, `configure' can usually
180
find the X include and library files automatically, but if it doesn't,
181
you can use the `configure' options `--x-includes=DIR' and
182
`--x-libraries=DIR' to specify their locations.
183