/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: 2019-07-29 16:35:53 UTC
  • mto: This revision was merged to the branch mainline in revision 384.
  • Revision ID: teddy@recompile.se-20190729163553-1i442i2cbx64c537
Make tests and man page examples match

Make the tests test_manual_page_example[1-5] match exactly what is
written in the manual page, and add comments to manual page as
reminders to keep tests and manual page examples in sync.

* mandos-ctl (Test_commands_from_options.test_manual_page_example_1):
  Remove "--verbose" option, since the manual does not have it as the
  first example, and change assertion to match.
* mandos-ctl.xml (EXAMPLE): Add comments to all examples documenting
  which test function they correspond to.  Also remove unnecessary
  quotes from option arguments in fourth example, and clarify language
  slightly in fifth example.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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:=-fstack-protector-all -fPIC
33
 
CPPFLAGS+=-D_FORTIFY_SOURCE=3
 
32
FORTIFY:=-D_FORTIFY_SOURCE=2 -fstack-protector-all -fPIC
34
33
LINK_FORTIFY_LD:=-z relro -z now
35
34
LINK_FORTIFY:=
36
35
 
42
41
#COVERAGE=--coverage
43
42
OPTIMIZE:=-Os -fno-strict-aliasing
44
43
LANGUAGE:=-std=gnu11
45
 
CPPFLAGS+=-D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
46
44
htmldir:=man
47
 
version:=1.8.16
 
45
version:=1.8.4
48
46
SED:=sed
49
 
PKG_CONFIG?=pkg-config
50
47
 
51
48
USER:=$(firstword $(subst :, ,$(shell getent passwd _mandos \
52
49
        || getent passwd nobody || echo 65534)))
53
50
GROUP:=$(firstword $(subst :, ,$(shell getent group _mandos \
54
51
        || getent group nogroup || echo 65534)))
55
52
 
56
 
LINUXVERSION:=$(shell uname --kernel-release)
57
 
 
58
53
## Use these settings for a traditional /usr/local install
59
54
# PREFIX:=$(DESTDIR)/usr/local
60
55
# CONFDIR:=$(DESTDIR)/etc/mandos
64
59
# DRACUTMODULE:=$(DESTDIR)/usr/lib/dracut/modules.d/90mandos
65
60
# STATEDIR:=$(DESTDIR)/var/lib/mandos
66
61
# LIBDIR:=$(PREFIX)/lib
67
 
# DBUSPOLICYDIR:=$(DESTDIR)/etc/dbus-1/system.d
68
62
##
69
63
 
70
64
## These settings are for a package-type install
77
71
STATEDIR:=$(DESTDIR)/var/lib/mandos
78
72
LIBDIR:=$(shell \
79
73
        for d in \
80
 
        "/usr/lib/`dpkg-architecture \
81
 
                        -qDEB_HOST_MULTIARCH 2>/dev/null`" \
 
74
        "/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null`" \
82
75
        "`rpm --eval='%{_libdir}' 2>/dev/null`" /usr/lib; do \
83
76
                if [ -d "$$d" -a "$$d" = "$${d%/}" ]; then \
84
77
                        echo "$(DESTDIR)$$d"; \
85
78
                        break; \
86
79
                fi; \
87
80
        done)
88
 
DBUSPOLICYDIR:=$(DESTDIR)/usr/share/dbus-1/system.d
89
81
##
90
82
 
91
 
SYSTEMD:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
92
 
                        --variable=systemdsystemunitdir)
93
 
TMPFILES:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
94
 
                        --variable=tmpfilesdir)
95
 
SYSUSERS:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
96
 
                        --variable=sysusersdir)
 
83
SYSTEMD:=$(DESTDIR)$(shell pkg-config systemd --variable=systemdsystemunitdir)
 
84
TMPFILES:=$(DESTDIR)$(shell pkg-config systemd --variable=tmpfilesdir)
97
85
 
98
 
GNUTLS_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I gnutls)
99
 
GNUTLS_LIBS:=$(shell $(PKG_CONFIG) --libs gnutls)
100
 
AVAHI_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I avahi-core)
101
 
AVAHI_LIBS:=$(shell $(PKG_CONFIG) --libs avahi-core)
102
 
GPGME_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I gpgme 2>/dev/null \
103
 
        || gpgme-config --cflags; getconf LFS_CFLAGS)
104
 
GPGME_LIBS:=$(shell $(PKG_CONFIG) --libs gpgme 2>/dev/null \
105
 
        || gpgme-config --libs; getconf LFS_LIBS; \
 
86
GNUTLS_CFLAGS:=$(shell pkg-config --cflags-only-I gnutls)
 
87
GNUTLS_LIBS:=$(shell pkg-config --libs gnutls)
 
88
AVAHI_CFLAGS:=$(shell pkg-config --cflags-only-I avahi-core)
 
89
AVAHI_LIBS:=$(shell pkg-config --libs avahi-core)
 
90
GPGME_CFLAGS:=$(shell gpgme-config --cflags; getconf LFS_CFLAGS)
 
91
GPGME_LIBS:=$(shell gpgme-config --libs; getconf LFS_LIBS; \
106
92
        getconf LFS_LDFLAGS)
107
 
LIBNL3_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I libnl-route-3.0)
108
 
LIBNL3_LIBS:=$(shell $(PKG_CONFIG) --libs libnl-route-3.0)
109
 
GLIB_CFLAGS:=$(shell $(PKG_CONFIG) --cflags glib-2.0)
110
 
GLIB_LIBS:=$(shell $(PKG_CONFIG) --libs glib-2.0)
 
93
LIBNL3_CFLAGS:=$(shell pkg-config --cflags-only-I libnl-route-3.0)
 
94
LIBNL3_LIBS:=$(shell pkg-config --libs libnl-route-3.0)
 
95
GLIB_CFLAGS:=$(shell pkg-config --cflags glib-2.0)
 
96
GLIB_LIBS:=$(shell pkg-config --libs glib-2.0)
111
97
 
112
98
# Do not change these two
113
 
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) $(OPTIMIZE) \
114
 
        $(LANGUAGE) -DVERSION='"$(version)"'
 
99
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) \
 
100
        $(OPTIMIZE) $(LANGUAGE) -DVERSION='"$(version)"'
115
101
LDFLAGS+=-Xlinker --as-needed $(COVERAGE) $(LINK_FORTIFY) $(strip \
116
102
        ) $(foreach flag,$(LINK_FORTIFY_LD),-Xlinker $(flag))
117
103
 
161
147
 
162
148
objects:=$(addsuffix .o,$(CPROGS))
163
149
 
164
 
.PHONY: all
165
150
all: $(PROGS) mandos.lsm
166
151
 
167
 
.PHONY: doc
168
152
doc: $(DOCS)
169
153
 
170
 
.PHONY: html
171
154
html: $(htmldocs)
172
155
 
173
156
%.5: %.xml common.ent legalnotice.xml
290
273
                $@)
291
274
 
292
275
# Need to add the GnuTLS, Avahi and GPGME libraries
293
 
plugins.d/mandos-client: CFLAGS += $(GNUTLS_CFLAGS) $(strip \
294
 
        ) $(AVAHI_CFLAGS) $(GPGME_CFLAGS)
295
 
plugins.d/mandos-client: LDLIBS += $(GNUTLS_LIBS) $(strip \
296
 
        ) $(AVAHI_LIBS) $(GPGME_LIBS)
 
276
plugins.d/mandos-client: plugins.d/mandos-client.c
 
277
        $(LINK.c) $^ $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(strip\
 
278
                ) $(GPGME_CFLAGS) $(GNUTLS_LIBS) $(strip\
 
279
                ) $(AVAHI_LIBS) $(GPGME_LIBS) $(LOADLIBES) $(strip\
 
280
                ) $(LDLIBS) -o $@
297
281
 
298
282
# Need to add the libnl-route library
299
 
plugin-helpers/mandos-client-iprouteadddel: CFLAGS += $(LIBNL3_CFLAGS)
300
 
plugin-helpers/mandos-client-iprouteadddel: LDLIBS += $(LIBNL3_LIBS)
 
283
plugin-helpers/mandos-client-iprouteadddel: plugin-helpers/mandos-client-iprouteadddel.c
 
284
        $(LINK.c) $(LIBNL3_CFLAGS) $^ $(LIBNL3_LIBS) $(strip\
 
285
                ) $(LOADLIBES) $(LDLIBS) -o $@
301
286
 
302
287
# Need to add the GLib and pthread libraries
303
 
dracut-module/password-agent: CFLAGS += $(GLIB_CFLAGS)
304
 
# Note: -lpthread is unnecessary with the GNU C library 2.34 or later
305
 
dracut-module/password-agent: LDLIBS += $(GLIB_LIBS) -lpthread
306
 
 
307
 
.PHONY: clean
 
288
dracut-module/password-agent: dracut-module/password-agent.c
 
289
        $(LINK.c) $(GLIB_CFLAGS) $^ $(GLIB_LIBS) -lpthread $(strip\
 
290
                ) $(LOADLIBES) $(LDLIBS) -o $@
 
291
 
 
292
.PHONY : all doc html clean distclean mostlyclean maintainer-clean \
 
293
        check run-client run-server install install-html \
 
294
        install-server install-client-nokey install-client uninstall \
 
295
        uninstall-server uninstall-client purge purge-server \
 
296
        purge-client
 
297
 
308
298
clean:
309
299
        -rm --force $(CPROGS) $(objects) $(htmldocs) $(DOCS) core
310
300
 
311
 
.PHONY: distclean
312
301
distclean: clean
313
 
.PHONY: mostlyclean
314
302
mostlyclean: clean
315
 
.PHONY: maintainer-clean
316
303
maintainer-clean: clean
317
304
        -rm --force --recursive keydir confdir statedir
318
305
 
319
 
.PHONY: check
320
306
check: all
321
307
        ./mandos --check
322
308
        ./mandos-ctl --check
326
312
        ./dracut-module/password-agent --test
327
313
 
328
314
# Run the client with a local config and key
329
 
.PHONY: run-client
330
 
run-client: all keydir/seckey.txt keydir/pubkey.txt \
331
 
                        keydir/tls-privkey.pem keydir/tls-pubkey.pem
332
 
        @echo '######################################################'
333
 
        @echo '# The following error messages are harmless and can  #'
334
 
        @echo '#  be safely ignored:                                #'
335
 
        @echo '## From plugin-runner:                               #'
336
 
        @echo '# setgid: Operation not permitted                    #'
337
 
        @echo '# setuid: Operation not permitted                    #'
338
 
        @echo '## From askpass-fifo:                                #'
339
 
        @echo '# mkfifo: Permission denied                          #'
340
 
        @echo '## From mandos-client:                               #'
341
 
        @echo '# Failed to raise privileges: Operation not permi... #'
342
 
        @echo '# Warning: network hook "*" exited with status *     #'
343
 
        @echo '# ioctl SIOCSIFFLAGS +IFF_UP: Operation not permi... #'
344
 
        @echo '# Failed to bring up interface "*": Operation not... #'
345
 
        @echo '#                                                    #'
346
 
        @echo '# (The messages are caused by not running as root,   #'
347
 
        @echo '# but you should NOT run "make run-client" as root   #'
348
 
        @echo '# unless you also unpacked and compiled Mandos as    #'
349
 
        @echo '# root, which is also NOT recommended.)              #'
350
 
        @echo '######################################################'
 
315
run-client: all keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem
 
316
        @echo "###################################################################"
 
317
        @echo "# The following error messages are harmless and can be safely     #"
 
318
        @echo "# ignored:                                                        #"
 
319
        @echo "# From plugin-runner: setgid: Operation not permitted             #"
 
320
        @echo "#                     setuid: Operation not permitted             #"
 
321
        @echo "# From askpass-fifo:  mkfifo: Permission denied                   #"
 
322
        @echo "# From mandos-client:                                             #"
 
323
        @echo "#             Failed to raise privileges: Operation not permitted #"
 
324
        @echo "#             Warning: network hook \"*\" exited with status *      #"
 
325
        @echo "#                                                                 #"
 
326
        @echo "# (The messages are caused by not running as root, but you should #"
 
327
        @echo "# NOT run \"make run-client\" as root unless you also unpacked and  #"
 
328
        @echo "# compiled Mandos as root, which is also NOT recommended.)        #"
 
329
        @echo "###################################################################"
351
330
# We set GNOME_KEYRING_CONTROL to block pam_gnome_keyring
352
331
        ./plugin-runner --plugin-dir=plugins.d \
353
332
                --plugin-helper-dir=plugin-helpers \
360
339
keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem: mandos-keygen
361
340
        install --directory keydir
362
341
        ./mandos-keygen --dir keydir --force
363
 
        if ! [ -e keydir/tls-privkey.pem ]; then \
364
 
                install --mode=u=rw /dev/null keydir/tls-privkey.pem; \
365
 
        fi
366
 
        if ! [ -e keydir/tls-pubkey.pem ]; then \
367
 
                install --mode=u=rw /dev/null keydir/tls-pubkey.pem; \
368
 
        fi
369
342
 
370
343
# Run the server with a local config
371
 
.PHONY: run-server
372
344
run-server: confdir/mandos.conf confdir/clients.conf statedir
373
345
        ./mandos --debug --no-dbus --configdir=confdir \
374
346
                --statedir=statedir $(SERVERARGS)
375
347
 
376
348
# Used by run-server
377
349
confdir/mandos.conf: mandos.conf
378
 
        install -D --mode=u=rw,go=r $^ $@
 
350
        install --directory confdir
 
351
        install --mode=u=rw,go=r $^ $@
379
352
confdir/clients.conf: clients.conf keydir/seckey.txt keydir/tls-pubkey.pem
380
 
        install -D --mode=u=rw $< $@
 
353
        install --directory confdir
 
354
        install --mode=u=rw $< $@
381
355
# Add a client password
382
356
        ./mandos-keygen --dir keydir --password --no-ssh >> $@
383
357
statedir:
384
358
        install --directory statedir
385
359
 
386
 
.PHONY: install
387
360
install: install-server install-client-nokey
388
361
 
389
 
.PHONY: install-html
390
362
install-html: html
391
 
        install -D --mode=u=rw,go=r --target-directory=$(htmldir) \
 
363
        install --directory $(htmldir)
 
364
        install --mode=u=rw,go=r --target-directory=$(htmldir) \
392
365
                $(htmldocs)
393
366
 
394
 
.PHONY: install-server
395
367
install-server: doc
 
368
        install --directory $(CONFDIR)
396
369
        if install --directory --mode=u=rwx --owner=$(USER) \
397
370
                --group=$(GROUP) $(STATEDIR); then \
398
371
                :; \
399
372
        elif install --directory --mode=u=rwx $(STATEDIR); then \
400
373
                chown -- $(USER):$(GROUP) $(STATEDIR) || :; \
401
374
        fi
402
 
        if [ "$(TMPFILES)" != "$(DESTDIR)" ]; then \
403
 
                install -D --mode=u=rw,go=r tmpfiles.d-mandos.conf \
 
375
        if [ "$(TMPFILES)" != "$(DESTDIR)" -a -d "$(TMPFILES)" ]; then \
 
376
                install --mode=u=rw,go=r tmpfiles.d-mandos.conf \
404
377
                        $(TMPFILES)/mandos.conf; \
405
378
        fi
406
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" ]; then \
407
 
                install -D --mode=u=rw,go=r sysusers.d-mandos.conf \
408
 
                        $(SYSUSERS)/mandos.conf; \
409
 
        fi
410
 
        install --directory $(PREFIX)/sbin
411
 
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
412
 
                mandos
 
379
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
413
380
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
414
381
                mandos-ctl
415
382
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
416
383
                mandos-monitor
417
 
        install --directory $(CONFDIR)
418
384
        install --mode=u=rw,go=r --target-directory=$(CONFDIR) \
419
385
                mandos.conf
420
386
        install --mode=u=rw --target-directory=$(CONFDIR) \
421
387
                clients.conf
422
 
        install -D --mode=u=rw,go=r dbus-mandos.conf \
423
 
                $(DBUSPOLICYDIR)/mandos.conf
424
 
        install -D --mode=u=rwx,go=rx init.d-mandos \
 
388
        install --mode=u=rw,go=r dbus-mandos.conf \
 
389
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
 
390
        install --mode=u=rwx,go=rx init.d-mandos \
425
391
                $(DESTDIR)/etc/init.d/mandos
426
 
        if [ "$(SYSTEMD)" != "$(DESTDIR)" ]; then \
427
 
                install -D --mode=u=rw,go=r mandos.service \
428
 
                        $(SYSTEMD); \
 
392
        if [ "$(SYSTEMD)" != "$(DESTDIR)" -a -d "$(SYSTEMD)" ]; then \
 
393
                install --mode=u=rw,go=r mandos.service $(SYSTEMD); \
429
394
        fi
430
 
        install -D --mode=u=rw,go=r default-mandos \
 
395
        install --mode=u=rw,go=r default-mandos \
431
396
                $(DESTDIR)/etc/default/mandos
432
397
        if [ -z $(DESTDIR) ]; then \
433
398
                update-rc.d mandos defaults 25 15;\
434
399
        fi
435
 
        install --directory $(MANDIR)/man8 $(MANDIR)/man5
436
400
        gzip --best --to-stdout mandos.8 \
437
401
                > $(MANDIR)/man8/mandos.8.gz
438
402
        gzip --best --to-stdout mandos-monitor.8 \
446
410
        gzip --best --to-stdout intro.8mandos \
447
411
                > $(MANDIR)/man8/intro.8mandos.gz
448
412
 
449
 
.PHONY: install-client-nokey
450
413
install-client-nokey: all doc
 
414
        install --directory $(LIBDIR)/mandos $(CONFDIR)
451
415
        install --directory --mode=u=rwx $(KEYDIR) \
452
416
                $(LIBDIR)/mandos/plugins.d \
453
417
                $(LIBDIR)/mandos/plugin-helpers
454
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" ]; then \
455
 
                install -D --mode=u=rw,go=r sysusers.d-mandos.conf \
456
 
                        $(SYSUSERS)/mandos-client.conf; \
457
 
        fi
458
418
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
459
 
                install --directory \
460
 
                        --mode=u=rwx "$(CONFDIR)/plugins.d" \
 
419
                install --mode=u=rwx \
 
420
                        --directory "$(CONFDIR)/plugins.d" \
461
421
                        "$(CONFDIR)/plugin-helpers"; \
462
422
        fi
463
 
        install --directory --mode=u=rwx,go=rx \
 
423
        install --mode=u=rwx,go=rx --directory \
464
424
                "$(CONFDIR)/network-hooks.d"
465
425
        install --mode=u=rwx,go=rx \
466
426
                --target-directory=$(LIBDIR)/mandos plugin-runner
467
427
        install --mode=u=rwx,go=rx \
468
 
                --target-directory=$(LIBDIR)/mandos \
469
 
                mandos-to-cryptroot-unlock
470
 
        install --directory $(PREFIX)/sbin
 
428
                --target-directory=$(LIBDIR)/mandos mandos-to-cryptroot-unlock
471
429
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
472
430
                mandos-keygen
473
431
        install --mode=u=rwx,go=rx \
491
449
        install --mode=u=rwx,go=rx \
492
450
                --target-directory=$(LIBDIR)/mandos/plugin-helpers \
493
451
                plugin-helpers/mandos-client-iprouteadddel
494
 
        install -D initramfs-tools-hook \
 
452
        install initramfs-tools-hook \
495
453
                $(INITRAMFSTOOLS)/hooks/mandos
496
 
        install -D --mode=u=rw,go=r initramfs-tools-conf \
 
454
        install --mode=u=rw,go=r initramfs-tools-conf \
497
455
                $(INITRAMFSTOOLS)/conf.d/mandos-conf
498
 
        install -D --mode=u=rw,go=r initramfs-tools-conf-hook \
 
456
        install --mode=u=rw,go=r initramfs-tools-conf-hook \
499
457
                $(INITRAMFSTOOLS)/conf-hooks.d/zz-mandos
500
 
        install -D initramfs-tools-script \
 
458
        install initramfs-tools-script \
501
459
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos
502
 
        install -D initramfs-tools-script-stop \
 
460
        install initramfs-tools-script-stop \
503
461
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos
504
 
        install -D --mode=u=rw,go=r \
505
 
                --target-directory=$(DRACUTMODULE) \
 
462
        install --directory $(DRACUTMODULE)
 
463
        install --mode=u=rw,go=r --target-directory=$(DRACUTMODULE) \
506
464
                dracut-module/ask-password-mandos.path \
507
465
                dracut-module/ask-password-mandos.service
508
466
        install --mode=u=rwxs,go=rx \
511
469
                dracut-module/cmdline-mandos.sh \
512
470
                dracut-module/password-agent
513
471
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
514
 
        install --directory $(MANDIR)/man8
515
472
        gzip --best --to-stdout mandos-keygen.8 \
516
473
                > $(MANDIR)/man8/mandos-keygen.8.gz
517
474
        gzip --best --to-stdout plugin-runner.8mandos \
531
488
        gzip --best --to-stdout dracut-module/password-agent.8mandos \
532
489
                > $(MANDIR)/man8/password-agent.8mandos.gz
533
490
 
534
 
.PHONY: install-client
535
491
install-client: install-client-nokey
536
492
# Post-installation stuff
537
493
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
538
494
        if command -v update-initramfs >/dev/null; then \
539
495
            update-initramfs -k all -u; \
540
496
        elif command -v dracut >/dev/null; then \
541
 
            for initrd in $(DESTDIR)/boot/initr*-$(LINUXVERSION); do \
 
497
            for initrd in $(DESTDIR)/boot/initr*-$(shell uname --kernel-release); do \
542
498
                if [ -w "$$initrd" ]; then \
543
499
                    chmod go-r "$$initrd"; \
544
500
                    dracut --force "$$initrd"; \
547
503
        fi
548
504
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
549
505
 
550
 
.PHONY: uninstall
551
506
uninstall: uninstall-server uninstall-client
552
507
 
553
 
.PHONY: uninstall-server
554
508
uninstall-server:
555
509
        -rm --force $(PREFIX)/sbin/mandos \
556
510
                $(PREFIX)/sbin/mandos-ctl \
563
517
        update-rc.d -f mandos remove
564
518
        -rmdir $(CONFDIR)
565
519
 
566
 
.PHONY: uninstall-client
567
520
uninstall-client:
568
521
# Refuse to uninstall client if /etc/crypttab is explicitly configured
569
522
# to use it.
600
553
        if command -v update-initramfs >/dev/null; then \
601
554
            update-initramfs -k all -u; \
602
555
        elif command -v dracut >/dev/null; then \
603
 
            for initrd in $(DESTDIR)/boot/initr*-$(LINUXVERSION); do \
 
556
            for initrd in $(DESTDIR)/boot/initr*-$(shell uname --kernel-release); do \
604
557
                test -w "$$initrd" && dracut --force "$$initrd"; \
605
558
            done; \
606
559
        fi
607
560
 
608
 
.PHONY: purge
609
561
purge: purge-server purge-client
610
562
 
611
 
.PHONY: purge-server
612
563
purge-server: uninstall-server
613
564
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
614
565
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
615
566
                $(DESTDIR)/etc/default/mandos \
616
567
                $(DESTDIR)/etc/init.d/mandos \
 
568
                $(SYSTEMD)/mandos.service \
617
569
                $(DESTDIR)/run/mandos.pid \
618
570
                $(DESTDIR)/var/run/mandos.pid
619
 
        if [ "$(SYSTEMD)" != "$(DESTDIR)" -a -d "$(SYSTEMD)" ]; then \
620
 
                -rm --force -- $(SYSTEMD)/mandos.service; \
621
 
        fi
622
571
        -rmdir $(CONFDIR)
623
572
 
624
 
.PHONY: purge-client
625
573
purge-client: uninstall-client
626
574
        -shred --remove $(KEYDIR)/seckey.txt $(KEYDIR)/tls-privkey.pem
627
575
        -rm --force $(CONFDIR)/plugin-runner.conf \