/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:
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 \
264
279
                ) $(AVAHI_LIBS) $(GPGME_LIBS) $(LOADLIBES) $(strip\
265
280
                ) $(LDLIBS) -o $@
266
281
 
 
282
# Need to add the libnl-route library
267
283
plugin-helpers/mandos-client-iprouteadddel: plugin-helpers/mandos-client-iprouteadddel.c
268
284
        $(LINK.c) $(LIBNL3_CFLAGS) $^ $(LIBNL3_LIBS) $(strip\
269
285
                ) $(LOADLIBES) $(LDLIBS) -o $@
270
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
 
271
292
.PHONY : all doc html clean distclean mostlyclean maintainer-clean \
272
293
        check run-client run-server install install-html \
273
294
        install-server install-client-nokey install-client uninstall \
288
309
        ./mandos-keygen --version
289
310
        ./plugin-runner --version
290
311
        ./plugin-helpers/mandos-client-iprouteadddel --version
 
312
        ./dracut-module/password-agent --test
291
313
 
292
314
# Run the client with a local config and key
293
315
run-client: all keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem
437
459
                $(INITRAMFSTOOLS)/scripts/init-premount/mandos
438
460
        install initramfs-tools-script-stop \
439
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
440
471
        install --mode=u=rw,go=r plugin-runner.conf $(CONFDIR)
441
472
        gzip --best --to-stdout mandos-keygen.8 \
442
473
                > $(MANDIR)/man8/mandos-keygen.8.gz
454
485
                > $(MANDIR)/man8/askpass-fifo.8mandos.gz
455
486
        gzip --best --to-stdout plugins.d/plymouth.8mandos \
456
487
                > $(MANDIR)/man8/plymouth.8mandos.gz
 
488
        gzip --best --to-stdout dracut-module/password-agent.8mandos \
 
489
                > $(MANDIR)/man8/password-agent.8mandos.gz
457
490
 
458
491
install-client: install-client-nokey
459
492
# Post-installation stuff
460
493
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
461
 
        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
462
504
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
463
505
 
464
506
uninstall: uninstall-server uninstall-client
491
533
                $(INITRAMFSTOOLS)/hooks/mandos \
492
534
                $(INITRAMFSTOOLS)/conf-hooks.d/mandos \
493
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 \
494
542
                $(MANDIR)/man8/mandos-keygen.8.gz \
495
543
                $(MANDIR)/man8/plugin-runner.8mandos.gz \
496
544
                $(MANDIR)/man8/mandos-client.8mandos.gz
499
547
                $(MANDIR)/man8/splashy.8mandos.gz \
500
548
                $(MANDIR)/man8/askpass-fifo.8mandos.gz \
501
549
                $(MANDIR)/man8/plymouth.8mandos.gz \
 
550
                $(MANDIR)/man8/password-agent.8mandos.gz \
502
551
        -rmdir $(LIBDIR)/mandos/plugins.d $(CONFDIR)/plugins.d \
503
 
                 $(LIBDIR)/mandos $(CONFDIR) $(KEYDIR)
504
 
        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
505
560
 
506
561
purge: purge-server purge-client
507
562