Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / packaging / tizen_fix / tizen_fix.sh
1 #!/bin/bash
2 SCRIPT_DIR=`dirname "$0"`
3 DST_PATH=$SCRIPT_DIR/../../
4 TEMP_PATH=""
5 REQUIRED_OPEN_SOURCE=""
6
7 cd $DST_PATH
8
9 while true; do
10     echo -e "\e[31m***********************************\e[0m"
11     echo -e "\e[31m********** C A U T I O N **********\e[0m"
12     echo -e "\e[31m***********************************\e[0m"
13     echo -e "\e[31m This script is a program that downloads the code of CHIP upstream and enables tizen gbs build.\e[0m"
14     echo -e "\e[31m This script contains the contents of deleting all files from CHIP folder (except packaging, git, tizen specific folders)! We ask for safety in use.\e[0m"
15     echo -e "\e[31m Also, files with the TIZEN_CHIP_MODIFY keyword will not be deleted.\e[0m"
16     echo -e "\e[31m Please do not change the location of this script.\e[0m"
17     echo -e "\e[31m Please check if the path of CHIP folder below is correct. \e[0m"
18     echo -e "\e[32m CHIP folder path : $PWD\e[0m"
19     read -p "Do you wish to update latest upstream code? (Y/N) : " yn
20     case $yn in
21         [Yy]* ) break;;
22         [Nn]* ) exit;;
23         * ) echo "Please answer yes or no.";;
24     esac
25 done
26
27 echo -e "\e[33m1. copy tizen modify files to temp folder\e[0m"
28 mkdir -p packaging/tizen_fix/temp/src/platform/
29
30 echo "copy src/platform/Tizen folder to packaging/tizen_fix/temp/src/platform/Tizen"
31 cp -rf src/platform/Tizen packaging/tizen_fix/temp/src/platform/
32
33 for MODIFY_FILE in $(grep -lr 'TIZEN_CHIP_MODIFY' | grep -v 'tizen_fix.sh')
34 do
35     MODIFY_FILE_PATH=$(dirname "$MODIFY_FILE")
36     TEMP_PATH="packaging/tizen_fix/temp/$MODIFY_FILE_PATH"
37     mkdir -p $TEMP_PATH
38     cp $MODIFY_FILE $TEMP_PATH
39     echo "copy $MODIFY_FILE to $TEMP_PATH"
40 done
41 echo -e "\e[32mcopy done\e[0m"
42
43 REQUIRED_OPEN_SOURCE=$(ls -1 ./third_party)
44
45 echo -e "\e[33m2. delete all files except packaging / .git folder\e[0m"
46 find ./ -name packaging -prune -o -name .git -prune -o -exec rm -rf {} \; 2> /dev/null
47 echo -e "\e[32mdelete done\e[0m"
48
49 echo -e "\e[33m3. clone upstream code\e[0m"
50 git clone https://github.com/project-chip/connectedhomeip
51 cd connectedhomeip
52 git submodule update --init
53 rm -rf .git/
54 cd ..
55
56 mkdir ./third_party
57 for OPEN_SOURCE in $REQUIRED_OPEN_SOURCE
58 do
59     TEMP_PATH="./connectedhomeip/third_party/$OPEN_SOURCE"
60     cp -rf $TEMP_PATH ./third_party
61     echo "copy $TEMP_PATH to ./third_party"
62 done
63
64 rm -rf ./connectedhomeip/third_party
65 cp -rf ./connectedhomeip/* ./
66 cp ./connectedhomeip/.gn ./
67 rm -rf ./connectedhomeip/
68
69 echo -e "\e[32mclone done\e[0m"
70
71 echo -e "\e[33m4. copy tizen modify files to upstream\e[0m"
72 cp -rf packaging/tizen_fix/temp/* ./
73 echo -e "\e[32mcopy done\e[0m"
74
75 rm -rf packaging/tizen_fix/temp/