/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.14
 
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)
 
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)
99
86
GPGME_CFLAGS:=$(shell gpgme-config --cflags; getconf LFS_CFLAGS)
100
87
GPGME_LIBS:=$(shell gpgme-config --libs; getconf LFS_LIBS; \
101
88
        getconf LFS_LDFLAGS)
102
 
LIBNL3_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I libnl-route-3.0)
103
 
LIBNL3_LIBS:=$(shell $(PKG_CONFIG) --libs libnl-route-3.0)
104
 
GLIB_CFLAGS:=$(shell $(PKG_CONFIG) --cflags glib-2.0)
105
 
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)
106
91
 
107
92
# Do not change these two
108
 
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
109
 
        $(LANGUAGE) $(FEATURES) -DVERSION='"$(version)"'
110
 
LDFLAGS+=-Xlinker --as-needed $(COVERAGE) $(LINK_FORTIFY) $(strip \
111
 
        ) $(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))
112
96
 
113
97
# Commands to format a DocBook <refentry> document into a manual page
114
98
DOCBOOKTOMAN=$(strip cd $(dir $<); xsltproc --nonet --xinclude \
120
104
        /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
121
105
        $(notdir $<); \
122
106
        if locale --all 2>/dev/null | grep --regexp='^en_US\.utf8$$' \
123
 
        && command -v man >/dev/null; then LANG=en_US.UTF-8 \
124
 
        MANWIDTH=80 man --warnings --encoding=UTF-8 --local-file \
125
 
        $(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)
126
110
 
127
111
DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \
128
112
        --param make.year.ranges                1 \
141
125
        plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo \
142
126
        plugins.d/plymouth
143
127
PLUGIN_HELPERS:=plugin-helpers/mandos-client-iprouteadddel
144
 
CPROGS:=plugin-runner dracut-module/password-agent $(PLUGINS) \
145
 
        $(PLUGIN_HELPERS)
 
128
CPROGS:=plugin-runner $(PLUGINS) $(PLUGIN_HELPERS)
146
129
PROGS:=mandos mandos-keygen mandos-ctl mandos-monitor $(CPROGS)
147
130
DOCS:=mandos.8 mandos-keygen.8 mandos-monitor.8 mandos-ctl.8 \
148
131
        mandos.conf.5 mandos-clients.conf.5 plugin-runner.8mandos \
149
 
        dracut-module/password-agent.8mandos \
150
132
        plugins.d/mandos-client.8mandos \
151
133
        plugins.d/password-prompt.8mandos plugins.d/usplash.8mandos \
152
134
        plugins.d/splashy.8mandos plugins.d/askpass-fifo.8mandos \
156
138
 
157
139
objects:=$(addsuffix .o,$(CPROGS))
158
140
 
159
 
.PHONY: all
160
141
all: $(PROGS) mandos.lsm
161
142
 
162
 
.PHONY: doc
163
143
doc: $(DOCS)
164
144
 
165
 
.PHONY: html
166
145
html: $(htmldocs)
167
146
 
168
147
%.5: %.xml common.ent legalnotice.xml
227
206
                overview.xml legalnotice.xml
228
207
        $(DOCBOOKTOHTML)
229
208
 
230
 
dracut-module/password-agent.8mandos: \
231
 
                dracut-module/password-agent.xml common.ent \
232
 
                overview.xml legalnotice.xml
233
 
        $(DOCBOOKTOMAN)
234
 
dracut-module/password-agent.8mandos.xhtml: \
235
 
                dracut-module/password-agent.xml common.ent \
236
 
                overview.xml legalnotice.xml
237
 
        $(DOCBOOKTOHTML)
238
 
 
239
209
plugins.d/mandos-client.8mandos: plugins.d/mandos-client.xml \
240
210
                                        common.ent \
241
211
                                        mandos-options.xml \
285
255
                $@)
286
256
 
287
257
# Need to add the GnuTLS, Avahi and GPGME libraries
288
 
plugins.d/mandos-client: CFLAGS += $(GNUTLS_CFLAGS) $(strip \
289
 
        ) $(AVAHI_CFLAGS) $(GPGME_CFLAGS)
290
 
plugins.d/mandos-client: LDLIBS += $(GNUTLS_LIBS) $(strip \
291
 
        ) $(AVAHI_LIBS) $(GPGME_LIBS)
292
 
 
293
 
# Need to add the libnl-route library
294
 
plugin-helpers/mandos-client-iprouteadddel: CFLAGS += $(LIBNL3_CFLAGS)
295
 
plugin-helpers/mandos-client-iprouteadddel: LDLIBS += $(LIBNL3_LIBS)
296
 
 
297
 
# Need to add the GLib and pthread libraries
298
 
dracut-module/password-agent: CFLAGS += $(GLIB_CFLAGS)
299
 
# Note: -lpthread is unnecessary with the GNU C library 2.34 or later
300
 
dracut-module/password-agent: LDLIBS += $(GLIB_LIBS) -lpthread
301
 
 
302
 
.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
 
303
274
clean:
304
275
        -rm --force $(CPROGS) $(objects) $(htmldocs) $(DOCS) core
305
276
 
306
 
.PHONY: distclean
307
277
distclean: clean
308
 
.PHONY: mostlyclean
309
278
mostlyclean: clean
310
 
.PHONY: maintainer-clean
311
279
maintainer-clean: clean
312
280
        -rm --force --recursive keydir confdir statedir
313
281
 
314
 
.PHONY: check
315
 
check: all
 
282
check:  all
316
283
        ./mandos --check
317
284
        ./mandos-ctl --check
318
 
        ./mandos-keygen --version
319
 
        ./plugin-runner --version
320
 
        ./plugin-helpers/mandos-client-iprouteadddel --version
321
 
        ./dracut-module/password-agent --test
322
285
 
323
286
# Run the client with a local config and key
324
 
.PHONY: run-client
325
 
run-client: all keydir/seckey.txt keydir/pubkey.txt \
326
 
                        keydir/tls-privkey.pem keydir/tls-pubkey.pem
327
 
        @echo '######################################################'
328
 
        @echo '# The following error messages are harmless and can  #'
329
 
        @echo '#  be safely ignored:                                #'
330
 
        @echo '## From plugin-runner:                               #'
331
 
        @echo '# setgid: Operation not permitted                    #'
332
 
        @echo '# setuid: Operation not permitted                    #'
333
 
        @echo '## From askpass-fifo:                                #'
334
 
        @echo '# mkfifo: Permission denied                          #'
335
 
        @echo '## From mandos-client:                               #'
336
 
        @echo '# Failed to raise privileges: Operation not permi... #'
337
 
        @echo '# Warning: network hook "*" exited with status *     #'
338
 
        @echo '# ioctl SIOCSIFFLAGS +IFF_UP: Operation not permi... #'
339
 
        @echo '# Failed to bring up interface "*": Operation not... #'
340
 
        @echo '#                                                    #'
341
 
        @echo '# (The messages are caused by not running as root,   #'
342
 
        @echo '# but you should NOT run "make run-client" as root   #'
343
 
        @echo '# unless you also unpacked and compiled Mandos as    #'
344
 
        @echo '# root, which is also NOT recommended.)              #'
345
 
        @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 "###################################################################"
346
302
# We set GNOME_KEYRING_CONTROL to block pam_gnome_keyring
347
303
        ./plugin-runner --plugin-dir=plugins.d \
348
304
                --plugin-helper-dir=plugin-helpers \
355
311
keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem: mandos-keygen
356
312
        install --directory keydir
357
313
        ./mandos-keygen --dir keydir --force
358
 
        if ! [ -e keydir/tls-privkey.pem ]; then \
359
 
                install --mode=u=rw /dev/null keydir/tls-privkey.pem; \
360
 
        fi
361
 
        if ! [ -e keydir/tls-pubkey.pem ]; then \
362
 
                install --mode=u=rw /dev/null keydir/tls-pubkey.pem; \
363
 
        fi
364
314
 
365
315
# Run the server with a local config
366
 
.PHONY: run-server
367
316
run-server: confdir/mandos.conf confdir/clients.conf statedir
368
317
        ./mandos --debug --no-dbus --configdir=confdir \
369
318
                --statedir=statedir $(SERVERARGS)
380
329
statedir:
381
330
        install --directory statedir
382
331
 
383
 
.PHONY: install
384
332
install: install-server install-client-nokey
385
333
 
386
 
.PHONY: install-html
387
334
install-html: html
388
335
        install --directory $(htmldir)
389
336
        install --mode=u=rw,go=r --target-directory=$(htmldir) \
390
337
                $(htmldocs)
391
338
 
392
 
.PHONY: install-server
393
339
install-server: doc
394
340
        install --directory $(CONFDIR)
395
341
        if install --directory --mode=u=rwx --owner=$(USER) \
398
344
        elif install --directory --mode=u=rwx $(STATEDIR); then \
399
345
                chown -- $(USER):$(GROUP) $(STATEDIR) || :; \
400
346
        fi
401
 
        if [ "$(TMPFILES)" != "$(DESTDIR)" \
402
 
                        -a -d "$(TMPFILES)" ]; then \
 
347
        if [ "$(TMPFILES)" != "$(DESTDIR)" -a -d "$(TMPFILES)" ]; then \
403
348
                install --mode=u=rw,go=r tmpfiles.d-mandos.conf \
404
349
                        $(TMPFILES)/mandos.conf; \
405
350
        fi
406
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
407
 
                        -a -d "$(SYSUSERS)" ]; then \
408
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
409
 
                        $(SYSUSERS)/mandos.conf; \
410
 
        fi
411
351
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
412
352
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
413
353
                mandos-ctl
442
382
        gzip --best --to-stdout intro.8mandos \
443
383
                > $(MANDIR)/man8/intro.8mandos.gz
444
384
 
445
 
.PHONY: install-client-nokey
446
385
install-client-nokey: all doc
447
386
        install --directory $(LIBDIR)/mandos $(CONFDIR)
448
387
        install --directory --mode=u=rwx $(KEYDIR) \
449
388
                $(LIBDIR)/mandos/plugins.d \
450
389
                $(LIBDIR)/mandos/plugin-helpers
451
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
452
 
                        -a -d "$(SYSUSERS)" ]; then \
453
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
454
 
                        $(SYSUSERS)/mandos-client.conf; \
455
 
        fi
456
390
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
457
391
                install --mode=u=rwx \
458
392
                        --directory "$(CONFDIR)/plugins.d" \
463
397
        install --mode=u=rwx,go=rx \
464
398
                --target-directory=$(LIBDIR)/mandos plugin-runner
465
399
        install --mode=u=rwx,go=rx \
466
 
                --target-directory=$(LIBDIR)/mandos \
467
 
                mandos-to-cryptroot-unlock
 
400
                --target-directory=$(LIBDIR)/mandos mandos-to-cryptroot-unlock
468
401
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
469
402
                mandos-keygen
470
403
        install --mode=u=rwx,go=rx \
498
431
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos
499
432
        install initramfs-tools-script-stop \
500
433
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos
501
 
        install --directory $(DRACUTMODULE)
502
 
        install --mode=u=rw,go=r --target-directory=$(DRACUTMODULE) \
503
 
                dracut-module/ask-password-mandos.path \
504
 
                dracut-module/ask-password-mandos.service
505
 
        install --mode=u=rwxs,go=rx \
506
 
                --target-directory=$(DRACUTMODULE) \
507
 
                dracut-module/module-setup.sh \
508
 
                dracut-module/cmdline-mandos.sh \
509
 
                dracut-module/password-agent
510
434
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
511
435
        gzip --best --to-stdout mandos-keygen.8 \
512
436
                > $(MANDIR)/man8/mandos-keygen.8.gz
524
448
                > $(MANDIR)/man8/askpass-fifo.8mandos.gz
525
449
        gzip --best --to-stdout plugins.d/plymouth.8mandos \
526
450
                > $(MANDIR)/man8/plymouth.8mandos.gz
527
 
        gzip --best --to-stdout dracut-module/password-agent.8mandos \
528
 
                > $(MANDIR)/man8/password-agent.8mandos.gz
529
451
 
530
 
.PHONY: install-client
531
452
install-client: install-client-nokey
532
453
# Post-installation stuff
533
454
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
534
 
        if command -v update-initramfs >/dev/null; then \
535
 
            update-initramfs -k all -u; \
536
 
        elif command -v dracut >/dev/null; then \
537
 
            for initrd in $(DESTDIR)/boot/initr*-$(LINUXVERSION); do \
538
 
                if [ -w "$$initrd" ]; then \
539
 
                    chmod go-r "$$initrd"; \
540
 
                    dracut --force "$$initrd"; \
541
 
                fi; \
542
 
            done; \
543
 
        fi
 
455
        update-initramfs -k all -u
544
456
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
545
457
 
546
 
.PHONY: uninstall
547
458
uninstall: uninstall-server uninstall-client
548
459
 
549
 
.PHONY: uninstall-server
550
460
uninstall-server:
551
461
        -rm --force $(PREFIX)/sbin/mandos \
552
462
                $(PREFIX)/sbin/mandos-ctl \
559
469
        update-rc.d -f mandos remove
560
470
        -rmdir $(CONFDIR)
561
471
 
562
 
.PHONY: uninstall-client
563
472
uninstall-client:
564
473
# Refuse to uninstall client if /etc/crypttab is explicitly configured
565
474
# to use it.
576
485
                $(INITRAMFSTOOLS)/hooks/mandos \
577
486
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos \
578
487
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos \
579
 
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos \
580
 
                $(DRACUTMODULE)/ask-password-mandos.path \
581
 
                $(DRACUTMODULE)/ask-password-mandos.service \
582
 
                $(DRACUTMODULE)/module-setup.sh \
583
 
                $(DRACUTMODULE)/cmdline-mandos.sh \
584
 
                $(DRACUTMODULE)/password-agent \
585
488
                $(MANDIR)/man8/mandos-keygen.8.gz \
586
489
                $(MANDIR)/man8/plugin-runner.8mandos.gz \
587
490
                $(MANDIR)/man8/mandos-client.8mandos.gz
590
493
                $(MANDIR)/man8/splashy.8mandos.gz \
591
494
                $(MANDIR)/man8/askpass-fifo.8mandos.gz \
592
495
                $(MANDIR)/man8/plymouth.8mandos.gz \
593
 
                $(MANDIR)/man8/password-agent.8mandos.gz \
594
496
        -rmdir $(LIBDIR)/mandos/plugins.d $(CONFDIR)/plugins.d \
595
 
                 $(LIBDIR)/mandos $(CONFDIR) $(KEYDIR) $(DRACUTMODULE)
596
 
        if command -v update-initramfs >/dev/null; then \
597
 
            update-initramfs -k all -u; \
598
 
        elif command -v dracut >/dev/null; then \
599
 
            for initrd in $(DESTDIR)/boot/initr*-$(LINUXVERSION); do \
600
 
                test -w "$$initrd" && dracut --force "$$initrd"; \
601
 
            done; \
602
 
        fi
 
497
                 $(LIBDIR)/mandos $(CONFDIR) $(KEYDIR)
 
498
        update-initramfs -k all -u
603
499
 
604
 
.PHONY: purge
605
500
purge: purge-server purge-client
606
501
 
607
 
.PHONY: purge-server
608
502
purge-server: uninstall-server
609
503
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
610
504
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
615
509
                $(DESTDIR)/var/run/mandos.pid
616
510
        -rmdir $(CONFDIR)
617
511
 
618
 
.PHONY: purge-client
619
512
purge-client: uninstall-client
620
513
        -shred --remove $(KEYDIR)/seckey.txt $(KEYDIR)/tls-privkey.pem
621
514
        -rm --force $(CONFDIR)/plugin-runner.conf \