#!/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.

# kill CLI applications
echo "kill running time application"
[ -n "`pidof openolt`" ] && service openolt stop
[ -n "`pidof openolt`" ] && killall openolt
[ -n "`pidof dev_mgmt_daemon`" ] && service dev_mgmt_daemon stop
[ -n "`pidof dev_mgmt_daemon`" ] && killall dev_mgmt_daemon
[ -n "`pidof bcm.user`" ] && killall bcm.user
[ -n "`pidof dev_mgmt_attach`" ] && killall dev_mgmt_attach
[ -n "`pidof embedded_console`" ] && killall embedded_console
[ -n "`pidof example_user_appl`" ] && killall example_user_appl

rm -f /tmp/root_dev_mgmt_pid /tmp/root_dev_mgmt_init_done
sleep 3

if [ -d /opt/bcm68650 ]; then
    bash /opt/bcm68650/svk_init.sh -clean
    sleep 3
fi

rm -rf /tmp/bcm68650_svk_init/

rm -rf /opt/bcm68650
rm -rf /opt/openolt
rm -rf /broadcom

sed -i '\/rm -rf \/tmp\/bcm68650_svk_init/d' /etc/rc.local
sed -i '\/nohup bash \/opt\/openolt\/openolt_dev_mgmt_daemon_process_watchdog &/d' /etc/rc.local

rm -rf /run/bcm68650
rm -rf /usr/local/lib/libz.so.1
rm -rf /usr/local/lib/libbal_host_api.so
rm -rf /usr/local/lib/libstdc++.so.6
rm -f /etc/init.d/openolt
rm -f /etc/init.d/dev_mgmt_daemon
rm -f /etc/logrotate.d/openolt
