/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-29 16:35:53 UTC
  • 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:
56
56
# KEYDIR:=$(DESTDIR)/etc/mandos/keys
57
57
# MANDIR:=$(PREFIX)/man
58
58
# INITRAMFSTOOLS:=$(DESTDIR)/etc/initramfs-tools
 
59
# DRACUTMODULE:=$(DESTDIR)/usr/lib/dracut/modules.d/90mandos
59
60
# STATEDIR:=$(DESTDIR)/var/lib/mandos
60
61
# LIBDIR:=$(PREFIX)/lib
61
62
##
66
67
KEYDIR:=$(DESTDIR)/etc/keys/mandos
67
68
MANDIR:=$(PREFIX)/share/man
68
69
INITRAMFSTOOLS:=$(DESTDIR)/usr/share/initramfs-tools
 
70
DRACUTMODULE:=$(DESTDIR)/usr/lib/dracut/modules.d/90mandos
69
71
STATEDIR:=$(DESTDIR)/var/lib/mandos
70
72
LIBDIR:=$(shell \
71
73
        for d in \
90
92
        getconf LFS_LDFLAGS)
91
93
LIBNL3_CFLAGS:=$(shell pkg-config --cflags-only-I libnl-route-3.0)
92
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)
93
97
 
94
98
# Do not change these two
95
99
CFLAGS+=$(WARN) $(DEBUG) $(FORTIFY) $(COVERAGE) \
107
111
        /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
108
112
        $(notdir $<); \
109
113
        if locale --all 2>/dev/null | grep --regexp='^en_US\.utf8$$' \
110
 
        && type man 2>/dev/null; then LANG=en_US.UTF-8 MANWIDTH=80 \
111
 
        man --warnings --encoding=UTF-8 --local-file $(notdir $@); \
112
 
        fi >/dev/null)
 
114
        && command -v man >/dev/null; then LANG=en_US.UTF-8 \
 
115
        MANWIDTH=80 man --warnings --encoding=UTF-8 --local-file \
 
116
        $(notdir $@); fi >/dev/null)
113
117
 
114
118
DOCBOOKTOHTML=$(strip xsltproc --nonet --xinclude \
115
119
        --param make.year.ranges                1 \
128
132
        plugins.d/usplash plugins.d/splashy plugins.d/askpass-fifo \
129
133
        plugins.d/plymouth
130
134
PLUGIN_HELPERS:=plugin-helpers/mandos-client-iprouteadddel
131
 
CPROGS:=plugin-runner $(PLUGINS) $(PLUGIN_HELPERS)
 
135
CPROGS:=plugin-runner dracut-module/password-agent $(PLUGINS) \
 
136
        $(PLUGIN_HELPERS)
132
137
PROGS:=mandos mandos-keygen mandos-ctl mandos-monitor $(CPROGS)
133
138
DOCS:=mandos.8 mandos-keygen.8 mandos-monitor.8 mandos-ctl.8 \
134
139
        mandos.conf.5 mandos-clients.conf.5 plugin-runner.8mandos \
 
140
        dracut-module/password-agent.8mandos \
135
141
        plugins.d/mandos-client.8mandos \
136
142
        plugins.d/password-prompt.8mandos plugins.d/usplash.8mandos \
137
143
        plugins.d/splashy.8mandos plugins.d/askpass-fifo.8mandos \
209
215
                overview.xml legalnotice.xml
210
216
        $(DOCBOOKTOHTML)
211
217
 
 
218
dracut-module/password-agent.8mandos: \
 
219
                dracut-module/password-agent.xml common.ent \
 
220
                overview.xml legalnotice.xml
 
221
        $(DOCBOOKTOMAN)
 
222
dracut-module/password-agent.8mandos.xhtml: \
 
223
                dracut-module/password-agent.xml common.ent \
 
224
                overview.xml legalnotice.xml
 
225
        $(DOCBOOKTOHTML)
 
226
 
212
227
plugins.d/mandos-client.8mandos: plugins.d/mandos-client.xml \
213
228
                                        common.ent \
214
229
                                        mandos-options.xml \
269
284
        $(LINK.c) $(LIBNL3_CFLAGS) $^ $(LIBNL3_LIBS) $(strip\
270
285
                ) $(LOADLIBES) $(LDLIBS) -o $@
271
286
 
 
287
# Need to add the GLib and pthread libraries
 
288
dracut-module/password-agent: dracut-module/password-agent.c
 
289
        $(LINK.c) $(GLIB_CFLAGS) $^ $(GLIB_LIBS) -lpthread $(strip\
 
290
                ) $(LOADLIBES) $(LDLIBS) -o $@
 
291
 
272
292
.PHONY : all doc html clean distclean mostlyclean maintainer-clean \
273
293
        check run-client run-server install install-html \
274
294
        install-server install-client-nokey install-client uninstall \
289
309
        ./mandos-keygen --version
290
310
        ./plugin-runner --version
291
311
        ./plugin-helpers/mandos-client-iprouteadddel --version
 
312
        ./dracut-module/password-agent --test
292
313
 
293
314
# Run the client with a local config and key
294
315
run-client: all keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem
438
459
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos
439
460
        install initramfs-tools-script-stop \
440
461
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos
 
462
        install --directory $(DRACUTMODULE)
 
463
        install --mode=u=rw,go=r --target-directory=$(DRACUTMODULE) \
 
464
                dracut-module/ask-password-mandos.path \
 
465
                dracut-module/ask-password-mandos.service
 
466
        install --mode=u=rwxs,go=rx \
 
467
                --target-directory=$(DRACUTMODULE) \
 
468
                dracut-module/module-setup.sh \
 
469
                dracut-module/cmdline-mandos.sh \
 
470
                dracut-module/password-agent
441
471
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
442
472
        gzip --best --to-stdout mandos-keygen.8 \
443
473
                > $(MANDIR)/man8/mandos-keygen.8.gz
455
485
                > $(MANDIR)/man8/askpass-fifo.8mandos.gz
456
486
        gzip --best --to-stdout plugins.d/plymouth.8mandos \
457
487
                > $(MANDIR)/man8/plymouth.8mandos.gz
 
488
        gzip --best --to-stdout dracut-module/password-agent.8mandos \
 
489
                > $(MANDIR)/man8/password-agent.8mandos.gz
458
490
 
459
491
install-client: install-client-nokey
460
492
# Post-installation stuff
461
493
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
462
 
        update-initramfs -k all -u
 
494
        if command -v update-initramfs >/dev/null; then \
 
495
            update-initramfs -k all -u; \
 
496
        elif command -v dracut >/dev/null; then \
 
497
            for initrd in $(DESTDIR)/boot/initr*-$(shell uname --kernel-release); do \
 
498
                if [ -w "$$initrd" ]; then \
 
499
                    chmod go-r "$$initrd"; \
 
500
                    dracut --force "$$initrd"; \
 
501
                fi; \
 
502
            done; \
 
503
        fi
463
504
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
464
505
 
465
506
uninstall: uninstall-server uninstall-client
492
533
                $(INITRAMFSTOOLS)/hooks/mandos \
493
534
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos \
494
535
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos \
 
536
                $(INITRAMFSTOOLS)/scripts/local-premount/mandos \
 
537
                $(DRACUTMODULE)/ask-password-mandos.path \
 
538
                $(DRACUTMODULE)/ask-password-mandos.service \
 
539
                $(DRACUTMODULE)/module-setup.sh \
 
540
                $(DRACUTMODULE)/cmdline-mandos.sh \
 
541
                $(DRACUTMODULE)/password-agent \
495
542
                $(MANDIR)/man8/mandos-keygen.8.gz \
496
543
                $(MANDIR)/man8/plugin-runner.8mandos.gz \
497
544
                $(MANDIR)/man8/mandos-client.8mandos.gz
500
547
                $(MANDIR)/man8/splashy.8mandos.gz \
501
548
                $(MANDIR)/man8/askpass-fifo.8mandos.gz \
502
549
                $(MANDIR)/man8/plymouth.8mandos.gz \
 
550
                $(MANDIR)/man8/password-agent.8mandos.gz \
503
551
        -rmdir $(LIBDIR)/mandos/plugins.d $(CONFDIR)/plugins.d \
504
 
                 $(LIBDIR)/mandos $(CONFDIR) $(KEYDIR)
505
 
        update-initramfs -k all -u
 
552
                 $(LIBDIR)/mandos $(CONFDIR) $(KEYDIR) $(DRACUTMODULE)
 
553
        if command -v update-initramfs >/dev/null; then \
 
554
            update-initramfs -k all -u; \
 
555
        elif command -v dracut >/dev/null; then \
 
556
            for initrd in $(DESTDIR)/boot/initr*-$(shell uname --kernel-release); do \
 
557
                test -w "$$initrd" && dracut --force "$$initrd"; \
 
558
            done; \
 
559
        fi
506
560
 
507
561
purge: purge-server purge-client
508
562