#!/bin/bash
# Copyright (c) 2000-2015 Synology Inc. All rights reserved.

INSTALL_DIRS="
	/lib
	/usr/syno/sbin
	/usr/syno/bin
	/etc/ups
	/usr/syno/etc
	/usr/syno/etc/ups
	/usr/syno/hotplug/
"
INSTALL_LIB="
	clients/.libs/libupsclient.so.6
	clients/.libs/libupsclient.so.6.0.0
"
INSTALL_SYNO_BIN="
	synoconf/synoupscommon
	synoconf/synoups_battery_notify.sh
	synoconf/synoups.sh:synoups
"

INSTALL_USR_BIN="
	drivers/apcsmart
	drivers/bcmxcp_usb
	drivers/blazer_usb
	drivers/metasys
	drivers/netxml-ups
	drivers/nutdrv_atcl_usb
	drivers/nutdrv_qx
	drivers/optiups
	drivers/powercom
	drivers/powerpanel
	drivers/richcomm_usb
	drivers/snmp-ups
	drivers/tripplite_usb
	drivers/usbhid-ups
	drivers/upsdrvctl
	drivers/omron_usb
	drivers/riello_usb
	clients/.libs/upsc
"

INSTALL_USR_SBIN="
	server/upsd
	clients/.libs/upsmon
	clients/upssched
"
INSTALL_ETC="
	synoconf/ups.conf:ups/
	synoconf/upsd.conf:ups/
	synoconf/upsd.users:ups/
	synoconf/upsmon.conf:ups/
	synoconf/upssched.conf:ups/
	tools/nut-scanner/nutscan-usb.h:ups/
"
INSTALL_SYNO_ETC="
	synoconf/synoups.conf:ups/
"

if [ "x$NOSTRIP" == "xNOSTRIP" ]; then
	INSTALL_USR_BIN="${INSTALL_USR_BIN} drivers/.libs/dummy-ups clients/.libs/upsrw"
fi

DoInstall
chmod 640 $TmpInstDir/etc/ups/*
chmod 640 $TmpInstDir/usr/syno/etc/ups/*
mkdir -p $TmpInstDir/lib/udev/devicetable
cp scripts/hotplug/libhid.usermap $TmpInstDir/lib/udev/devicetable/usb.nut-hid
mkdir -p $TmpInstDir${SynoPluginDir}/net
cp synoconf/upsHook/upsNetChg.sh $TmpInstDir${SynoPluginDir}/net/upsNetChg.sh
cp synoconf/upsHook/upsNetChg_link_down.sh $TmpInstDir${SynoPluginDir}/net/upsNetChg_link_down.sh
mkdir -p $TmpInstDir${SynoPluginDir}/net/ipv4_change
ln -s ../upsNetChg.sh $TmpInstDir${SynoPluginDir}/net/ipv4_change
mkdir -p $TmpInstDir${SynoPluginDir}/net/ipv6_change
ln -s ../upsNetChg.sh $TmpInstDir${SynoPluginDir}/net/ipv6_change
mkdir -p $TmpInstDir${SynoPluginDir}/net/if_link_down
ln -s ../upsNetChg_link_down.sh $TmpInstDir${SynoPluginDir}/net/if_link_down
mkdir -p $TmpInstDir${SynoPluginDir}/net/if_link_up
ln -s ../upsNetChg.sh $TmpInstDir${SynoPluginDir}/net/if_link_up
mkdir -p $TmpInstDir/usr/syno/etc/user.data.conf
cp synoconf/userDataCollector/ups.config $TmpInstDir/usr/syno/etc/user.data.conf/ups.config
mkdir -p $TmpInstDir/usr/syno/bin/user.data.collector
cp synoconf/userDataCollector/synouserdata_ups $TmpInstDir/usr/syno/bin/user.data.collector/synouserdata_ups
mkdir -p $TmpInstDir/lib/udev/rules.d
cp synoconf/udev/50-ups.rules $TmpInstDir/lib/udev/rules.d/50-ups.rules
mkdir -p $TmpInstDir/lib/udev/script
cp synoconf/udev/ups-check.sh $TmpInstDir/lib/udev/script/ups-check.sh
cp synoconf/udev/ups-util.sh $TmpInstDir/lib/udev/script/ups-util.sh
cp synoconf/udev/synoupsnotify.sh $TmpInstDir/lib/udev/script/synoupsnotify.sh
mkdir -p $TmpInstDir/usr/lib/systemd/system
install -vc -m644 synoconf/systemd/ups-usb.service $TmpInstDir/usr/lib/systemd/system/ups-usb.service
install -vc -m644 synoconf/systemd/ups-net.service $TmpInstDir/usr/lib/systemd/system/ups-net.service
install -vc -m644 synoconf/systemd/ups-clean-config.service $TmpInstDir/usr/lib/systemd/system/ups-clean-config.service
install -vc -m644 synoconf/systemd/safe-shutdown.target $TmpInstDir/usr/lib/systemd/system/safe-shutdown.target
install -vc -m644 synoconf/systemd/safe-shutdown.service $TmpInstDir/usr/lib/systemd/system/safe-shutdown.service
install -vc -m644 synoconf/systemd/ups-plugout-notify.service $TmpInstDir/usr/lib/systemd/system/ups-plugout-notify.service
install -vc -m644 synoconf/systemd/ups-plugin-notify.service $TmpInstDir/usr/lib/systemd/system/ups-plugin-notify.service
install -vc -m644 synoconf/systemd/ups-reset-usb.service $TmpInstDir/usr/lib/systemd/system/ups-reset-usb.service
mkdir -p $TmpInstDir/usr/syno/lib/systemd/scripts
install -vc -m755 synoconf/systemd/syno-upsmon.sh $TmpInstDir/usr/syno/lib/systemd/scripts/syno-upsmon.sh
install -vc -m755 synoconf/systemd/syno-safe-shutdown.sh $TmpInstDir/usr/syno/lib/systemd/scripts/syno-safe-shutdown.sh
install -vc -m755 synoconf/systemd/ups-plugout-notify.sh $TmpInstDir/usr/syno/lib/systemd/scripts/ups-plugout-notify.sh
install -vc -m755 synoconf/systemd/ups-plugin-notify.sh $TmpInstDir/usr/syno/lib/systemd/scripts/ups-plugin-notify.sh
install -vc -m755 synoconf/systemd/ups-reset-usb.sh $TmpInstDir/usr/syno/lib/systemd/scripts/ups-reset-usb.sh
mkdir -p $TmpInstDir/usr/lib/systemd/system/sysinit.target.wants/
ln -s ../ups-clean-config.service $TmpInstDir/usr/lib/systemd/system/sysinit.target.wants/ups-clean-config.service
mkdir -p $TmpInstDir/usr/syno/lib/systemd/scripts
install -vc -m755 synoconf/ups-usb.sh $TmpInstDir/usr/syno/lib/systemd/scripts/ups-usb.sh
install -vc -m755 synoconf/ups-net.sh $TmpInstDir/usr/syno/lib/systemd/scripts/ups-net.sh

[ -d $TmpInstDir/etc/syslog-ng/patterndb.d ] || install -d $TmpInstDir/etc/syslog-ng/patterndb.d
install -vc -m 644 synoconf/logconf/ups.conf.syslog $TmpInstDir/etc/syslog-ng/patterndb.d/ups.conf
[ -d $TmpInstDir/etc/logrotate.d ] || install -d $TmpInstDir/etc/logrotate.d
install -vc -m 644 synoconf/logconf/ups.conf.logrotate $TmpInstDir/etc/logrotate.d/ups
[ -d $TmpInstDir/etc/syslog-ng/patterndb.d/include/not2msg/ ] || install -d $TmpInstDir/etc/syslog-ng/patterndb.d/include/not2msg/
install -vc -m 644 synoconf/logconf/ups.conf.not2msg $TmpInstDir/etc/syslog-ng/patterndb.d/include/not2msg/ups.conf

DEBUG_DATA_WHITELIST_DIR="/usr/syno/etc/logcollector/whitelist/"
[ -d $TmpInstDir${DEBUG_DATA_WHITELIST_DIR} ] || install -d $TmpInstDir${DEBUG_DATA_WHITELIST_DIR}
install -vc -m 644 synoconf/debug_whitelist $TmpInstDir${DEBUG_DATA_WHITELIST_DIR}nut-2.6