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

if ! checkPlatformFunction SYNO_FEA_IRQBALANCE; then
	SkipThisProject
	return
fi

INIT_INSTALL_PATH=/etc/init
BIN_INSTALL_PATH=/usr/sbin
RCSYSV_INSTALL_PATH=/usr/syno/etc/rc.sysv
SYSTEMD_DIR=/usr/lib/systemd/system

[ -d ${TmpInstDir}${BIN_INSTALL_PATH} ] || install -d ${TmpInstDir}${BIN_INSTALL_PATH}
install -m755 irqbalance ${TmpInstDir}${BIN_INSTALL_PATH}
if checkPlatformFunction SYNO_FEA_IRQ_NET_ENHANCE; then
	[ -d ${TmpInstDir}${SYSTEMD_DIR} ] || install -d ${TmpInstDir}${SYSTEMD_DIR}
	install -m644 syno/irq_net_enhance/irqbalance-adapter.service ${TmpInstDir}${SYSTEMD_DIR}/irqbalance-adapter.service
	[ -d ${TmpInstDir}${RCSYSV_INSTALL_PATH} ] || install -d ${TmpInstDir}${RCSYSV_INSTALL_PATH}
	install -m755 syno/irq_net_enhance/irqbalance.sh ${TmpInstDir}${RCSYSV_INSTALL_PATH}
	install -m755 syno/irq_net_enhance/ban_eth_irq.sh ${TmpInstDir}${RCSYSV_INSTALL_PATH}
	install -m755 syno/irq_net_enhance/set_irq_affinity ${TmpInstDir}${RCSYSV_INSTALL_PATH}
	[ -d ${TmpInstDir}${SYSTEMD_DIR}/syno-bootup-done.target.wants/ ] || install -d ${TmpInstDir}${SYSTEMD_DIR}/syno-bootup-done.target.wants/
	ln -s ../irqbalance-adapter.service ${TmpInstDir}${SYSTEMD_DIR}/syno-bootup-done.target.wants/irqbalance-adapter.service
else
	[ -d ${TmpInstDir}${SYSTEMD_DIR} ] || install -d ${TmpInstDir}${SYSTEMD_DIR}
	install -m644 syno/irqbalance.service ${TmpInstDir}${SYSTEMD_DIR}/irqbalance.service
	[ -d ${TmpInstDir}${RCSYSV_INSTALL_PATH} ] || install -d ${TmpInstDir}${RCSYSV_INSTALL_PATH}
	install -m755 syno/irqbalance.sh ${TmpInstDir}${RCSYSV_INSTALL_PATH}
	[ -d ${TmpInstDir}${SYSTEMD_DIR}/syno-bootup-done.target.wants/ ] || install -d ${TmpInstDir}${SYSTEMD_DIR}/syno-bootup-done.target.wants/
	ln -s ../irqbalance.service ${TmpInstDir}${SYSTEMD_DIR}/syno-bootup-done.target.wants/irqbalance.service
fi

# if it use numanode service, we dont need irqbalance service.
if checkPlatformFunction SYNO_FEA_NUMA_ESSENTIAL; then
	rm -f ${TmpInstDir}${SYSTEMD_DIR}/irqbalance-adapter.service
	rm -f ${TmpInstDir}${SYSTEMD_DIR}/irqbalance.service
fi

if [ "x$NOSTRIP" != "xNOSTRIP" ]; then
	${STRIP} ${TmpInstDir}${BIN_INSTALL_PATH}/irqbalance
fi
