/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-08-05 21:14:05 UTC
  • mto: This revision was merged to the branch mainline in revision 388.
  • 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.12
 
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 '######################################################'
354
352
keydir/seckey.txt keydir/pubkey.txt keydir/tls-privkey.pem keydir/tls-pubkey.pem: mandos-keygen
355
353
        install --directory keydir
356
354
        ./mandos-keygen --dir keydir --force
357
 
        if ! [ -e keydir/tls-privkey.pem ]; then \
358
 
                install --mode=u=rw /dev/null keydir/tls-privkey.pem; \
359
 
        fi
360
 
        if ! [ -e keydir/tls-pubkey.pem ]; then \
361
 
                install --mode=u=rw /dev/null keydir/tls-pubkey.pem; \
362
 
        fi
363
355
 
364
356
# Run the server with a local config
365
 
.PHONY: run-server
366
357
run-server: confdir/mandos.conf confdir/clients.conf statedir
367
358
        ./mandos --debug --no-dbus --configdir=confdir \
368
359
                --statedir=statedir $(SERVERARGS)
379
370
statedir:
380
371
        install --directory statedir
381
372
 
382
 
.PHONY: install
383
373
install: install-server install-client-nokey
384
374
 
385
 
.PHONY: install-html
386
375
install-html: html
387
376
        install --directory $(htmldir)
388
377
        install --mode=u=rw,go=r --target-directory=$(htmldir) \
389
378
                $(htmldocs)
390
379
 
391
 
.PHONY: install-server
392
380
install-server: doc
393
381
        install --directory $(CONFDIR)
394
382
        if install --directory --mode=u=rwx --owner=$(USER) \
402
390
                install --mode=u=rw,go=r tmpfiles.d-mandos.conf \
403
391
                        $(TMPFILES)/mandos.conf; \
404
392
        fi
405
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
406
 
                        -a -d "$(SYSUSERS)" ]; then \
407
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
408
 
                        $(SYSUSERS)/mandos.conf; \
409
 
        fi
410
393
        install --mode=u=rwx,go=rx mandos $(PREFIX)/sbin/mandos
411
394
        install --mode=u=rwx,go=rx --target-directory=$(PREFIX)/sbin \
412
395
                mandos-ctl
441
424
        gzip --best --to-stdout intro.8mandos \
442
425
                > $(MANDIR)/man8/intro.8mandos.gz
443
426
 
444
 
.PHONY: install-client-nokey
445
427
install-client-nokey: all doc
446
428
        install --directory $(LIBDIR)/mandos $(CONFDIR)
447
429
        install --directory --mode=u=rwx $(KEYDIR) \
448
430
                $(LIBDIR)/mandos/plugins.d \
449
431
                $(LIBDIR)/mandos/plugin-helpers
450
 
        if [ "$(SYSUSERS)" != "$(DESTDIR)" \
451
 
                        -a -d "$(SYSUSERS)" ]; then \
452
 
                install --mode=u=rw,go=r sysusers.d-mandos.conf \
453
 
                        $(SYSUSERS)/mandos-client.conf; \
454
 
        fi
455
432
        if [ "$(CONFDIR)" != "$(LIBDIR)/mandos" ]; then \
456
433
                install --mode=u=rwx \
457
434
                        --directory "$(CONFDIR)/plugins.d" \
526
503
        gzip --best --to-stdout dracut-module/password-agent.8mandos \
527
504
                > $(MANDIR)/man8/password-agent.8mandos.gz
528
505
 
529
 
.PHONY: install-client
530
506
install-client: install-client-nokey
531
507
# Post-installation stuff
532
508
        -$(PREFIX)/sbin/mandos-keygen --dir "$(KEYDIR)"
542
518
        fi
543
519
        echo "Now run mandos-keygen --password --dir $(KEYDIR)"
544
520
 
545
 
.PHONY: uninstall
546
521
uninstall: uninstall-server uninstall-client
547
522
 
548
 
.PHONY: uninstall-server
549
523
uninstall-server:
550
524
        -rm --force $(PREFIX)/sbin/mandos \
551
525
                $(PREFIX)/sbin/mandos-ctl \
558
532
        update-rc.d -f mandos remove
559
533
        -rmdir $(CONFDIR)
560
534
 
561
 
.PHONY: uninstall-client
562
535
uninstall-client:
563
536
# Refuse to uninstall client if /etc/crypttab is explicitly configured
564
537
# to use it.
600
573
            done; \
601
574
        fi
602
575
 
603
 
.PHONY: purge
604
576
purge: purge-server purge-client
605
577
 
606
 
.PHONY: purge-server
607
578
purge-server: uninstall-server
608
579
        -rm --force $(CONFDIR)/mandos.conf $(CONFDIR)/clients.conf \
609
580
                $(DESTDIR)/etc/dbus-1/system.d/mandos.conf
614
585
                $(DESTDIR)/var/run/mandos.pid
615
586
        -rmdir $(CONFDIR)
616
587
 
617
 
.PHONY: purge-client
618
588
purge-client: uninstall-client
619
589
        -shred --remove $(KEYDIR)/seckey.txt $(KEYDIR)/tls-privkey.pem
620
590
        -rm --force $(CONFDIR)/plugin-runner.conf \