File: rules

package info (click to toggle)
nut 2.7.4-5
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 10,944 kB
  • ctags: 8,266
  • sloc: ansic: 70,278; sh: 12,814; python: 2,202; cpp: 1,715; makefile: 1,405; perl: 705; xml: 40
file content (139 lines) | stat: -rwxr-xr-x 6,071 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
include /usr/share/cdbs/1/class/python-module.mk

include /usr/share/cdbs/1/rules/autoreconf.mk
# We cannot call autoreconf -f -i as it updates INSTALL which is used for doc
# generation
DEB_DH_AUTORECONF_ARGS = --as-needed

DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)

# List any files which are not installed
include /usr/share/cdbs/1/rules/utils.mk
common-binary-post-install-arch:: list-missing

DEB_BUILD_MAINT_OPTIONS=hardening=+all
DEB_LDFLAGS_MAINT_APPEND=-Wl,-z,defs -Wl,-O1 -Wl,--as-needed
include /usr/share/dpkg/buildflags.mk

DEB_CONFIGURE_PREFIX      :=
DEB_CONFIGURE_SYSCONFDIR  := /etc/nut
DEB_CONFIGURE_INCLUDEDIR  := /usr/include
DEB_CONFIGURE_MANDIR      := /usr/share/man
DEB_CONFIGURE_EXTRA_FLAGS := --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
	                     --with-ssl --with-nss \
	                     --with-cgi \
	                     --with-dev \
	                     --enable-static \
	                     --with-statepath=/var/run/nut \
	                     --with-altpidpath=/var/run/nut \
	                     --with-drvpath=/lib/nut \
	                     --with-cgipath=/usr/lib/cgi-bin/nut \
	                     --with-htmlpath=/usr/share/nut/www \
	                     --with-pidpath=/var/run/nut \
	                     --datadir=/usr/share/nut \
	                     --with-pkgconfig-dir=/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig \
	                     --with-user=nut --with-group=nut

ifeq (linux,$(DEB_HOST_ARCH_OS))
  DEB_CONFIGURE_EXTRA_FLAGS+=--with-udev-dir=/lib/udev --with-systemdsystemunitdir=/lib/systemd/system
endif

# only build documentation if asciidoc is installed
ifneq ($(shell which asciidoc),)
  DEB_CONFIGURE_EXTRA_FLAGS+=--with-doc=html-chunked,pdf
endif

common-install-arch::
	# install the bash completion script
	mkdir -p $(CURDIR)/debian/tmp/usr/share/bash-completion/completions/
	cp $(CURDIR)/scripts/misc/nut.bash_completion \
		$(CURDIR)/debian/tmp/usr/share/bash-completion/completions/nut

	# install the avahi service file
	mkdir -p $(CURDIR)/debian/tmp/etc/avahi/services
	cp $(CURDIR)/scripts/avahi/nut.service \
		$(CURDIR)/debian/tmp/etc/avahi/services

	# install Augeas lenses
	mkdir -p $(CURDIR)/debian/tmp/usr/share/augeas/lenses/dist/tests
	cp $(CURDIR)/scripts/augeas/*.aug \
		$(CURDIR)/debian/tmp/usr/share/augeas/lenses/dist/
	cp $(CURDIR)/scripts/augeas/tests/test_nut.aug \
		$(CURDIR)/debian/tmp/usr/share/augeas/lenses/dist/tests/

	# install the default configuration
	for f in $(CURDIR)/debian/tmp/etc/nut/*; do           \
		nf=`basename $${f} | sed 's/\(.*\).sample/\1/'`;  \
		mv $${f} $(CURDIR)/debian/tmp/etc/nut/$${nf};  \
	done

	# Move -dev file to /usr
	mv $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libupsclient.a \
		$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libupsclient.a
	rm -f $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libupsclient.so
	ln -s /lib/$(DEB_HOST_MULTIARCH)/libupsclient.so.4 \
		$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libupsclient.so
	mv $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libnutclient.a \
		$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnutclient.a
	rm -f $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)/libnutclient.so
	ln -s /lib/$(DEB_HOST_MULTIARCH)/libnutclient.so.0 \
		$(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnutclient.so

	# Move daemons and install wrappers
	mv $(CURDIR)/debian/tmp/sbin/upsmon $(CURDIR)/debian/tmp/lib/nut/upsmon
	mv $(CURDIR)/debian/tmp/sbin/upsd $(CURDIR)/debian/tmp/lib/nut/upsd
	install -m 0755 debian/local/upsmon $(CURDIR)/debian/tmp/sbin/upsmon
	install -m 0755 debian/local/upsd $(CURDIR)/debian/tmp/sbin/upsd

	# Install systemd files only on systems where it's supported
ifeq (linux,$(DEB_HOST_ARCH_OS))
	install -m 644 -D $(CURDIR)/debian/tmp/lib/systemd/system/nut-monitor.service \
		$(CURDIR)/debian/nut-client/lib/systemd/system/nut-monitor.service
	install -D $(CURDIR)/debian/tmp/lib/systemd/system-shutdown/nutshutdown \
		$(CURDIR)/debian/nut-server/lib/systemd/system-shutdown/nutshutdown
	install -m 644 -D $(CURDIR)/debian/tmp/lib/systemd/system/nut-driver.service \
		$(CURDIR)/debian/nut-server/lib/systemd/system/nut-driver.service
	install -m 644 -D $(CURDIR)/debian/tmp/lib/systemd/system/nut-server.service \
		$(CURDIR)/debian/nut-server/lib/systemd/system/nut-server.service

	# Add a symlink to mask the LSB initscript
	ln -s nut-monitor.service $(CURDIR)/debian/nut-client/lib/systemd/system/nut-client.service

	# Install tmpfiles config file to create /run/nut directory
	install -m 644 -D $(CURDIR)/debian/nut-client.tmpfiles \
		$(CURDIR)/debian/nut-client/usr/lib/tmpfiles.d/nut-client.conf
	install -m 644 -D $(CURDIR)/debian/nut-server.tmpfiles \
		$(CURDIR)/debian/nut-server/usr/lib/tmpfiles.d/nut-server.conf
endif

common-install-indep::
	#install documentation
	mkdir -p $(CURDIR)/debian/tmp/usr/share/doc/nut-doc/pdf
	mkdir -p $(CURDIR)/debian/tmp/usr/share/doc/nut-doc/html
	cp $(CURDIR)/docs/*.pdf $(CURDIR)/debian/tmp/usr/share/doc/nut-doc/pdf
	cp $(CURDIR)/docs/FAQ.html $(CURDIR)/debian/tmp/usr/share/doc/nut-doc/html

	for f in $(CURDIR)/docs/*.chunked/; do \
		nf=`basename $${f} | sed 's/\(.*\)\.chunked/\1/'`; \
		cp -a $${f} $(CURDIR)/debian/tmp/usr/share/doc/nut-doc/html/$${nf}/; \
	done

binary-install/nut-monitor::
	dh_python2 -pnut-monitor

DEB_DH_INSTALLINIT_ARGS_nut-server := --init-script=nut-server --restart-after-upgrade --error-handler=handle_start_failure
DEB_DH_INSTALLINIT_ARGS_nut-client := --init-script=nut-client --restart-after-upgrade --error-handler=handle_start_failure
DEB_DH_SYSTEMD_START_ARGS_nut-server := --restart-after-upgrade
DEB_DH_SYSTEMD_START_ARGS_nut-client := --restart-after-upgrade
DEB_DH_COMPRESS_ARGS_nut-doc := -X.pdf

ifeq (linux,$(DEB_HOST_ARCH_OS))
# for Debian
  DEB_DH_GENCONTROL_ARGS := -- -Vudev="udev (>= 0.124-1)"
# for Ubuntu
# DEB_DH_GENCONTROL_ARGS := -- -Vudev="udev (>= 136-1)"
endif