/mandos/release

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

« 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
41
        --param man.authors.section.enabled     0 \
41
 
         /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl
 
42
         /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
 
43
        $(notdir $<); \
 
44
        $(MANPOST) $(notdir $@)
42
45
# DocBook-to-man post-processing to fix a \n escape bug
43
 
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'
44
47
 
45
48
PLUGINS=plugins.d/password-prompt plugins.d/password-request
46
49
PROGS=plugin-runner $(PLUGINS)
56
59
doc: $(DOCS)
57
60
 
58
61
%.5: %.xml
59
 
        cd $(dir $^); $(DOCBOOKTOMAN) $(notdir $^); $(MANPOST) $(notdir $@)
 
62
        $(DOCBOOKTOMAN)
60
63
 
61
64
%.8: %.xml
62
 
        cd $(dir $^); $(DOCBOOKTOMAN) $(notdir $^); $(MANPOST) $(notdir $@)
 
65
        $(DOCBOOKTOMAN)
63
66
 
64
67
%.8mandos: %.xml
65
 
        cd $(dir $^); $(DOCBOOKTOMAN) $(notdir $^); $(MANPOST) $(notdir $@)
 
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)
66
75
 
67
76
plugins.d/password-request: plugins.d/password-request.o
68
77
        $(LINK.o) $(GNUTLS_LIBS) $(AVAHI_LIBS) $(GPGME_LIBS) \
78
87
distclean: clean
79
88
mostlyclean: clean
80
89
maintainer-clean: clean
81
 
        -rm --force --recursive keydir
 
90
        -rm --force --recursive keydir confdir
82
91
 
83
92
check:
84
93
        ./mandos --check
85
94
 
86
 
run-client: all
87
 
        -mkdir keydir
88
 
        -./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
89
98
        ./plugin-runner --plugin-dir=plugins.d \
90
99
                --options-for=password-request:--keydir=keydir
91
100
 
92
 
run-server:
93
 
        ./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 >> $@
94
123
 
95
124
install: install-server install-client
96
125
 
97
126
install-server: doc
98
 
        mkdir --mode=0755 --parents $(CONFDIR) $(MANDIR)/man5 \
 
127
        install --directory --parents $(CONFDIR) $(MANDIR)/man5 \
99
128
                $(MANDIR)/man8
100
129
        install --mode=0755 mandos $(PREFIX)/sbin/mandos
101
130
        install --mode=0644 --target-directory=$(CONFDIR) mandos.conf
109
138
                > $(MANDIR)/man5/mandos-clients.conf.5.gz
110
139
 
111
140
install-client: all doc /usr/share/initramfs-tools/hooks/.
112
 
        mkdir --mode=0755 --parents $(PREFIX)/lib/mandos $(CONFDIR) \
113
 
                $(MANDIR)/man8
114
 
        -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
115
144
        chmod u=rwx,g=,o= $(PREFIX)/lib/mandos/plugins.d
116
145
        install --mode=0755 --target-directory=$(PREFIX)/lib/mandos \
117
146
                plugin-runner