/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Teddy Hogeborn
  • Date: 2008-08-29 05:53:59 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080829055359-wkdasnyxtylmnxus
* mandos.xml (EXAMPLE): Replaced all occurences of command name with
                        "&COMMANDNAME;".

* plugins.d/password-prompt.c (main): Improved some documentation
                                      strings.  Do perror() of
                                      tcgetattr() fails.  Add debug
                                      output if interrupted by signal.
                                      Loop over write() instead of
                                      using fwrite() when outputting
                                      password.  Add debug output if
                                      getline() returns 0, unless it
                                      was caused by a signal.  Add
                                      exit status code to debug
                                      output.

* plugins.d/password-prompt.xml: Changed all single quotes to double
                                 quotes for consistency.  Removed
                                 <?xml-stylesheet>.
  (ENTITY TIMESTAMP): New.  Automatically updated by Emacs time-stamp
                      by using Emacs local variables.
  (/refentry/refentryinfo/title): Changed to "Mandos Manual".
  (/refentry/refentryinfo/productname): Changed to "Mandos".
  (/refentry/refentryinfo/date): New; set to "&TIMESTAMP;".
  (/refentry/refentryinfo/copyright): Split copyright holders.
  (/refentry/refnamediv/refpurpose): Improved wording.
  (SYNOPSIS): Fix to use correct markup.  Add short options.
  (DESCRIPTION, OPTIONS): Improved wording.
  (OPTIONS): Improved wording.  Use more correct markup.  Document
             short options.
  (EXIT STATUS): Add text.
  (ENVIRONMENT): Document use of "cryptsource" and "crypttarget".
  (FILES): REMOVED.
  (BUGS): Add text.
  (EXAMPLE): Added some examples.
  (SECURITY): Added text.
  (SEE ALSO): Remove reference to mandos(8).  Add reference to
              crypttab(5).

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
OPTIMIZE=-Os
15
15
LANGUAGE=-std=gnu99
16
16
# PREFIX=/usr/local
17
 
PREFIX=/usr
 
17
PREFIX=$(DESTDIR)/usr
18
18
# CONFDIR=/usr/local/lib/mandos
19
 
CONFDIR=/etc/mandos
 
19
CONFDIR=$(DESTDIR)/etc/mandos
20
20
# MANDIR=/usr/local/man
21
 
MANDIR=/usr/share/man
 
21
MANDIR=$(DESTDIR)/usr/share/man
22
22
 
23
23
GNUTLS_CFLAGS=$(shell libgnutls-config --cflags)
24
24
GNUTLS_LIBS=$(shell libgnutls-config --libs)
32
32
        $(LANGUAGE) $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(GPGME_CFLAGS)
33
33
LDFLAGS=$(COVERAGE)
34
34
 
35
 
DOCBOOKTOMAN=xsltproc --nonet \
 
35
# Commands to format a DocBook refentry document into a manual page
 
36
DOCBOOKTOMAN=cd $(dir $<); xsltproc --nonet --xinclude \
36
37
        --param man.charmap.use.subset          0 \
37
38
        --param make.year.ranges                1 \
38
39
        --param make.single.year.ranges         1 \
39
40
        --param man.output.quietly              1 \
40
 
        --param man.authors.section.enabled     0
 
41
        --param man.authors.section.enabled     0 \
 
42
         /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
 
43
        $(notdir $<); \
 
44
        $(MANPOST) $(notdir $@)
41
45
# DocBook-to-man post-processing to fix a \n escape bug
42
 
MANPOST=sed --in-place --expression='s,\\en,\en,g;s,\\een,\\en,g'
 
46
MANPOST=sed --in-place --expression='s,\\\\en,\\en,g;s,\\n,\\en,g'
43
47
 
44
48
PLUGINS=plugins.d/password-prompt plugins.d/password-request
45
49
PROGS=plugin-runner $(PLUGINS)
55
59
doc: $(DOCS)
56
60
 
57
61
%.5: %.xml
58
 
        cd $(dir $^); $(DOCBOOKTOMAN) $(notdir $^) $(MANPOST) $@
 
62
        $(DOCBOOKTOMAN)
59
63
 
60
64
%.8: %.xml
61
 
        cd $(dir $^); $(DOCBOOKTOMAN) $(notdir $^); $(MANPOST) $@
 
65
        $(DOCBOOKTOMAN)
62
66
 
63
67
%.8mandos: %.xml
64
 
        cd $(dir $^); $(DOCBOOKTOMAN) $(notdir $^) $(MANPOST) $@
 
68
        $(DOCBOOKTOMAN)
 
69
 
 
70
mandos.8: mandos.xml mandos-options.xml
 
71
        $(DOCBOOKTOMAN)
 
72
 
 
73
mandos.conf.5: mandos.conf.xml mandos-options.xml
 
74
        $(DOCBOOKTOMAN)
65
75
 
66
76
plugins.d/password-request: plugins.d/password-request.o
67
77
        $(LINK.o) $(GNUTLS_LIBS) $(AVAHI_LIBS) $(GPGME_LIBS) \
77
87
distclean: clean
78
88
mostlyclean: clean
79
89
maintainer-clean: clean
80
 
        -rm --force --recursive keydir
 
90
        -rm --force --recursive keydir confdir
81
91
 
82
92
check:
83
93
        ./mandos --check
84
94
 
85
 
run-client: all
86
 
        -mkdir keydir
87
 
        -./mandos-keygen --dir keydir
 
95
# Run the server with a local key
 
96
run-client: all keydir/seckey.txt keydir/pubkey.txt \
 
97
        keydir/secring.gpg keydir/pubring.gpg
88
98
        ./plugin-runner --plugin-dir=plugins.d \
89
99
                --options-for=password-request:--keydir=keydir
90
100
 
91
 
run-server:
92
 
        ./mandos --debug --configdir=.
 
101
# Used by run-client
 
102
keydir/secring.gpg: keydir/seckey.txt
 
103
        gpg --homedir $(dir $<) --import $^
 
104
keydir/pubring.gpg: keydir/pubkey.txt
 
105
        gpg --homedir $(dir $<) --import $^
 
106
keydir/seckey.txt keydir/pubkey.txt: mandos-keygen
 
107
        install --directory keydir
 
108
        ./mandos-keygen --dir keydir --force
 
109
 
 
110
# Run the server with a local config
 
111
run-server: confdir/mandos.conf confdir/clients.conf
 
112
        ./mandos --debug --configdir=confdir
 
113
 
 
114
# Used by run-server
 
115
confdir/mandos.conf: mandos.conf
 
116
        install --directory confdir
 
117
        install $^ $@
 
118
confdir/clients.conf: clients.conf keydir/seckey.txt
 
119
        install --directory confdir
 
120
        install clients.conf $@
 
121
# Add a client password
 
122
        ./mandos-keygen --dir keydir --password >> $@
93
123
 
94
124
install: install-server install-client
95
125
 
96
126
install-server: doc
97
 
        mkdir --mode=0755 --parents $(CONFDIR) $(MANDIR)/man5 \
 
127
        install --directory --parents $(CONFDIR) $(MANDIR)/man5 \
98
128
                $(MANDIR)/man8
99
129
        install --mode=0755 mandos $(PREFIX)/sbin/mandos
100
130
        install --mode=0644 --target-directory=$(CONFDIR) mandos.conf
108
138
                > $(MANDIR)/man5/mandos-clients.conf.5.gz
109
139
 
110
140
install-client: all doc /usr/share/initramfs-tools/hooks/.
111
 
        mkdir --mode=0755 --parents $(PREFIX)/lib/mandos $(CONFDIR) \
112
 
                $(MANDIR)/man8
113
 
        -mkdir --mode=0700 $(PREFIX)/lib/mandos/plugins.d
 
141
        install --directory --parents $(PREFIX)/lib/mandos \
 
142
                $(CONFDIR) $(MANDIR)/man8
 
143
        install --directory --mode=0700 $(PREFIX)/lib/mandos/plugins.d
114
144
        chmod u=rwx,g=,o= $(PREFIX)/lib/mandos/plugins.d
115
145
        install --mode=0755 --target-directory=$(PREFIX)/lib/mandos \
116
146
                plugin-runner