#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
cd $DIR
cd ..

VERSION=$1
MINOR_VERSION=$2
REVISION=$3


if [ -z "$VERSION" ] || [ -z "$MINOR_VERSION" ] || [ -z "$REVISION" ]
then
    echo "No valid version specified."
    exit 1
else
    echo "Version $VERSION"
    echo "Minor version $MINOR_VERSION"
    echo "Revision $REVISION"
fi
echo "Entering dir $PWD"

rm -rf build

mkdir -p build
mkdir -p build/opt/scripts/device-snmp
mkdir -p build/lib/systemd/system
mkdir -p build/usr/share/snmp/mibs
mkdir -p build/etc/
mkdir -p build/usr/local/lib

cp -R devops/resources/DEBIAN build/
cp -R devops/etc/salicru build/etc/
cp -R devops/etc/salicru/config/snmp build/usr/share/
cp -R devops/lib/ build/

find ./ -name '*.py' -type f | cpio -pd --quiet ./build/opt/scripts/device-snmp/
find ./ -name '*.json' -type f | cpio -pd --quiet ./build/opt/scripts/device-snmp/

find ./agents -name '*.mib' -type f -exec cp {} build/usr/share/snmp/mibs \;
find ./agents -name '*.MIB' -type f -exec cp {} build/usr/share/snmp/mibs \;

cp -R devops/usr/local/lib/ build/usr/local/
cp -R agents build/opt/scripts/device-snmp
cp -R bin build/opt/scripts/device-snmp
cp -R config build/opt/scripts/device-snmp
cp -R handlers build/opt/scripts/device-snmp
cp -R model build/opt/scripts/device-snmp
cp -R *.py build/opt/scripts/device-snmp
cp start.sh build/opt/scripts/device-snmp
cp start-subagent.sh build/opt/scripts/device-snmp

sudo chmod -R +r build/opt/scripts/device-snmp
sudo chmod -R +X build/opt/scripts/device-snmp
sudo chmod -R a+r build/usr/share/snmp/
sudo chmod -R a+r build/usr/local/lib/
sudo chmod -R 644 build/lib/systemd/system/*
sudo chmod -R +X build/etc/salicru/config/snmp


echo "Build folder finish"

if [[ "$OSTYPE" == "darwin"* ]]; then
    sed -i '' "2s/.*/Version: $VERSION.$MINOR_VERSION.$REVISION/" build/DEBIAN/control
else
    sed -i "2s/.*/Version: $VERSION.$MINOR_VERSION.$REVISION/" build/DEBIAN/control
fi

chmod -R 755 build/DEBIAN
dpkg-deb -Zgzip --build build device-snmp_$VERSION-$MINOR_VERSION-$REVISION.deb
rm -rf build
