|
1 | 1 | platform = $(shell uname -m) |
2 | | -prefix = |
3 | | - |
4 | | -sysconfdir = ${prefix}/etc |
5 | | -exec_prefix = /usr |
6 | | -bindir = ${exec_prefix}/bin |
7 | | -libexecdir = ${exec_prefix}/libexec/allsky |
8 | | -sharedir = ${exec_prefix}/share/allsky |
9 | 2 |
|
10 | 3 | HOMEDIR = $(shell dirname "$$PWD") |
| 4 | +CONFIGDIR = ${HOMEDIR}/config |
11 | 5 | SCRIPTSDIR = ${HOMEDIR}/scripts |
| 6 | +UTILITIESDIR = ${SCRIPTSDIR}/utilities |
| 7 | +# TODO: get from variables.sh |
| 8 | +NORESTARTCODES = 100 101 |
| 9 | +LIBSYSTEMDIR = /lib/systemd/system |
12 | 10 |
|
13 | 11 | .DEFAULT_GOAL := all |
14 | 12 |
|
15 | 13 | ROOTCHECK=$(shell id -u) |
16 | | -ifneq ($(ROOTCHECK),0) |
17 | | - ifeq ($(PKGBUILD),1) |
18 | | - ROOTCHECK=0 |
19 | | - endif |
20 | | -endif |
21 | | - |
22 | | -ifeq ($(PKGBUILD),) |
23 | | - PKGBUILD=0 |
24 | | -endif |
25 | | - |
26 | 14 |
|
27 | 15 | ENVFILE := env.json |
28 | | -UNINSTALLFILES := $(DESTDIR)$(sysconfdir)/logrotate.d/allsky $(DESTDIR)$(sysconfdir)/rsyslog.d/allsky.conf $(DESTDIR)$(sysconfdir)/systemd/system/allsky.service $(DESTDIR)$(sysconfdir)/systemd/system/allskyperiodic.service |
| 16 | +UNINSTALLFILES := /etc/logrotate.d/allsky /etc/rsyslog.d/allsky.conf /etc/systemd/system/allsky.service /etc/systemd/system/allskyperiodic.service |
29 | 17 |
|
30 | 18 | %: |
31 | | - @echo `date +%F\ %R:%S` nothing to do for $@ |
| 19 | + @echo "`date +%F\ %R:%S` nothing to do for $@" |
32 | 20 |
|
33 | 21 | ifneq ($(ROOTCHECK), 0) |
34 | 22 | install uninstall: |
35 | | - @echo This must be run with root permissions. |
36 | | - @echo Please run \'sudo make $@\' |
| 23 | + @echo "This must be run with root permissions." |
| 24 | + @echo "Please run 'sudo make $@'." |
37 | 25 | else # Root check passed |
38 | 26 |
|
39 | 27 | uninstall: |
40 | | - @echo `date +%F\ %R:%S` Removing installed files: $(UNINSTALLFILES) |
| 28 | + @echo "`date +%F\ %R:%S` Removing installed files: $(UNINSTALLFILES)" |
41 | 29 | @rm -f $(UNINSTALLFILES) |
42 | | - @echo `date +%F\ %R:%S` Complete. |
43 | | - @echo `date +%F\ %R:%S` NOTE: Config files were \-NOT\- removed. |
44 | | - @echo `date +%F\ %R:%S` To remove config files, please run \'sudo make remove_configs\' |
| 30 | + @echo "`date +%F\ %R:%S` Complete." |
| 31 | + @echo "`date +%F\ %R:%S` NOTE: Config files were -NOT- removed." |
| 32 | + @echo "`date +%F\ %R:%S` To remove config files, please run 'sudo make remove_configs'." |
45 | 33 | .PHONY : uninstall |
46 | 34 |
|
47 | | -ifeq ($(PKGBUILD),1) |
48 | | - |
49 | | -remove_configs: |
50 | | - @echo `date +%F\ %R:%S` Removing config path and files $(DESTDIR)$(sysconfigdir)/allsky |
51 | | - @rm -rf $(DESTDIR)$(sysconfigdir)/allsky |
52 | | - |
53 | | -createDirs: |
54 | | - @echo `date +%F\ %R:%S` Creating directory structures... |
55 | | - @if [ ! -e $(DESTDIR)$(sysconfdir)/allsky ]; then mkdir -p $(DESTDIR)$(sysconfdir)/allsky; fi |
56 | | - @if [ ! -e $(DESTDIR)$(sysconfdir)/profile.d ]; then mkdir -p $(DESTDIR)$(sysconfdir)/profile.d; fi |
57 | | - @if [ ! -e $(DESTDIR)$(sysconfdir)/systemd/system ]; then mkdir -p $(DESTDIR)$(sysconfdir)/systemd/system; fi |
58 | | - @if [ ! -e $(DESTDIR)$(sysconfdir)/udev/rules.d ]; then mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d; fi |
59 | | -.PHONY : createDirs |
60 | | - |
61 | | -$(ENVFILE): |
62 | | - @if [ ! -e $(DESTDIR)$(sysconfdir)/allsky/$@ ]; then \ |
63 | | - echo `date +%F\ %R:%S` Copying default $@; \ |
64 | | - cp $@.repo > env; \ |
65 | | - install -m 0664 env $(HOMEDIR)/$@; \ |
66 | | - rm -f env; \ |
67 | | - fi |
68 | | -# TODO: In PKGBUILD mode, where is the "allsky" directory? $(ENVFILE) needs to go in it. |
69 | | -# Is $(HOMEDIR) the correct location, or should it be $(DESTDIR)$(sysconfdir)/allsky ? |
70 | | -.PHONY : $(ENVFILE) |
71 | | - |
72 | | -install: createDirs $(ENVFILE) |
73 | | - @echo `date +%F\ %R:%S` Setting up udev rules... |
74 | | - @install -D -m 0644 asi.rules $(DESTDIR)$(sysconfdir)/udev/rules.d/ |
75 | | - @echo `date +%F\ %R:%S` Setting up logging... |
76 | | - @install -D -m 0644 allsky.logrotate.repo $(DESTDIR)$(sysconfdir)/logrotate.d/allsky |
77 | | - @install -D -m 0644 allsky.rsyslog.repo $(DESTDIR)$(sysconfdir)/rsyslog.d/allsky.conf |
78 | | - @echo `date +%F\ %R:%S` Setting allsky to auto start... |
79 | | - @sed -e "s|XX_ALLSKY_OWNER_XX|allsky|" -e "s|XX_ALLSKY_HOME_XX|$(bindir)|" allsky.service.repo > allsky.service |
80 | | - @install -m 0644 allsky.service $(DESTDIR)$(sysconfdir)/systemd/system/ |
81 | | - @rm -f allsky.service |
82 | | - @echo `date +%F\ %R:%S` Setting up home environment variable... |
83 | | - @echo "export ALLSKY_TMP=/tmp\nexport ALLSKY_CONFIG=$(DESTDIR)$(sysconfdir)/allsky\nexport ALLSKY_SCRIPTS=$(DESTDIR)$(libexecdir)\nexport ALLSKY_NOTIFICATION_IMAGES=$(DESTDIR)$(sharedir)\nexport ALLSKY_IMAGES=/home/allsky/images/\nPATH=${PATH}:${DESTDIR}$(libexedir)" > $(DESTDIR)$(sysconfdir)/profile.d/allsy.sh |
84 | | - |
85 | | - |
86 | | -else # Not in package build mode ###################################### |
87 | | - |
88 | 35 | remove_configs: |
89 | | - @echo `date +%F\ %R:%S` Removing config path and files ../config |
90 | | - @rm -rf ../config |
| 36 | + @echo "`date +%F\ %R:%S` Removing config path and files $(CONFIGDIR)" |
| 37 | + @rm -rf $(CONFIGDIR) |
91 | 38 | .PHONY : remove_configs |
92 | 39 |
|
93 | 40 | createDirs: |
94 | | - @echo `date +%F\ %R:%S` Creating directory structures... |
95 | | - @if [ ! -e ../config ]; then mkdir -p ../config; chown $(SUDO_USER):$(SUDO_USER) ../config; fi |
| 41 | + @echo "`date +%F\ %R:%S` Creating directory structures..." |
| 42 | + @if [ ! -e $(CONFIGDIR) ]; then \ |
| 43 | + mkdir -p $(CONFIGDIR); \ |
| 44 | + chown $(SUDO_USER):$(SUDO_USER) $(CONFIGDIR); \ |
| 45 | + fi |
96 | 46 | .PHONY : createDirs |
97 | 47 |
|
98 | 48 | install: createDirs |
99 | | - @echo `date +%F\ %R:%S` Setting up udev rules... |
100 | | - @install -D -m 0644 asi.rules $(DESTDIR)$(sysconfdir)/udev/rules.d/ |
101 | | - @echo `date +%F\ %R:%S` Setting up logging... |
102 | | - @install -D -m 0644 allsky.logrotate.repo $(DESTDIR)$(sysconfdir)/logrotate.d/allsky |
103 | | - @install -D -m 0644 allsky.rsyslog.repo $(DESTDIR)$(sysconfdir)/rsyslog.d/allsky.conf |
| 49 | + @echo "`date +%F\ %R:%S` Setting up udev rules..." |
| 50 | + @install -D -m 0644 asi.rules /etc/udev/rules.d/ |
| 51 | + @echo "`date +%F\ %R:%S` Setting up logging..." |
| 52 | + @install -D -m 0644 allsky.logrotate.repo /etc/logrotate.d/allsky |
| 53 | + @install -D -m 0644 allsky.rsyslog.repo /etc/rsyslog.d/allsky.conf |
104 | 54 | @udevadm control -R |
105 | 55 | @udevadm trigger |
106 | | - @echo `date +%F\ %R:%S` Setting allsky to auto start... |
| 56 | + @echo "`date +%F\ %R:%S` Setting allsky to auto start..." |
107 | 57 | @if [ -e /etc/xdg/lxsession/LXDE-pi/autostart ]; then \ |
108 | 58 | sed -i '/allsky.sh/d' /etc/xdg/lxsession/LXDE-pi/autostart; fi |
109 | | - @# Don't use the /lib/systemd/system directory |
110 | | - @sed -e "s|XX_ALLSKY_OWNER_XX|$(SUDO_USER)|" -e "s|XX_ALLSKY_HOME_XX|$(HOMEDIR)|" -e "s|XX_ALLSKY_SCRIPTS_XX|$(SCRIPTSDIR)|" allsky.service.repo > allsky.service |
111 | | - @install -m 0644 allsky.service $(DESTDIR)$(sysconfdir)/systemd/system/ |
| 59 | + @# Don't use the $(LIBSYSTEMDIR) directory |
| 60 | + @sed -e "s|XX_ALLSKY_OWNER_XX|$(SUDO_USER)|" \ |
| 61 | + -e "s|XX_ALLSKY_HOME_XX|$(HOMEDIR)|" \ |
| 62 | + -e "s|XX_NO_RESTART_CODES_XX|$(NORESTARTCODES)|" \ |
| 63 | + -e "s|XX_ALLSKY_UTILITIES_XX|$(UTILITIESDIR)|" \ |
| 64 | + allsky.service.repo > allsky.service |
| 65 | + @install -m 0644 allsky.service /etc/systemd/system/ |
112 | 66 | @rm -f allsky.service |
113 | | - @if [ -e /lib/systemd/system/allsky.service ]; then rm -f /lib/systemd/system/allsky.service; fi |
114 | | - @sed -e "s|XX_ALLSKY_OWNER_XX|$(SUDO_USER)|" -e "s|XX_ALLSKY_SCRIPTS_XX|$(SCRIPTSDIR)|" allskyperiodic.service.repo > allskyperiodic.service |
115 | | - @install -m 0644 allskyperiodic.service $(DESTDIR)$(sysconfdir)/systemd/system/ |
| 67 | + @if [ -e $(LIBSYSTEMDIR)/allsky.service ]; then rm -f $(LIBSYSTEMDIR)/allsky.service; fi |
| 68 | + @sed -e "s|XX_ALLSKY_OWNER_XX|$(SUDO_USER)|" \ |
| 69 | + -e "s|XX_NO_RESTART_CODES_XX|$(NORESTARTCODES)|" \ |
| 70 | + -e "s|XX_ALLSKY_SCRIPTS_XX|$(SCRIPTSDIR)|" \ |
| 71 | + allskyperiodic.service.repo > allskyperiodic.service |
| 72 | + @install -m 0644 allskyperiodic.service /etc/systemd/system/ |
116 | 73 | @rm -f allskyperiodic.service |
117 | | - @if [ -e /lib/systemd/system/allskyperiodic.service ]; then rm -f /lib/systemd/system/allskyperiodic.service; fi |
| 74 | + @if [ -e $(LIBSYSTEMDIR)/allskyperiodic.service ]; then rm -f $(LIBSYSTEMDIR)/allskyperiodic.service; fi |
118 | 75 | @systemctl daemon-reload |
119 | 76 | @systemctl enable allsky |
120 | 77 | @systemctl enable allskyperiodic |
121 | | - @echo `date +%F\ %R:%S` Setting up ALLSKY_HOME environment variable... |
122 | | - @echo "export ALLSKY_HOME=$(HOMEDIR)\nPATH=${PATH}:$(SCRIPTSDIR)" > $(DESTDIR)$(sysconfdir)/profile.d/allsky.sh |
| 78 | + @echo "`date +%F\ %R:%S` Setting up ALLSKY_HOME environment variable..." |
| 79 | + @echo "export ALLSKY_HOME=$(HOMEDIR)\nPATH=${PATH}:$(SCRIPTSDIR)" > /etc/profile.d/allsky.sh |
| 80 | + |
123 | 81 | .PHONY : install |
124 | | -endif # Package build check |
| 82 | + |
125 | 83 | endif # Root check |
0 commit comments