Make setthetime() static per the prototype.
[dragonfly.git] / contrib / libpam / README
1 #
2 # $Id: README,v 1.14 1997/04/05 07:04:46 morgan Exp $
3 # $FreeBSD: src/contrib/libpam/README,v 1.1.1.1.6.2 2001/06/11 15:28:09 markm Exp $
4 # $DragonFly: src/contrib/libpam/Attic/README,v 1.2 2003/06/17 04:24:02 dillon Exp $
5 #
6
7 Hello!
8
9 Thanks for downloading Linux-PAM-0.65.
10
11 --------------------------------------------------------------------
12 Before you begin:
13
14   * This distribution requires GNU's Make
15   * It requires GNU's C-compiler: gcc (and 'ld')
16   * it also requires the GNU shell: bash
17   * some of the modules require the presence of libpwdb see redhat
18   * two modules have some need for libcrack too..
19
20 --------------------------------------------------------------------
21 [
22 Zeroth (optional) thing to do: check the detatched "pgp" signature for
23 this distribution file, it should be signed by
24
25 Type Bits/KeyID    Date       User ID
26 pub  1024/2A398175 1996/11/17 Andrew G. Morgan <morgan@linux.kernel.org>
27 ]
28
29 First thing to do (I assume you have successfully unpacked it!) is to
30 run:
31
32     make check                           [ requires md5sum to be present ]
33
34 This will also check that the distribution has arrived intact. [
35 Later, If you change some things, running this command from this
36 directory will show you what files you have altered. ]
37
38 If you choose to get and install the RCS files that accompany this
39 release, you may also run
40
41         make RCScheck
42
43 from this directory.
44
45 Next, you should check the symbolic link
46
47         .../Linux-PAM-X.YY/default.defs
48
49 points to the file that best describes your system. The various *.defs
50 files that are included in this distribution are to be found in the
51 directory:
52
53         .../Linux-PAM-X.YY/defs/
54
55 This should configure the distribution to compile on your system. The
56 default is the version I use for maintaining the distribution. [If you
57 don't find one that suits your needs, please try to create one, email
58 it to me and I will include it in a future release.]
59
60 If you are running an ELF based Linux system you should be able to
61 compile the distribution straight from the box. If you are running an
62 a.out based system, then some of the functionality of Linux-PAM will
63 be unavailable to you. Instead, you must switch the DYNAMIC variables
64 *off* in your "defs" file: comment out the DYNAMIC and DYNAMIC_LIBPAM
65 defines and uncomment the STATIC and STATIC_LIBPAM defines. NOTE, for
66 ELF based systems, almost any combination of these four definitions is
67 legal... If you have ELF, I recommend the default however.
68
69 Second, try to compile it. Use the following command in *this*
70 directory:
71
72         make
73
74 [ or 'make all' if you prefer ]. The first time you type make, it is
75 likely to complain. This is to remind you to remove any libraries from
76 previous versions of the distribution that are likely to confuse this
77 make... Type 'make' again.
78
79 Before you do the third thing. You should think about whether you want
80 the default configuration scripts to be installed or not. If you have
81 a working PAM based system you probably do *not* want this.. Whatever,
82 before Linux-PAM installs the default scripts you will be prompted as
83 to whether it is a good idea. Be sure to say NO if you are worried!
84 ** You have been warned. **
85
86 Third, to install the stuff you need to be root. Do the following:
87
88         su -c "make install"
89
90 If everything has worked as intended there should now be
91
92         some executables                in      ./bin/
93         some filters for pam_filter     in      /usr/sbin/pam_filter/
94         some configuration files:
95                 /etc/pam.conf
96                 /etc/security/*.conf
97         libpam_misc.a (static library)  in      /usr/lib/
98
99 In addition:
100
101     if dynamically linked:
102
103         libpam.so.XXX (shared library)          in      /usr/lib/
104         libpam_misc.so.XXX (shared library)     in      /usr/lib/
105         pam_*.so (modules)                      in      /usr/lib/security/
106
107     if statically linked:
108
109         libpam.a (static library)       in      /usr/lib/
110
111 [These are the default directories that I use. Your own system may
112 differ as specified in your XXX.defs file.]
113
114 NOTES:
115
116 * The documentation, what there is of it, is in ./doc. I am only
117 including the sgml format source-files. But try to make .ps files
118 available from the above http address. To locally use these sgml files
119 you should have linuxdoc-sgml installed. Sorry, but I'm conserving net
120 bandwidth by only including sources!
121
122 * The source for each module is to be found in ./modules/XXX. If you
123 want to add a new one, make a directory like XXX for it. Add the name
124 (XXX) to MODDIRS in ./modules/Makefile and hopefully it will become
125 part of the overall make. Note, the Makefile in ./modules/ is now
126 smart enough to check if the directory is there before it changes into
127 it; If you want to start working on a module, send me its name and I
128 will add it to the "official" Makefile.. This way, you should be able
129 to insert your developing module into any new release, and not have to
130 worry at first about letting it out to the public. This may also give
131 other people some idea about whether a module is currently being
132 worked on or not.
133
134 * Currently, you have to 'make' binaries from this directory. 'make
135 clean', however, works in any directory that has a Makefile.
136
137 * Also, you can 'make remove' (as root) from *this* directory and it
138 will delete the various installed files dotted around the system. THIS
139 IS A VERY BAD IDEA IF YOUR SYSTEM DEPENDS ON PAM TO WORK!!!
140
141 * 'make sterile' does 'make remove' and then 'make extraclean', this
142 might be required if you are alternating your choice of
143 STATIC(_LIBPAM) and DYNAMIC(_LIBPAM) compilation. SEE COMMENT IN
144 UPPERCASE IN PARAGRAPH ABOVE!!!!
145
146 Best wishes
147
148 Andrew Morgan
149
150 Email bugs/comments to: the Linux-PAM list <pam-list@redhat.com>
151 or me <morgan@linux.kernel.org>
152
153 To see about joining the mailing list, send the following email:
154 --------------------------------
155 To: pam-list-request@redhat.com
156 Subject: help
157 <empty text>
158 --------------------------------
159
160 Additionally, some Linux-PAM files have been known to be found at one
161 or more of the following places (they are not always the most up to
162 date...):
163
164 http://www.redhat.com/linux-info/pam/
165
166 ftp://bach.cis.temple.edu/pub/People/Alex/private/PAM
167 ftp://ftp.redhat.com/pub/misc/
168 ftp://linux.nrao.edu/pub/linux/ALPHA/PAM/
169 ftp://tsx-11.mit.edu/pub/linux/ALPHA/PAM/