diff options
author | Andrew Cady <d@jerkface.net> | 2023-05-27 15:55:07 -0400 |
---|---|---|
committer | Andrew Cady <d@jerkface.net> | 2023-05-27 15:55:07 -0400 |
commit | f2ac2fe76e6d8fcad24daa1f8c16e207e95465f1 (patch) | |
tree | cb512e4ccc8c66f24ed2619b40f6a9e355e2f92e /Makefile | |
parent | c9316cfc8e206a54973976eae71649007eef2720 (diff) |
begin to implement user service
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -1,4 +1,6 @@ | |||
1 | ifneq (0,$(shell id -u)) | ||
1 | fossil_database = db | 2 | fossil_database = db |
3 | unitdir = "$${XDG_CONFIG_HOME:-$$HOME/.config}/systemd/user" | ||
2 | unit_instance_name != systemd-escape "$$(realpath "$(fossil_database)")" | 4 | unit_instance_name != systemd-escape "$$(realpath "$(fossil_database)")" |
3 | our_name = fossil-sync | 5 | our_name = fossil-sync |
4 | unit_files_basenames = $(addprefix $(our_name)@.,service path timer) | 6 | unit_files_basenames = $(addprefix $(our_name)@.,service path timer) |
@@ -8,7 +10,9 @@ unit_instance = $(our_name)@$(unit_instance_name).service | |||
8 | 10 | ||
9 | default: install start ui | 11 | default: install start ui |
10 | install: | 12 | install: |
11 | systemctl --user link $(addprefix ./, $(unit_files)) | 13 | install -m644 -t $(unitdir) -- $(unit_files) |
14 | systemctl --user daemon-reload | ||
15 | sudo make $@ | ||
12 | start stop restart status show: | $(fossil_database) | 16 | start stop restart status show: | $(fossil_database) |
13 | systemctl --user $@ $(unit_instances) | 17 | systemctl --user $@ $(unit_instances) |
14 | follow: | 18 | follow: |
@@ -29,3 +33,20 @@ work: | |||
29 | mkdir -p $@ | 33 | mkdir -p $@ |
30 | work/.fslckout: | work $(fossil_database) | 34 | work/.fslckout: | work $(fossil_database) |
31 | cd work && fossil open ../$(fossil_database) | 35 | cd work && fossil open ../$(fossil_database) |
36 | else | ||
37 | unitdir = /etc/systemd/system | ||
38 | unit_files = $(addprefix src/fossil-user,@.service .socket) | ||
39 | units = $(filter-out %@.service,$(notdir $(unit_files))) | ||
40 | executables = src/endofossil | ||
41 | bindir = /usr/local/bin | ||
42 | |||
43 | default: install start follow | ||
44 | install: | ||
45 | install -m644 -t $(unitdir) -- $(unit_files) | ||
46 | install -t $(bindir) -- $(executables) | ||
47 | systemctl daemon-reload | ||
48 | start stop restart status show: | ||
49 | systemctl $@ $(units) | ||
50 | follow: | ||
51 | journalctl $(addprefix -u , $(units)) -f | ||
52 | endif | ||