/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-14 02:24:59 UTC
  • Revision ID: teddy@fukt.bsnet.se-20080814022459-rq3jt4q409l3qbj3
* Makefile (PREFIX, CONFDIR): New.

* initramfs-tools-hook: Search for Mandos in /usr/local as well as in
                        /usr.  Also copy plugin-runner.  Also chmod
                        the config dir.
  (DESTCONFDIR): Removed.
  (MANDOSDIR): New.
  (PLUGINDIR): Changed to "${MANDOSDIR}/plugins.d".

* initramfs-tools-script: New.

* mandos-client.c: Renamed to "plugin-runner.c".  All references
                   changed.
  (plugindir): Changed to "/lib/mandos/plugins.d".

* plugins.d/usplash: New.

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
#COVERAGE=--coverage
14
14
OPTIMIZE=-Os
15
15
LANGUAGE=-std=gnu99
 
16
# PREFIX=/usr/local
 
17
PREFIX=/usr
 
18
# CONFDIR=/usr/local/lib/mandos
 
19
CONFDIR=/etc/mandos
 
20
# MANDIR=/usr/local/man
 
21
MANDIR=/usr/share/man
16
22
 
17
23
# Do not change these two
18
24
CFLAGS=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) $(LANGUAGE)
26
32
        --param man.authors.section.enabled     0
27
33
 
28
34
PLUGINS=plugins.d/password-prompt plugins.d/password-request
29
 
PROGS=mandos-client $(PLUGINS)
30
 
DOCS=mandos.8 mandos-client.8mandos mandos-keygen.8 \
 
35
PROGS=plugin-runner $(PLUGINS)
 
36
DOCS=mandos.8 plugin-runner.8mandos mandos-keygen.8 \
31
37
        plugins.d/password-request.8mandos \
32
38
        plugins.d/password-prompt.8mandos mandos.conf.5 \
33
 
         mandos-clients.conf.5
 
39
        mandos-clients.conf.5
34
40
 
35
41
objects=$(shell for p in $(PROGS); do echo $${p}.o; done)
36
42
 
47
53
%.8mandos: %.xml
48
54
        cd $(dir $^); $(DOCBOOKTOMAN) $(notdir $^)
49
55
 
50
 
mandos-client: mandos-client.o
 
56
plugin-runner: plugin-runner.o
51
57
        $(LINK.o) -lgnutls $(COMMON) $^ $(LOADLIBES) $(LDLIBS) -o $@
52
58
 
53
59
plugins.d/password-request: plugins.d/password-request.o
75
81
run-client: all
76
82
        -mkdir keydir
77
83
        -./mandos-keygen --dir keydir
78
 
        ./mandos-client --plugin-dir=plugins.d \
 
84
        ./plugin-runner --plugin-dir=plugins.d \
79
85
                --options-for=password-request:--keydir=keydir
80
86
 
81
87
run-server:
84
90
install: install-server install-client
85
91
 
86
92
install-server: doc
87
 
        mkdir --mode=0755 --parents /etc/mandos
88
 
        install --mode=0755 mandos /usr/sbin/mandos
89
 
        install --mode=0644 --target-directory=/etc/mandos mandos.conf
90
 
        install --mode=0640 --target-directory=/etc/mandos \
 
93
        mkdir --mode=0755 --parents $(CONFDIR) $(MANDIR)/man5 \
 
94
                $(MANDIR)/man8
 
95
        install --mode=0755 mandos $(PREFIX)/sbin/mandos
 
96
        install --mode=0644 --target-directory=$(CONFDIR) mandos.conf
 
97
        install --mode=0640 --target-directory=$(CONFDIR) \
91
98
                clients.conf
92
99
        gzip --best --to-stdout mandos.8 \
93
 
                > /usr/share/man/man8/mandos.8.gz
 
100
                > $(MANDIR)/man8/mandos.8.gz
94
101
        gzip --best --to-stdout mandos.conf.5 \
95
 
                > /usr/share/man/man5/mandos.conf.5.gz
 
102
                > $(MANDIR)/man5/mandos.conf.5.gz
96
103
        gzip --best --to-stdout mandos-clients.conf.5 \
97
 
                > /usr/share/man/man5/mandos-clients.conf.5.gz
 
104
                > $(MANDIR)/man5/mandos-clients.conf.5.gz
98
105
 
99
106
install-client: all doc /usr/share/initramfs-tools/hooks/.
100
 
        mkdir --mode=0755 --parents /usr/lib/mandos /etc/mandos
101
 
        -mkdir --mode=0700 /usr/lib/mandos/plugins.d
102
 
        chmod u=rwx,g=,o= /usr/lib/mandos/plugins.d
103
 
        install --mode=0755 --target-directory=/usr/lib/mandos \
104
 
                mandos-client
105
 
        install --mode=0755 --target-directory=/usr/sbin mandos-keygen
 
107
        mkdir --mode=0755 --parents $(PREFIX)/lib/mandos $(CONFDIR) \
 
108
                $(MANDIR)/man8
 
109
        -mkdir --mode=0700 $(PREFIX)/lib/mandos/plugins.d
 
110
        chmod u=rwx,g=,o= $(PREFIX)/lib/mandos/plugins.d
 
111
        install --mode=0755 --target-directory=$(PREFIX)/lib/mandos \
 
112
                plugin-runner
 
113
        install --mode=0755 --target-directory=$(PREFIX)/sbin \
 
114
                mandos-keygen
106
115
        install --mode=0755 \
107
 
                --target-directory=/usr/lib/mandos/plugins.d \
 
116
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
108
117
                plugins.d/password-prompt
109
118
        install --mode=4755 \
110
 
                --target-directory=/usr/lib/mandos/plugins.d \
 
119
                --target-directory=$(PREFIX)/lib/mandos/plugins.d \
111
120
                plugins.d/password-request
112
121
        install initramfs-tools-hook \
113
122
                /usr/share/initramfs-tools/hooks/mandos
114
123
        install initramfs-tools-hook-conf \
115
124
                /usr/share/initramfs-tools/conf-hooks.d/mandos
 
125
        install initramfs-tools-script \
 
126
                /usr/share/initramfs-tools/scripts/local-top/mandos
116
127
        gzip --best --to-stdout mandos-keygen.8 \
117
 
                > /usr/share/man/man8/mandos-keygen.8.gz
118
 
        gzip --best --to-stdout mandos-client.8mandos \
119
 
                > /usr/share/man/man8/mandos-client.8mandos.gz
 
128
                > $(MANDIR)/man8/mandos-keygen.8.gz
 
129
        gzip --best --to-stdout plugin-runner.8mandos \
 
130
                > $(MANDIR)/man8/plugin-runner.8mandos.gz
120
131
        gzip --best --to-stdout plugins.d/password-prompt.8mandos \
121
 
                > /usr/share/man/man8/password-prompt.8mandos.gz
 
132
                > $(MANDIR)/man8/password-prompt.8mandos.gz
122
133
        gzip --best --to-stdout plugins.d/password-request.8mandos \
123
 
                > /usr/share/man/man8/password-request.8mandos.gz
124
 
        -/usr/sbin/mandos-keygen
 
134
                > $(MANDIR)/man8/password-request.8mandos.gz
 
135
        -$(PREFIX)/sbin/mandos-keygen
125
136
        update-initramfs -k all -u
126
137
 
127
138
uninstall: uninstall-server uninstall-client
128
139
 
129
 
uninstall-server: /usr/sbin/mandos
130
 
        -rm --force /usr/sbin/mandos /usr/share/man/man8/mandos.8.gz \
131
 
                /usr/share/man/man5/mandos.conf.5.gz \
132
 
                /usr/share/man/man5/mandos-clients.conf.5.gz
133
 
        -rmdir /etc/mandos
 
140
uninstall-server: $(PREFIX)/sbin/mandos
 
141
        -rm --force $(PREFIX)/sbin/mandos \
 
142
                $(MANDIR)/man8/mandos.8.gz \
 
143
                $(MANDIR)/man5/mandos.conf.5.gz \
 
144
                $(MANDIR)/man5/mandos-clients.conf.5.gz
 
145
        -rmdir $(CONFDIR)
134
146
 
135
147
uninstall-client:
136
 
# Refuse to uninstall client if /etc/crypttab is configured to use it
137
 
        ! grep --regexp='^ *[^ #].*keyscript=/usr/lib/mandos/mandos-client' \
 
148
# Refuse to uninstall client if /etc/crypttab is explicitly configured
 
149
# to use it.
 
150
        ! grep --regexp='^ *[^ #].*keyscript=[^,=]*/mandos/' \
138
151
                /etc/crypttab
139
 
        -rm --force /usr/sbin/mandos-keygen \
140
 
                /usr/lib/mandos/mandos-client \
141
 
                /usr/lib/mandos/plugins.d/password-prompt \
142
 
                /usr/lib/mandos/plugins.d/password-request \
 
152
        -rm --force $(PREFIX)/sbin/mandos-keygen \
 
153
                $(PREFIX)/lib/mandos/plugin-runner \
 
154
                $(PREFIX)/lib/mandos/plugins.d/password-prompt \
 
155
                $(PREFIX)/lib/mandos/plugins.d/password-request \
143
156
                /usr/share/initramfs-tools/hooks/mandos \
144
157
                /usr/share/initramfs-tools/conf-hooks.d/mandos \
145
 
                /usr/share/man/man8/mandos-client.8mandos.gz \
146
 
                /usr/share/man/man8/mandos-keygen.8.gz \
147
 
                /usr/share/man/man8/password-prompt.8mandos.gz \
148
 
                /usr/share/man/man8/password-request.8mandos.gz
149
 
        -rmdir /usr/lib/mandos/plugins.d /usr/lib/mandos \
150
 
                /etc/mandos/plugins.d /etc/mandos
 
158
                $(MANDIR)/man8/plugin-runner.8mandos.gz \
 
159
                $(MANDIR)/man8/mandos-keygen.8.gz \
 
160
                $(MANDIR)/man8/password-prompt.8mandos.gz \
 
161
                $(MANDIR)/man8/password-request.8mandos.gz
 
162
        -rmdir $(PREFIX)/lib/mandos/plugins.d $(CONFDIR)/plugins.d \
 
163
                 $(PREFIX)/lib/mandos $(CONFDIR)
 
164
        update-initramfs -k all -u
151
165
 
152
166
purge: purge-server purge-client
153
167
 
154
168
purge-server: uninstall-server
155
 
        -rm --force /etc/mandos/mandos.conf /etc/mandos/clients.conf
156
 
        -rmdir /etc/mandos
 
169
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf
 
170
        -rmdir $(CONFDIR)
157
171
 
158
172
purge-client: uninstall-client
159
 
        -rm --force /etc/mandos/seckey.txt /etc/mandos/pubkey.txt
160
 
        -rmdir /etc/mandos /etc/mandos/plugins.d
 
173
        -rm --force $(CONFDIR)/seckey.txt $(CONFDIR)/pubkey.txt
 
174
        -rmdir $(CONFDIR) $(CONFDIR)/plugins.d