/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: 2019-07-14 22:39:15 UTC
  • Revision ID: teddy@recompile.se-20190714223915-aqjkms3t3taa6tye
Only use sanitizing options when debugging

The C compiler's sanitizing options introduce code in the output
binary which is fragile and not very security conscious.  It has
become clear that sanitizing is only really meant for use while
debugging.

As a side effect, this makes compilation faster, as the Makefile, for
production builds, no longer runs the compiler repeatedly to find all
its currently supported sanitizing options.

* Makefile (DEBUG): Add "$(SANITIZE)".
  (SANITIZE): Comment out.
  (CFLAGS): Remove "$(SANITIZE)".
  (plugins.d/mandos-client): Revert back to use plain $(LINK.c), since
                             we no longer need to remove the leak
                             sanitizer by overriding CFLAGS.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
        -fsanitize=object-size -fsanitize=float-divide-by-zero \
26
26
        -fsanitize=float-cast-overflow -fsanitize=nonnull-attribute \
27
27
        -fsanitize=returns-nonnull-attribute -fsanitize=bool \
28
 
        -fsanitize=enum -fsanitize-address-use-after-scope
 
28
        -fsanitize=enum
29
29
 
30
30
# For info about _FORTIFY_SOURCE, see feature_test_macros(7)
31
31
# and <https://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html>.
32
 
FORTIFY:=-D_FORTIFY_SOURCE=3 -fstack-protector-all -fPIC
 
32
FORTIFY:=-D_FORTIFY_SOURCE=2 -fstack-protector-all -fPIC
33
33
LINK_FORTIFY_LD:=-z relro -z now
34
34
LINK_FORTIFY:=
35
35
 
41
41
#COVERAGE=--coverage
42
42
OPTIMIZE:=-Os -fno-strict-aliasing
43
43
LANGUAGE:=-std=gnu11
44
 
FEATURES:=-D_FILE_OFFSET_BITS=64
45
44
htmldir:=man
46
 
version:=1.8.15
 
45
version:=1.8.4
47
46
SED:=sed
48
 
PKG_CONFIG?=pkg-config
49
 
 
50
 
USER:=$(firstword $(subst :, ,$(shell getent passwd _mandos \
51
 
        || getent passwd nobody || echo 65534)))
52
 
GROUP:=$(firstword $(subst :, ,$(shell getent group _mandos \
53
 
        || getent group nogroup || echo 65534)))
54
 
 
55
 
LINUXVERSION:=$(shell uname --kernel-release)
 
47
 
 
48
USER:=$(firstword $(subst :, ,$(shell getent passwd _mandos || getent passwd nobody || echo 65534)))
 
49
GROUP:=$(firstword $(subst :, ,$(shell getent group _mandos || getent group nogroup || echo 65534)))
56
50
 
57
51
## Use these settings for a traditional /usr/local install
58
52
# PREFIX:=$(DESTDIR)/usr/local
60
54
# KEYDIR:=$(DESTDIR)/etc/mandos/keys
61
55
# MANDIR:=$(PREFIX)/man
62
56
# INITRAMFSTOOLS:=$(DESTDIR)/etc/initramfs-tools
63
 
# DRACUTMODULE:=$(DESTDIR)/usr/lib/dracut/modules.d/90mandos
64
57
# STATEDIR:=$(DESTDIR)/var/lib/mandos
65
58
# LIBDIR:=$(PREFIX)/lib
66
59
##
71
64
KEYDIR:=$(DESTDIR)/etc/keys/mandos
72
65
MANDIR:=$(PREFIX)/share/man
73
66
INITRAMFSTOOLS:=$(DESTDIR)/usr/share/initramfs-tools
74
 
DRACUTMODULE:=$(DESTDIR)/usr/lib/dracut/modules.d/90mandos
75
67
STATEDIR:=$(DESTDIR)/var/lib/mandos
76
68
LIBDIR:=$(shell \
77
69
        for d in \
78
 
        "/usr/lib/`dpkg-architecture \
79
 
                        -qDEB_HOST_MULTIARCH 2>/dev/null`" \
 
70
        "/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null`" \
80
71
        "`rpm --eval='%{_libdir}' 2>/dev/null`" /usr/lib; do \
81
72
                if [ -d "$$d" -a "$$d" = "$${d%/}" ]; then \
82
73
                        echo "$(DESTDIR)$$d"; \
85
76
        done)
86
77
##
87
78
 
88
 
SYSTEMD:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
89
 
                        --variable=systemdsystemunitdir)
90
 
TMPFILES:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
91
 
                        --variable=tmpfilesdir)
92
 
SYSUSERS:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
93
 
                        --variable=sysusersdir)
 
79
SYSTEMD:=$(DESTDIR)$(shell pkg-config systemd --variable=systemdsystemunitdir)
 
80
TMPFILES:=$(DESTDIR)$(shell pkg-config systemd --variable=tmpfilesdir)
94
81
 
95
 
GNUTLS_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I gnutls)
96
 
GNUTLS_LIBS:=$(shell $(PKG_CONFIG) --libs gnutls)
97
 
AVAHI_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I avahi-core)
98
 
AVAHI_LIBS:=$(shell $(PKG_CONFIG) --libs avahi-core)
99
 
GPGME_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I gpgme 2>/dev/null \
100
 
        || gpgme-config --cflags; getconf LFS_CFLAGS)
101
 
GPGME_LIBS:=$(shell $(PKG_CONFIG) --libs gpgme 2>/dev/null \
102
 
        || gpgme-config --libs; getconf LFS_LIBS; \
 
82
GNUTLS_CFLAGS:=$(shell pkg-config --cflags-only-I gnutls)
 
83
GNUTLS_LIBS:=$(shell pkg-config --libs gnutls)
 
84
AVAHI_CFLAGS:=$(shell pkg-config --cflags-only-I avahi-core)
 
85
AVAHI_LIBS:=$(shell pkg-config --libs avahi-core)
 
86
GPGME_CFLAGS:=$(shell gpgme-config --cflags; getconf LFS_CFLAGS)
 
87
GPGME_LIBS:=$(shell gpgme-config --libs; getconf LFS_LIBS; \
103
88
        getconf LFS_LDFLAGS)
104
 
LIBNL3_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I libnl-route-3.0)
105
 
LIBNL3_LIBS:=$(shell $(PKG_CONFIG) --libs libnl-route-3.0)
106
 
GLIB_CFLAGS:=$(shell $(PKG_CONFIG) --cflags glib-2.0)
107
 
GLIB_LIBS:=$(shell $(PKG_CONFIG) --libs glib-2.0)
 
89
LIBNL3_CFLAGS:=$(shell pkg-config --cflags-only-I libnl-route-3.0)
 
90
LIBNL3_LIBS:=$(shell pkg-config --libs libnl-route-3.0)
108
91
 
109
92
# Do not change these two
110
 
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
111
 
        $(LANGUAGE) $(FEATURES) -DVERSION='"$(version)"'
112
 
LDFLAGS+=-Xlinker --as-needed $(COVERAGE) $(LINK_FORTIFY) $(strip \
113
 
        ) $(foreach flag,$(LINK_FORTIFY_LD),-Xlinker $(flag))
 
93
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) \
 
94
        $(OPTIMIZE) $(LANGUAGE) -DVERSION='"$(version)"'
 
95
LDFLAGS+=-Xlinker --as-needed $(COVERAGE) $(LINK_FORTIFY) $(foreach flag,$(LINK_FORTIFY_LD),-Xlinker $(flag))
114
96
 
115
97
# Commands to format a DocBook <refentry> document into a manual page
116
98
DOCBOOKTOMAN=$(strip cd $(dir $<); xsltproc --nonet --xinclude \
122
104
        /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
123
105
        $(notdir $<); \
124
106
        if locale --all 2>/dev/null | grep --regexp='^en_US\.utf8$$' \
125
 
        && command -v man >/dev/null; then LANG=en_US.UTF-8 \
126
 
        MANWIDTH=80 man --warnings --encoding=UTF-8 --local-file \
127
 
        $(notdir $@); fi >/dev/null)
 
107
        && type man 2>/dev/null; then LANG=en_US.UTF-8 MANWIDTH=80 \
 
108
        man --warnings --encoding=UTF-8 --local-file $(notdir $@); \
 
109
        fi >/dev/null)
128
110
 
129
111
DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \
130
112
        --param make.year.ranges                1 \
143
125
        plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo \
144
126
        plugins.d/plymouth
145
127
PLUGIN_HELPERS:=plugin-helpers/mandos-client-iprouteadddel
146
 
CPROGS:=plugin-runner dracut-module/password-agent $(PLUGINS) \
147
 
        $(PLUGIN_HELPERS)
 
128
CPROGS:=plugin-runner $(PLUGINS) $(PLUGIN_HELPERS)
148
129
PROGS:=mandos mandos-keygen mandos-ctl mandos-monitor $(CPROGS)
149
130
DOCS:=mandos.8 mandos-keygen.8 mandos-monitor.8 mandos-ctl.8 \
150
131
        mandos.conf.5 mandos-clients.conf.5 plugin-runner.8mandos \
151
 
        dracut-module/password-agent.8mandos \
152
132
        plugins.d/mandos-client.8mandos \
153
133
        plugins.d/password-prompt.8mandos plugins.d/usplash.8mandos \
154
134
        plugins.d/splashy.8mandos plugins.d/askpass-fifo.8mandos \
158
138
 
159
139
objects:=$(addsuffix .o,$(CPROGS))
160
140
 
161
 
.PHONY: all
162
141
all: $(PROGS) mandos.lsm
163
142
 
164
 
.PHONY: doc
165
143
doc: $(DOCS)
166
144
 
167
 
.PHONY: html
168
145
html: $(htmldocs)
169
146
 
170
147
%.5: %.xml common.ent legalnotice.xml
229
206
                overview.xml legalnotice.xml
230
207
        $(DOCBOOKTOHTML)
231
208
 
232
 
dracut-module/password-agent.8mandos: \
233
 
                dracut-module/password-agent.xml common.ent \
234
 
                overview.xml legalnotice.xml
235
 
        $(DOCBOOKTOMAN)
236
 
dracut-module/password-agent.8mandos.xhtml: \
237
 
                dracut-module/password-agent.xml common.ent \
238
 
                overview.xml legalnotice.xml
239
 
        $(DOCBOOKTOHTML)
240
 
 
241
209
plugins.d/mandos-client.8mandos: plugins.d/mandos-client.xml \
242
210
                                        common.ent \
243
211
                                        mandos-options.xml \
287
255
                $@)
288
256
 
289
257
# Need to add the GnuTLS, Avahi and GPGME libraries
290
 
plugins.d/mandos-client: CFLAGS += $(GNUTLS_CFLAGS) $(strip \
291
 
        ) $(AVAHI_CFLAGS) $(GPGME_CFLAGS)
292
 
plugins.d/mandos-client: LDLIBS += $(GNUTLS_LIBS) $(strip \
293
 
        ) $(AVAHI_LIBS) $(GPGME_LIBS)
294
 
 
295
 
# Need to add the libnl-route library
296
 
plugin-helpers/mandos-client-iprouteadddel: CFLAGS += $(LIBNL3_CFLAGS)
297
 
plugin-helpers/mandos-client-iprouteadddel: LDLIBS += $(LIBNL3_LIBS)
298
 
 
299
 
# Need to add the GLib and pthread libraries
300
 
dracut-module/password-agent: CFLAGS += $(GLIB_CFLAGS)
301
 
# Note: -lpthread is unnecessary with the GNU C library 2.34 or later
302
 
dracut-module/password-agent: LDLIBS += $(GLIB_LIBS) -lpthread
303
 
 
304
 
.PHONY: clean
 
258
plugins.d/mandos-client: plugins.d/mandos-client.c
 
259
        $(LINK.c) $^ $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(strip\
 
260
                ) $(GPGME_CFLAGS) -lrt $(GNUTLS_LIBS) $(strip\
 
261
                ) $(AVAHI_LIBS) $(GPGME_LIBS) $(LOADLIBES) $(strip\
 
262
                ) $(LDLIBS) -o $@
 
263
 
 
264
plugin-helpers/mandos-client-iprouteadddel: plugin-helpers/mandos-client-iprouteadddel.c
 
265
        $(LINK.c) $(LIBNL3_CFLAGS) $^ $(LIBNL3_LIBS) $(strip\
 
266
                ) $(LOADLIBES) $(LDLIBS) -o $@
 
267
 
 
268
.PHONY : all doc html clean distclean mostlyclean maintainer-clean \
 
269
        check run-client run-server install install-html \
 
270
        install-server install-client-nokey install-client uninstall \
 
271
        uninstall-server uninstall-client purge purge-server \
 
272
        purge-client
 
273
 
305
274
clean:
306
275
        -rm --force $(CPROGS) $(objects) $(htmldocs) $(DOCS) core
307
276
 
308
 
.PHONY: distclean
309
277
distclean: clean
310
 
.PHONY: mostlyclean
311
278
mostlyclean: clean
312
 
.PHONY: maintainer-clean
313
279
maintainer-clean: clean
314
280
        -rm --force --recursive keydir confdir statedir
315
281
 
316
 
.PHONY: check
317
 
check: all
 
282
check:  all
318
283
        ./mandos --check
319
284
        ./mandos-ctl --check
320
 
        ./mandos-keygen --version
321
 
        ./plugin-runner --version
322
 
        ./plugin-helpers/mandos-client-iprouteadddel --version
323
 
        ./dracut-module/password-agent --test
324
285
 
325
286
# Run the client with a local config and key
326
 
.PHONY: run-client
327
 
run-client: all keydir/seckey.txt keydir/pubkey.txt \
328
 
                        keydir/tls-privkey.pem keydir/tls-pubkey.pem
329
 
        @echo '######################################################'
330
 
        @echo '# The following error messages are harmless and can  #'
331
 
        @echo '#  be safely ignored:                                #'
332
 
        @echo '## From plugin-runner:                               #'
333
 
        @echo '# setgid: Operation not permitted                    #'
334
 
        @echo '# setuid: Operation not permitted                    #'
335
 
        @echo '## From askpass-fifo:                                #'
336
 
        @echo '# mkfifo: Permission denied                          #'
337
 
        @echo '## From mandos-client:                               #'
338
 
        @echo '# Failed to raise privileges: Operation not permi... #'
339
 
        @echo '# Warning: network hook "*" exited with status *     #'
340
 
        @echo '# ioctl SIOCSIFFLAGS +IFF_UP: Operation not permi... #'
341
 
        @echo '# Failed to bring up interface "*": Operation not... #'
342
 
        @echo '#                                                    #'
343
 
        @echo '# (The messages are caused by not running as root,   #'
344
 
        @echo '# but you should NOT run "make run-client" as root   #'
345
 
        @echo '# unless you also unpacked and compiled Mandos as    #'
346
 
        @echo '# root, which is also NOT recommended.)              #'
347
 
        @echo '######################################################'
 
287
run-client: all keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem
 
288
        @echo "###################################################################"
 
289
        @echo "# The following error messages are harmless and can be safely     #"
 
290
        @echo "# ignored:                                                        #"
 
291
        @echo "# From plugin-runner: setgid: Operation not permitted             #"
 
292
        @echo "#                     setuid: Operation not permitted             #"
 
293
        @echo "# From askpass-fifo:  mkfifo: Permission denied                   #"
 
294
        @echo "# From mandos-client:                                             #"
 
295
        @echo "#             Failed to raise privileges: Operation not permitted #"
 
296
        @echo "#             Warning: network hook \"*\" exited with status *      #"
 
297
        @echo "#                                                                 #"
 
298
        @echo "# (The messages are caused by not running as root, but you should #"
 
299
        @echo "# NOT run \"make run-client\" as root unless you also unpacked and  #"
 
300
        @echo "# compiled Mandos as root, which is also NOT recommended.)        #"
 
301
        @echo "###################################################################"
348
302
# We set GNOME_KEYRING_CONTROL to block pam_gnome_keyring
349
303
        ./plugin-runner --plugin-dir=plugins.d \
350
304
                --plugin-helper-dir=plugin-helpers \
357
311
keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem: mandos-keygen
358
312
        install --directory keydir
359
313
        ./mandos-keygen --dir keydir --force
360
 
        if ! [ -e keydir/tls-privkey.pem ]; then \
361
 
                install --mode=u=rw /dev/null keydir/tls-privkey.pem; \
362
 
        fi
363
 
        if ! [ -e keydir/tls-pubkey.pem ]; then \
364
 
                install --mode=u=rw /dev/null keydir/tls-pubkey.pem; \
365
 
        fi
366
314
 
367
315
# Run the server with a local config
368
 
.PHONY: run-server
369
316
run-server: confdir/mandos.conf confdir/clients.conf statedir
370
317
        ./mandos --debug --no-dbus --configdir=confdir \
371
318
                --statedir=statedir $(SERVERARGS)
382
329
statedir:
383
330
        install --directory statedir
384
331
 
385
 
.PHONY: install
386
332
install: install-server install-client-nokey
387
333
 
388
 
.PHONY: install-html
389
334
install-html: html
390
335
        install --directory $(htmldir)
391
336
        install --mode=u=rw,go=r --target-directory=$(htmldir) \
392
337
                $(htmldocs)
393
338
 
394
 
.PHONY: install-server
395
339
install-server: doc
396
340
        install --directory $(CONFDIR)
397
341
        if install --directory --mode=u=rwx --owner=$(USER) \
400
344
        elif install --directory --mode=u=rwx $(STATEDIR); then \
401
345
                chown -- $(USER):$(GROUP) $(STATEDIR) || :; \
402
346
        fi
403
 
        if [ "$(TMPFILES)" != "$(DESTDIR)" \
404
 
                        -a -d "$(TMPFILES)" ]; then \
 
347
        if [ "$(TMPFILES)" != "$(DESTDIR)" -a -d "$(TMPFILES)" ]; then \
405
348
                install --mode=u=rw,go=r tmpfiles.d-mandos.conf \
406
349
                        $(TMPFILES)/mandos.conf; \
407
350
        fi
408
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
409
 
                        -a -d "$(SYSUSERS)" ]; then \
410
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
411
 
                        $(SYSUSERS)/mandos.conf; \
412
 
        fi
413
351
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
414
352
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
415
353
                mandos-ctl
444
382
        gzip --best --to-stdout intro.8mandos \
445
383
                > $(MANDIR)/man8/intro.8mandos.gz
446
384
 
447
 
.PHONY: install-client-nokey
448
385
install-client-nokey: all doc
449
386
        install --directory $(LIBDIR)/mandos $(CONFDIR)
450
387
        install --directory --mode=u=rwx $(KEYDIR) \
451
388
                $(LIBDIR)/mandos/plugins.d \
452
389
                $(LIBDIR)/mandos/plugin-helpers
453
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
454
 
                        -a -d "$(SYSUSERS)" ]; then \
455
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
456
 
                        $(SYSUSERS)/mandos-client.conf; \
457
 
        fi
458
390
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
459
391
                install --mode=u=rwx \
460
392
                        --directory "$(CONFDIR)/plugins.d" \
465
397
        install --mode=u=rwx,go=rx \
466
398
                --target-directory=$(LIBDIR)/mandos plugin-runner
467
399
        install --mode=u=rwx,go=rx \
468
 
                --target-directory=$(LIBDIR)/mandos \
469
 
                mandos-to-cryptroot-unlock
 
400
                --target-directory=$(LIBDIR)/mandos mandos-to-cryptroot-unlock
470
401
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
471
402
                mandos-keygen
472
403
        install --mode=u=rwx,go=rx \
500
431
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos
501
432
        install initramfs-tools-script-stop \
502
433
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos
503
 
        install --directory $(DRACUTMODULE)
504
 
        install --mode=u=rw,go=r --target-directory=$(DRACUTMODULE) \
505
 
                dracut-module/ask-password-mandos.path \
506
 
                dracut-module/ask-password-mandos.service
507
 
        install --mode=u=rwxs,go=rx \
508
 
                --target-directory=$(DRACUTMODULE) \
509
 
                dracut-module/module-setup.sh \
510
 
                dracut-module/cmdline-mandos.sh \
511
 
                dracut-module/password-agent
512
434
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
513
435
        gzip --best --to-stdout mandos-keygen.8 \
514
436
                > $(MANDIR)/man8/mandos-keygen.8.gz
526
448
                > $(MANDIR)/man8/askpass-fifo.8mandos.gz
527
449
        gzip --best --to-stdout plugins.d/plymouth.8mandos \
528
450
                > $(MANDIR)/man8/plymouth.8mandos.gz
529
 
        gzip --best --to-stdout dracut-module/password-agent.8mandos \
530
 
                > $(MANDIR)/man8/password-agent.8mandos.gz
531
451
 
532
 
.PHONY: install-client
533
452
install-client: install-client-nokey
534
453
# Post-installation stuff
535
454
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
536
 
        if command -v update-initramfs >/dev/null; then \
537
 
            update-initramfs -k all -u; \
538
 
        elif command -v dracut >/dev/null; then \
539
 
            for initrd in $(DESTDIR)/boot/initr*-$(LINUXVERSION); do \
540
 
                if [ -w "$$initrd" ]; then \
541
 
                    chmod go-r "$$initrd"; \
542
 
                    dracut --force "$$initrd"; \
543
 
                fi; \
544
 
            done; \
545
 
        fi
 
455
        update-initramfs -k all -u
546
456
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
547
457
 
548
 
.PHONY: uninstall
549
458
uninstall: uninstall-server uninstall-client
550
459
 
551
 
.PHONY: uninstall-server
552
460
uninstall-server:
553
461
        -rm --force $(PREFIX)/sbin/mandos \
554
462
                $(PREFIX)/sbin/mandos-ctl \
561
469
        update-rc.d -f mandos remove
562
470
        -rmdir $(CONFDIR)
563
471
 
564
 
.PHONY: uninstall-client
565
472
uninstall-client:
566
473
# Refuse to uninstall client if /etc/crypttab is explicitly configured
567
474
# to use it.
578
485
                $(INITRAMFSTOOLS)/hooks/mandos \
579
486
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos \
580
487
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos \
581
 
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos \
582
 
                $(DRACUTMODULE)/ask-password-mandos.path \
583
 
                $(DRACUTMODULE)/ask-password-mandos.service \
584
 
                $(DRACUTMODULE)/module-setup.sh \
585
 
                $(DRACUTMODULE)/cmdline-mandos.sh \
586
 
                $(DRACUTMODULE)/password-agent \
587
488
                $(MANDIR)/man8/mandos-keygen.8.gz \
588
489
                $(MANDIR)/man8/plugin-runner.8mandos.gz \
589
490
                $(MANDIR)/man8/mandos-client.8mandos.gz
592
493
                $(MANDIR)/man8/splashy.8mandos.gz \
593
494
                $(MANDIR)/man8/askpass-fifo.8mandos.gz \
594
495
                $(MANDIR)/man8/plymouth.8mandos.gz \
595
 
                $(MANDIR)/man8/password-agent.8mandos.gz \
596
496
        -rmdir $(LIBDIR)/mandos/plugins.d $(CONFDIR)/plugins.d \
597
 
                 $(LIBDIR)/mandos $(CONFDIR) $(KEYDIR) $(DRACUTMODULE)
598
 
        if command -v update-initramfs >/dev/null; then \
599
 
            update-initramfs -k all -u; \
600
 
        elif command -v dracut >/dev/null; then \
601
 
            for initrd in $(DESTDIR)/boot/initr*-$(LINUXVERSION); do \
602
 
                test -w "$$initrd" && dracut --force "$$initrd"; \
603
 
            done; \
604
 
        fi
 
497
                 $(LIBDIR)/mandos $(CONFDIR) $(KEYDIR)
 
498
        update-initramfs -k all -u
605
499
 
606
 
.PHONY: purge
607
500
purge: purge-server purge-client
608
501
 
609
 
.PHONY: purge-server
610
502
purge-server: uninstall-server
611
503
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
612
504
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
617
509
                $(DESTDIR)/var/run/mandos.pid
618
510
        -rmdir $(CONFDIR)
619
511
 
620
 
.PHONY: purge-client
621
512
purge-client: uninstall-client
622
513
        -shred --remove $(KEYDIR)/seckey.txt $(KEYDIR)/tls-privkey.pem
623
514
        -rm --force $(CONFDIR)/plugin-runner.conf \