#!/bin/bash

MODULE_NAME=RAX10
MODULE_COMMON_NAME=RAX1xseries
FW_VERSION=V1.0.7.54
LG_VERSION=""
CLOUD_VERSION=20161026
HW_ID="29766321+0+256+512"
FW_REGION=""
MODULE_LIST="RAX10v2 RAX36S R6700AXv2 RAX36"
RAE_VERSION=1.3.0.11

SINGLE_IMAGE=1
ROOTFS="`pwd`/$PROFILE/fs"


link_files()
{
	echo "create boot script links based on rc.common $PROFILE $ROOTFS"
	cd $ROOTFS
        for script in ./etc/init.d/*
        do
                grep '#!/bin/sh /etc/rc.common' $script >/dev/null || continue
                IPKG_INSTROOT=$ROOTFS $(which bash) ./etc/rc.common $script enable
        done
	cd -
}

get_lg_version()
{
	local buildDir="`pwd`/../userspace/private/apps/net-web-language-table/net-web-language-table/VERSION"
	if [ -f "$buildDir" ]; then
		LG_VERSION="`cat $buildDir`"
	else
		echo "Error:LG: Cannot get LG_VERSION from $buildDir"
		return
	fi
	if [ "${LG_VERSION:0:1}" != "V" ] && [ "${LG_VERSION:0:1}" != "v" ]; then
		LG_VERSION="V$LG_VERSION"
	fi
}

echo_fwinfo()
{
	TARGET_DIR=$ROOTFS

	get_lg_version
        echo "$MODULE_NAME" > $TARGET_DIR/module_name
        echo "$HW_VERSION" > $TARGET_DIR/hardware_version
        echo "$FW_VERSION" > $TARGET_DIR/firmware_version
        echo "$CLOUD_VERSION" > $TARGET_DIR/cloud_version
        echo "$FW_REGION" > $TARGET_DIR/firmware_region
        echo $HW_ID > $TARGET_DIR/hw_id
        date > $TARGET_DIR/firmware_time
        echo "1" > $TARGET_DIR/etc/init.d/.hidden_new_features
}

encrypt_files()
{
	TARGET_DIR=$ROOTFS
	HOSTTOOLS_DIR="`pwd`/../hostTools"

	$HOSTTOOLS_DIR/local_install/Host-encrypt-files.sh "$HOSTTOOLS_DIR/local_install/deif_original.key" "$TARGET_DIR"
}

init_files()
{
	rm -rf $ROOTFS/etc/udhcpd.conf
	rm -rf $ROOTFS/etc/udhcpd.leases
	rm -rf $ROOTFS/etc/resolv.conf
	rm -rf $ROOTFS/etc/TZ
	rm -rf $ROOTFS/etc/ppp/options
	rm -rf $ROOTFS/lib/circlev2_libs
	ln -sf /tmp/resolv.conf $ROOTFS/etc/resolv.conf
	ln -sf /tmp/TZ $ROOTFS/tmp/TZ
}

rename_boot_sequence()
{
echo "Rename bcm boot scripts sequence.."
[ -f $ROOTFS/etc/rc3.d/S25mount-fs ] && mv $ROOTFS/etc/rc3.d/S25mount-fs $ROOTFS/etc/rc3.d/S02mount-fs
[ -f $ROOTFS/etc/rc3.d/S26wdtd ] && mv $ROOTFS/etc/rc3.d/S26wdtd $ROOTFS/etc/rc3.d/S10wdtd
[ -f $ROOTFS/etc/rc3.d/S35system-config ] && mv $ROOTFS/etc/rc3.d/S35system-config $ROOTFS/etc/rc3.d/S13system-config
[ -f $ROOTFS/etc/rc3.d/S39hndmfg ] && mv $ROOTFS/etc/rc3.d/S39hndmfg $ROOTFS/etc/rc3.d/S14hndmfg
[ -f $ROOTFS/etc/rc3.d/S40hndnvram ] && mv $ROOTFS/etc/rc3.d/S40hndnvram $ROOTFS/etc/rc3.d/S15hndnvram
[ -f $ROOTFS/etc/rc3.d/S42wlnvram_mount_fs ] && mv $ROOTFS/etc/rc3.d/S42wlnvram_mount_fs $ROOTFS/etc/rc3.d/S16wlnvram_mount_fs
[ -f $ROOTFS/etc/rc3.d/S45gre-tunnel-drivers ] && mv $ROOTFS/etc/rc3.d/S45gre-tunnel-drivers $ROOTFS/etc/rc3.d/S17gre-tunnel-drivers
[ -f $ROOTFS/etc/rc3.d/S45bcm-base-drivers ] && mv $ROOTFS/etc/rc3.d/S45bcm-base-drivers $ROOTFS/etc/rc3.d/S17bcm-base-drivers
[ -f $ROOTFS/etc/rc3.d/S45bcm-c-license ] && mv $ROOTFS/etc/rc3.d/S45bcm-base-drivers $ROOTFS/etc/rc3.d/S17bcm-c-license
[ -f $ROOTFS/etc/rc3.d/S45bcm-wlan-drivers ] && mv $ROOTFS/etc/rc3.d/S45bcm-wlan-drivers $ROOTFS/etc/rc3.d/S17bcm-wlan-drivers
rm -rf $ROOTFS/etc/rc3.d/S50mcpd
}

delete_unused_binary_file()
{
        rm -rf $TARGET_DIR/etc/wlan/dhd/43*
        rm -rf $TARGET_DIR/etc/wlan/dhd/6715*

        rm -rf $TARGET_DIR/etc/wlan/dhd/mfg/43*
        rm -rf $TARGET_DIR/etc/wlan/dhd/mfg/6715*

        rm -rf $TARGET_DIR/webs
        rm -rf $TARGET_DIR/lib/libwifihttp.so
}

echo_fwinfo
encrypt_files
link_files
init_files
rename_boot_sequence
delete_unused_binary_file
