2021-10-16 17:41:17 -05:00
|
|
|
PREFIX ?= /usr/local
|
2022-08-04 05:41:23 -05:00
|
|
|
KEYRING_TARGET_DIR ?= $(PREFIX)/share/pacman/keyrings/
|
|
|
|
SCRIPT_TARGET_DIR ?= $(PREFIX)/bin/
|
|
|
|
SYSTEMD_SYSTEM_UNIT_DIR ?= $(shell pkgconf --variable systemd_system_unit_dir systemd)
|
|
|
|
KEYRING_FILE=archlinux.gpg
|
|
|
|
KEYRING_REVOKED_FILE=archlinux-revoked
|
|
|
|
KEYRING_TRUSTED_FILE=archlinux-trusted
|
|
|
|
WKD_SYNC_SCRIPT=archlinux-keyring-wkd-sync
|
|
|
|
WKD_SYNC_SERVICE=archlinux-keyring-wkd-sync.service
|
|
|
|
WKD_SYNC_TIMER=archlinux-keyring-wkd-sync.timer
|
2022-07-22 18:47:38 -05:00
|
|
|
SYSTEMD_TIMER_DIR=$(SYSTEMD_SYSTEM_UNIT_DIR)/timers.target.wants/
|
2021-11-26 16:40:11 -06:00
|
|
|
SOURCES := $(shell find keyring) $(shell find libkeyringctl -name '*.py' -or -type d) keyringctl
|
2012-02-13 07:37:52 -06:00
|
|
|
|
2021-10-16 17:41:17 -05:00
|
|
|
all: build
|
2012-02-13 07:37:52 -06:00
|
|
|
|
2021-10-16 17:41:17 -05:00
|
|
|
lint:
|
2021-11-01 11:36:02 -06:00
|
|
|
black --check --diff keyringctl libkeyringctl tests
|
2021-10-16 17:41:17 -05:00
|
|
|
isort --diff .
|
2021-11-01 11:36:02 -06:00
|
|
|
flake8 keyringctl libkeyringctl tests
|
|
|
|
mypy --install-types --non-interactive keyringctl libkeyringctl tests
|
2012-02-13 07:37:52 -06:00
|
|
|
|
2021-10-24 15:10:14 -05:00
|
|
|
fmt:
|
|
|
|
black .
|
|
|
|
isort .
|
|
|
|
|
2021-11-07 16:31:19 -06:00
|
|
|
check:
|
|
|
|
./keyringctl -v check
|
|
|
|
|
2021-10-31 11:53:20 -06:00
|
|
|
test:
|
2021-10-31 14:26:27 -06:00
|
|
|
coverage run
|
2021-11-01 15:25:11 -06:00
|
|
|
coverage xml
|
2021-11-14 09:10:23 -06:00
|
|
|
coverage report --fail-under=100.0
|
2021-10-31 11:53:20 -06:00
|
|
|
|
2021-11-26 16:40:11 -06:00
|
|
|
build: $(SOURCES)
|
2021-10-21 14:04:16 -05:00
|
|
|
./keyringctl -v build
|
2012-02-13 07:37:52 -06:00
|
|
|
|
2021-11-26 16:40:11 -06:00
|
|
|
clean:
|
|
|
|
rm -rf build
|
|
|
|
|
|
|
|
install: build
|
2022-08-04 05:41:23 -05:00
|
|
|
install -vDm 644 build/{$(KEYRING_FILE),$(KEYRING_REVOKED_FILE),$(KEYRING_TRUSTED_FILE)} -t $(DESTDIR)$(KEYRING_TARGET_DIR)
|
|
|
|
install -vDm 755 wkd_sync/$(WKD_SYNC_SCRIPT) -t $(DESTDIR)$(SCRIPT_TARGET_DIR)
|
|
|
|
install -vDm 644 wkd_sync/{$(WKD_SYNC_SERVICE),$(WKD_SYNC_TIMER)} -t $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)
|
|
|
|
install -vdm 755 $(DESTDIR)$(SYSTEMD_TIMER_DIR)
|
|
|
|
ln -sv ../$(WKD_SYNC_TIMER) $(DESTDIR)$(SYSTEMD_TIMER_DIR)/$(WKD_SYNC_TIMER)
|
2012-02-13 07:37:52 -06:00
|
|
|
|
2021-10-16 17:41:17 -05:00
|
|
|
uninstall:
|
2022-08-04 05:41:23 -05:00
|
|
|
rm -fv $(DESTDIR)$(KEYRING_TARGET_DIR)/{$(KEYRING_FILE),$(KEYRING_REVOKED_FILE),$(KEYRING_TRUSTED_FILE)}
|
|
|
|
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(KEYRING_TARGET_DIR)
|
|
|
|
rm -v $(DESTDIR)$(SCRIPT_TARGET_DIR)/$(WKD_SYNC_SCRIPT)
|
|
|
|
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(SCRIPT_TARGET_DIR)
|
|
|
|
rm -v $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)/{$(WKD_SYNC_SERVICE),$(WKD_SYNC_TIMER)}
|
|
|
|
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(SYSTEMD_SYSTEM_UNIT_DIR)
|
|
|
|
rm -v $(DESTDIR)$(SYSTEMD_TIMER_DIR)/$(WKD_SYNC_TIMER)
|
|
|
|
rmdir -pv --ignore-fail-on-non-empty $(DESTDIR)$(SYSTEMD_TIMER_DIR)
|
2012-02-13 07:37:52 -06:00
|
|
|
|
2021-11-26 16:40:11 -06:00
|
|
|
.PHONY: all lint fmt check test clean install uninstall
|