#!/usr/bin/make -f
# debian/rules file - for debian/keyring
# Based on sample debian/rules file - for GNU Hello (1.3).
# Copyright 1994,1995 by Ian Jackson.
# Copyright 1998-2003 James Troup
# I hereby give you perpetual unlimited permission to copy,
# modify and relicense this file, provided that you do not remove
# my name from the file itself.  (I assert my moral right of
# paternity under the Copyright, Designs and Patents Act 1988.)
# This file may have to be extensively modified

install_dir=install -d -m 755
install_file=install -m 644
install_script=install -m 755
install_binary=install -m 755 -s

VERSION := $(shell dpkg-parsechangelog | grep ^Version: | cut -d' ' -f2)

build:

build-indep:

clean:
	$(checkdir)
	-rm -f foo foo.asc *.bak *~ */*~ debian/files* debian/*substvars
	-rm -rf debian/tmp debian/devuan-keyring-udeb

binary-indep: checkroot
	$(checkdir)
	-rm -rf debian/tmp
	$(install_dir) debian/tmp/DEBIAN/
	$(install_script) debian/postinst debian/tmp/DEBIAN/

	$(install_dir) debian/tmp/usr/share/keyrings/
	$(install_file) keyrings/devuan-keyring.gpg debian/tmp/usr/share/keyrings/
	$(install_file) keyrings/devuan-archive-keyring.gpg debian/tmp/usr/share/keyrings/

	$(install_dir) debian/tmp/etc/apt/trusted.gpg.d/
	$(install_file) keyrings/devuan-keyring-2016-archive.gpg debian/tmp/etc/apt/trusted.gpg.d/
	#$(install_file) keyrings/devuan-keyring-2017-archive.gpg debian/tmp/etc/apt/trusted.gpg.d/
	$(install_file) keyrings/devuan-keyring-2022-archive.gpg debian/tmp/etc/apt/trusted.gpg.d/
	$(install_file) keyrings/devuan-keyring-2016-cdimage.gpg debian/tmp/etc/apt/trusted.gpg.d/

	$(install_dir) debian/tmp/usr/share/doc/devuan-keyring/
	$(install_file) README.md debian/tmp/usr/share/doc/devuan-keyring/
	$(install_file) debian/changelog debian/tmp/usr/share/doc/devuan-keyring/changelog
	gzip -9v debian/tmp/usr/share/doc/devuan-keyring/*
	$(install_file) debian/copyright debian/tmp/usr/share/doc/devuan-keyring/
	cd debian/tmp; find -type f \! -regex '.*/DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum >DEBIAN/md5sums

	dpkg-gencontrol -pdevuan-keyring -isp
	chown -R root.root debian/tmp
	chmod -R go=rX debian/tmp
	dpkg --build debian/tmp ..

	-rm -rf debian/devuan-keyring-udeb
	$(install_dir) debian/devuan-keyring-udeb/DEBIAN/

	$(install_dir) debian/devuan-keyring-udeb/usr/share/keyrings/
	$(install_file) keyrings/devuan-archive-keyring.gpg debian/devuan-keyring-udeb/usr/share/keyrings/

	install -m 755 debian/devuan-keyring-udeb.postinst debian/devuan-keyring-udeb/DEBIAN/postinst

	# Don't let dpkg-gencontrol write incorrect guesses to debian/files.
	# Instead, register the udeb manually.
	dpkg-gencontrol -ndevuan-keyring-udeb_$(VERSION)_all.udeb -pdevuan-keyring-udeb -Tdebian/devuan-keyring-udeb.substvars -Pdebian/devuan-keyring-udeb -isp
	chown -R root.root debian/devuan-keyring-udeb
	chmod -R go=rX debian/devuan-keyring-udeb
	dpkg --build debian/devuan-keyring-udeb ../devuan-keyring-udeb_$(VERSION)_all.udeb

binary-arch:

define checkdir
	test -f keyrings/devuan-keyring.gpg
endef

# Below here is fairly generic really

binary: binary-indep binary-arch

checkroot:
	$(checkdir)
	test root = "`whoami`"

regenerate-key-fragments:
	rm -f keyrings/devuan-keyring-*.gpg
	gpg --no-default-keyring --keyring ./keyrings/devuan-archive-keyring.gpg --output keyrings/devuan-keyring-2016-archive.gpg --export 0x72E3CB773315DFA2E464743D94532124541922FB
	gpg --no-default-keyring --keyring ./keyrings/devuan-archive-keyring.gpg --output keyrings/devuan-keyring-2016-cdimage.gpg --export 0xCF1921B2D91C6435848E810099C46A90B1FB3B59
	#gpg --no-default-keyring --keyring ./keyrings/devuan-archive-keyring.gpg --output keyrings/devuan-keyring-2017-archive.gpg --export 0xE032601B7CA10BC3EA53FA81BB23C00C61FC752C
	sha512sum keyrings/*.gpg | gpg --clearsign > SHA512SUMS.txt.asc

checkkeyrings:
	gpg --no-default-keyring --keyring keyrings/devuan-keyring.gpg --decrypt SHA512SUMS.txt.asc | sha512sum -c -
	gpg --no-default-keyring --keyring keyrings/devuan-keyring.gpg --decrypt md5sums.txt | md5sum -c -

.PHONY: binary binary-arch binary-indep clean checkkeyrings checkroot build
