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
|