#!/bin/bash

#Copyright 2018-present Open Networking Foundation
#
#Licensed under the Apache License, Version 2.0 (the "License");
#you may not use this file except in compliance with the License.
#You may obtain a copy of the License at
#
#http://www.apache.org/licenses/LICENSE-2.0
#
#Unless required by applicable law or agreed to in writing, software
#distributed under the License is distributed on an "AS IS" BASIS,
#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#See the License for the specific language governing permissions and
#limitations under the License.


rm -rf /opt/bcm68620
rm -rf /broadcom
tar zxf /tmp/release_asfvolt16_V3.4.7.5.202008030101.tar.gz -C / 2>&1 > /dev/null
grep -q '\/opt\/bcm68620\/svk_init.sh' /etc/rc.local || sed -i -e '$i \/opt\/bcm68620\/svk_init.sh' /etc/rc.local
rm -f /run/bcm68620
mkdir -p /opt/openolt && cp /tmp/watchdog/openolt_dev_mgmt_daemon_process_watchdog /opt/openolt && cp /tmp/watchdog/watchdog.config /opt/openolt
[ -f /opt/openolt/openolt_dev_mgmt_daemon_process_watchdog ] && grep -q '\/opt\/openolt\/openolt_dev_mgmt_daemon_process_watchdog' /etc/rc.local || sed -i -e '$i nohup bash \/opt\/openolt\/openolt_dev_mgmt_daemon_process_watchdog &' /etc/rc.local
cp /tmp/init.d/dev_mgmt_daemon /etc/init.d
cp /tmp/init.d/openolt /etc/init.d
cp /tmp/logrotate.d/openolt /etc/logrotate.d
chmod +x /etc/init.d/dev_mgmt_daemon
chmod +x /etc/init.d/openolt
chmod +x /opt/openolt/openolt_dev_mgmt_daemon_process_watchdog
update-rc.d dev_mgmt_daemon defaults
update-rc.d openolt defaults
mv /tmp/openolt /broadcom
mv /tmp/libgrpc++.so.1 /usr/local/lib
mv /tmp/libgrpc.so.6 /usr/local/lib
mv /tmp/libstdc++.so.6 /usr/local/lib
mv /tmp/libbal_host_api.so /usr/local/lib
/opt/bcm68620/svk_init.sh
[ "A`cat ~/.bashrc| grep LD_LIBRARY_PATH`" = "A" ] && echo "export LD_LIBRARY_PATH=/broadcom:\$LD_LIBRARY_PATH" >> ~/.bashrc; . ~/.bashrc
ldconfig /broadcom
