# If not stated otherwise in this file or this component's LICENSE
# file the following copyright and licenses apply:
#
#Copyright [2019] [RDK Management]
#
#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.

#!/usr/bin/env bash

LOCAL_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $LOCAL_DIR/setup-environment

internal_link='gerrit\.mediatek\.inc\/gateway'
external_link='git01\.mediatek\.com\/filogic'
sed -i "s/$internal_link/$external_link/" $TOP_DIR/meta-filogic/recipes-ccsp/hal/hal-dhcpv4c-generic_git.bbappend
sed -i "s/$internal_link/$external_link/" $TOP_DIR/meta-filogic/recipes-ccsp/hal/hal-ethsw-generic_git.bbappend
sed -i "s/$internal_link/$external_link/" $TOP_DIR/meta-filogic/recipes-ccsp/hal/hal-fwupgrade.bb
sed -i "s/$internal_link/$external_link/" $TOP_DIR/meta-filogic/recipes-ccsp/hal/hal-platform-generic_git.bbappend
sed -i "s/$internal_link/$external_link/" $TOP_DIR/meta-filogic/recipes-wifi/hal/hal-wifi-mt76.bb