/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-08-05 21:14:05 UTC
  • Revision ID: teddy@recompile.se-20190805211405-9m6hecekaihpttz9
Override lintian warnings about upgrading from old versions

There are some really things which are imperative that we fix in case
someone were to upgrade from a really old version.  We want to keep
these fixes in the postinst maintainer scripts, even though lintian
complains about such old upgrades not being supported by Debian in
general.  We prefer the code being there, for the sake of the users.

* debian/mandos-client.lintian-overrides
  (maintainer-script-supports-ancient-package-version): New.
  debian/mandos.lintian-overrides
  (maintainer-script-supports-ancient-package-version): - '' -

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
LANGUAGE:=-std=gnu11
44
44
FEATURES:=-D_FILE_OFFSET_BITS=64
45
45
htmldir:=man
46
 
version:=1.8.9
 
46
version:=1.8.6
47
47
SED:=sed
48
48
PKG_CONFIG?=pkg-config
49
49
 
89
89
                        --variable=systemdsystemunitdir)
90
90
TMPFILES:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
91
91
                        --variable=tmpfilesdir)
92
 
SYSUSERS:=$(DESTDIR)$(shell $(PKG_CONFIG) systemd \
93
 
                        --variable=sysusersdir)
94
92
 
95
93
GNUTLS_CFLAGS:=$(shell $(PKG_CONFIG) --cflags-only-I gnutls)
96
94
GNUTLS_LIBS:=$(shell $(PKG_CONFIG) --libs gnutls)
156
154
 
157
155
objects:=$(addsuffix .o,$(CPROGS))
158
156
 
159
 
.PHONY: all
160
157
all: $(PROGS) mandos.lsm
161
158
 
162
 
.PHONY: doc
163
159
doc: $(DOCS)
164
160
 
165
 
.PHONY: html
166
161
html: $(htmldocs)
167
162
 
168
163
%.5: %.xml common.ent legalnotice.xml
285
280
                $@)
286
281
 
287
282
# 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)
 
283
plugins.d/mandos-client: plugins.d/mandos-client.c
 
284
        $(LINK.c) $^ $(GNUTLS_CFLAGS) $(AVAHI_CFLAGS) $(strip\
 
285
                ) $(GPGME_CFLAGS) $(GNUTLS_LIBS) $(strip\
 
286
                ) $(AVAHI_LIBS) $(GPGME_LIBS) $(LOADLIBES) $(strip\
 
287
                ) $(LDLIBS) -o $@
292
288
 
293
289
# 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)
 
290
plugin-helpers/mandos-client-iprouteadddel: plugin-helpers/mandos-client-iprouteadddel.c
 
291
        $(LINK.c) $(LIBNL3_CFLAGS) $^ $(LIBNL3_LIBS) $(strip\
 
292
                ) $(LOADLIBES) $(LDLIBS) -o $@
296
293
 
297
294
# Need to add the GLib and pthread libraries
298
 
dracut-module/password-agent: CFLAGS += $(GLIB_CFLAGS)
299
 
dracut-module/password-agent: LDLIBS += $(GLIB_LIBS) -lpthread
300
 
 
301
 
.PHONY: clean
 
295
dracut-module/password-agent: dracut-module/password-agent.c
 
296
        $(LINK.c) $(GLIB_CFLAGS) $^ $(GLIB_LIBS) -lpthread $(strip\
 
297
                ) $(LOADLIBES) $(LDLIBS) -o $@
 
298
 
 
299
.PHONY : all doc html clean distclean mostlyclean maintainer-clean \
 
300
        check run-client run-server install install-html \
 
301
        install-server install-client-nokey install-client uninstall \
 
302
        uninstall-server uninstall-client purge purge-server \
 
303
        purge-client
 
304
 
302
305
clean:
303
306
        -rm --force $(CPROGS) $(objects) $(htmldocs) $(DOCS) core
304
307
 
305
 
.PHONY: distclean
306
308
distclean: clean
307
 
.PHONY: mostlyclean
308
309
mostlyclean: clean
309
 
.PHONY: maintainer-clean
310
310
maintainer-clean: clean
311
311
        -rm --force --recursive keydir confdir statedir
312
312
 
313
 
.PHONY: check
314
313
check: all
315
314
        ./mandos --check
316
315
        ./mandos-ctl --check
320
319
        ./dracut-module/password-agent --test
321
320
 
322
321
# Run the client with a local config and key
323
 
.PHONY: run-client
324
322
run-client: all keydir/seckey.txt keydir/pubkey.txt \
325
323
                        keydir/tls-privkey.pem keydir/tls-pubkey.pem
326
324
        @echo '######################################################'
356
354
        ./mandos-keygen --dir keydir --force
357
355
 
358
356
# Run the server with a local config
359
 
.PHONY: run-server
360
357
run-server: confdir/mandos.conf confdir/clients.conf statedir
361
358
        ./mandos --debug --no-dbus --configdir=confdir \
362
359
                --statedir=statedir $(SERVERARGS)
373
370
statedir:
374
371
        install --directory statedir
375
372
 
376
 
.PHONY: install
377
373
install: install-server install-client-nokey
378
374
 
379
 
.PHONY: install-html
380
375
install-html: html
381
376
        install --directory $(htmldir)
382
377
        install --mode=u=rw,go=r --target-directory=$(htmldir) \
383
378
                $(htmldocs)
384
379
 
385
 
.PHONY: install-server
386
380
install-server: doc
387
381
        install --directory $(CONFDIR)
388
382
        if install --directory --mode=u=rwx --owner=$(USER) \
396
390
                install --mode=u=rw,go=r tmpfiles.d-mandos.conf \
397
391
                        $(TMPFILES)/mandos.conf; \
398
392
        fi
399
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
400
 
                        -a -d "$(SYSUSERS)" ]; then \
401
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
402
 
                        $(SYSUSERS)/mandos.conf; \
403
 
        fi
404
393
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
405
394
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
406
395
                mandos-ctl
435
424
        gzip --best --to-stdout intro.8mandos \
436
425
                > $(MANDIR)/man8/intro.8mandos.gz
437
426
 
438
 
.PHONY: install-client-nokey
439
427
install-client-nokey: all doc
440
428
        install --directory $(LIBDIR)/mandos $(CONFDIR)
441
429
        install --directory --mode=u=rwx $(KEYDIR) \
442
430
                $(LIBDIR)/mandos/plugins.d \
443
431
                $(LIBDIR)/mandos/plugin-helpers
444
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
445
 
                        -a -d "$(SYSUSERS)" ]; then \
446
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
447
 
                        $(SYSUSERS)/mandos-client.conf; \
448
 
        fi
449
432
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
450
433
                install --mode=u=rwx \
451
434
                        --directory "$(CONFDIR)/plugins.d" \
520
503
        gzip --best --to-stdout dracut-module/password-agent.8mandos \
521
504
                > $(MANDIR)/man8/password-agent.8mandos.gz
522
505
 
523
 
.PHONY: install-client
524
506
install-client: install-client-nokey
525
507
# Post-installation stuff
526
508
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
536
518
        fi
537
519
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
538
520
 
539
 
.PHONY: uninstall
540
521
uninstall: uninstall-server uninstall-client
541
522
 
542
 
.PHONY: uninstall-server
543
523
uninstall-server:
544
524
        -rm --force $(PREFIX)/sbin/mandos \
545
525
                $(PREFIX)/sbin/mandos-ctl \
552
532
        update-rc.d -f mandos remove
553
533
        -rmdir $(CONFDIR)
554
534
 
555
 
.PHONY: uninstall-client
556
535
uninstall-client:
557
536
# Refuse to uninstall client if /etc/crypttab is explicitly configured
558
537
# to use it.
594
573
            done; \
595
574
        fi
596
575
 
597
 
.PHONY: purge
598
576
purge: purge-server purge-client
599
577
 
600
 
.PHONY: purge-server
601
578
purge-server: uninstall-server
602
579
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
603
580
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
608
585
                $(DESTDIR)/var/run/mandos.pid
609
586
        -rmdir $(CONFDIR)
610
587
 
611
 
.PHONY: purge-client
612
588
purge-client: uninstall-client
613
589
        -shred --remove $(KEYDIR)/seckey.txt $(KEYDIR)/tls-privkey.pem
614
590
        -rm --force $(CONFDIR)/plugin-runner.conf \