diff options
author | Andrew Cady <d@jerkface.net> | 2020-05-29 08:48:25 -0400 |
---|---|---|
committer | Andrew Cady <d@jerkface.net> | 2020-05-29 09:15:47 -0400 |
commit | a35e328ca65bef9796e956fd6148ba770e93f03f (patch) | |
tree | 4db2850358180f17456ac119710ebd837cc700e8 | |
parent | 0d70aefb72bcef186cd73cb506be8197f740977d (diff) |
auto-install dependencies
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 44 | ||||
-rwxr-xr-x | control.sh | 3 |
3 files changed, 42 insertions, 6 deletions
@@ -1 +1,2 @@ | |||
1 | control | 1 | control |
2 | equivs-stamp | ||
@@ -1,15 +1,46 @@ | |||
1 | control: control.sh depends.control .git/refs/heads/master | 1 | all: control equivs-stamp |
2 | ./control.sh depends.control > $@ | 2 | |
3 | ARCH := $(shell dpkg-architecture -q DEB_BUILD_ARCH) | ||
4 | ifndef VERSION | ||
5 | VERSION := $(shell TZ=UTC date -Is | tr -d :- | tr T . | sed 's/+.*//') | ||
6 | endif | ||
7 | export VERSION | ||
8 | PKG ?= $(notdir $(PWD)) | ||
9 | |||
10 | PKG_FILE ?= $(PKG)_$(VERSION)_$(ARCH).deb | ||
11 | export PKG_FILE | ||
12 | |||
13 | $(PKG_FILE): control | ||
14 | equivs-build control | ||
15 | |||
16 | equivs-stamp: control | ||
17 | $(MAKE) $(PKG_FILE) | ||
18 | $(MAKE) install-remove-equivs | ||
19 | rm $(PKG_FILE) | ||
20 | touch $@ | ||
21 | |||
22 | .PHONY: install-remove-equivs | ||
23 | install-remove-equivs: | ||
24 | ifneq (0,$(shell id -u)) | ||
25 | sudo $(MAKE) PKG_FILE=$(PKG_FILE) MAKEFLAGS=$(MAKEFLAGS) $@ | ||
26 | else | ||
27 | dpkg -i $(PKG_FILE) | ||
28 | f=$(PKG_FILE); dpkg -r $${f%%_*} | ||
29 | endif | ||
30 | #. | ||
3 | 31 | ||
4 | DD_USER = dyndns | 32 | DD_USER = dyndns |
5 | DD_GROUP = dyndns | 33 | DD_GROUP = dyndns |
6 | 34 | ||
7 | install-dyndns-server: | 35 | .PHONY: install all |
36 | |||
37 | install: equivs-stamp | ||
8 | ifneq ($(shell id -u),0) | 38 | ifneq ($(shell id -u),0) |
9 | $(SUDO_MAKE) $@ | 39 | sudo $(MAKE) MAKEFLAGS=$(MAKEFLAGS) $@ |
10 | else | 40 | else |
11 | : apt install pdns | 41 | : apt install pdns |
12 | : adduser $(DD_USER) | 42 | getent passwd $(DD_USER) || useradd --system --create-home $(DD_USER) |
43 | false | ||
13 | chown root:$(DD_GROUP) /etc/powerdns | 44 | chown root:$(DD_GROUP) /etc/powerdns |
14 | chown pdns:$(DD_GROUP) /etc/powerdns/powerdns.sqlite3 | 45 | chown pdns:$(DD_GROUP) /etc/powerdns/powerdns.sqlite3 |
15 | chmod g+rwx /etc/powerdns | 46 | chmod g+rwx /etc/powerdns |
@@ -25,3 +56,6 @@ endef | |||
25 | 56 | ||
26 | ~$(DD_USER)/.ssh/authorized_keys: | 57 | ~$(DD_USER)/.ssh/authorized_keys: |
27 | : writing file $@ $(file >$@,$(dyndns_authorized_keys_contents)) | 58 | : writing file $@ $(file >$@,$(dyndns_authorized_keys_contents)) |
59 | |||
60 | control: control.sh depends.control .git/refs/heads/master | ||
61 | ./control.sh depends.control > $@ | ||
@@ -1,8 +1,9 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | VERSION=${VERSION:-$(TZ=UTC date -Is | tr -d :- | tr T . | sed 's/+.*//')} | ||
2 | cat - "$@" <<END | 3 | cat - "$@" <<END |
3 | Package: $(basename $(pwd)) | 4 | Package: $(basename $(pwd)) |
4 | Source: $(basename $(pwd)) | 5 | Source: $(basename $(pwd)) |
5 | Version: $(TZ=UTC date -Is | tr -d :- | tr T . | sed 's/+.*//') | 6 | Version: ${VERSION} |
6 | Architecture: $(dpkg-architecture -q DEB_BUILD_ARCH) | 7 | Architecture: $(dpkg-architecture -q DEB_BUILD_ARCH) |
7 | Origin: local | 8 | Origin: local |
8 | Maintainer: root <root@localhost> | 9 | Maintainer: root <root@localhost> |