12dad8905Sopenharmony_ci#!/bin/bash
22dad8905Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
32dad8905Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
42dad8905Sopenharmony_ci# you may not use this file except in compliance with the License.
52dad8905Sopenharmony_ci# You may obtain a copy of the License at
62dad8905Sopenharmony_ci#
72dad8905Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
82dad8905Sopenharmony_ci#
92dad8905Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
102dad8905Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
112dad8905Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
122dad8905Sopenharmony_ci# See the License for the specific language governing permissions and
132dad8905Sopenharmony_ci# limitations under the License.
142dad8905Sopenharmony_ci
152dad8905Sopenharmony_ciset -e
162dad8905Sopenharmony_ci
172dad8905Sopenharmony_ci<<COMMENT
182dad8905Sopenharmony_ci
192dad8905Sopenharmony_ci# -p NUM  --strip=NUM  Strip NUM leading components from file names.
202dad8905Sopenharmony_ci# -i PATCHFILE  --input=PATCHFILE  Read patch from PATCHFILE instead of stdin.
212dad8905Sopenharmony_ci# -d DIR  --directory=DIR  Change the working directory to DIR first.
222dad8905Sopenharmony_ci
232dad8905Sopenharmony_cibash -x  ./apply_patch.sh  \
242dad8905Sopenharmony_ci  ../../../../third_party/libinput/ \
252dad8905Sopenharmony_ci  ../../../../out/ohos-arm-release/libinput_mmi \
262dad8905Sopenharmony_ci ./diff_libinput_mmi
272dad8905Sopenharmony_ci
282dad8905Sopenharmony_ciCOMMENT
292dad8905Sopenharmony_ci
302dad8905Sopenharmony_cicurdir=$(pwd)
312dad8905Sopenharmony_cisource_dir=$1
322dad8905Sopenharmony_ciout_dir=$2
332dad8905Sopenharmony_cipath_file_dir=$3
342dad8905Sopenharmony_ci
352dad8905Sopenharmony_ciecho "curdir: $curdir"
362dad8905Sopenharmony_ciecho "source_dir: $source_dir"
372dad8905Sopenharmony_ciecho "out_dir: $out_dir"
382dad8905Sopenharmony_ciecho "path_file_dir: $path_file_dir"
392dad8905Sopenharmony_ci
402dad8905Sopenharmony_ciif [ "$source_dir" == "" ] || [ "$out_dir" == "" ] || [ "$path_file_dir" == "" ]; then
412dad8905Sopenharmony_ci    echo "param is invalid."
422dad8905Sopenharmony_ci    exit 1
432dad8905Sopenharmony_cifi
442dad8905Sopenharmony_ci
452dad8905Sopenharmony_ciecho "check out_dir: $out_dir"
462dad8905Sopenharmony_ciif [ -d "$out_dir" ]; then
472dad8905Sopenharmony_ci    echo "remove $out_dir begin"
482dad8905Sopenharmony_ci    rm -rf "$out_dir"
492dad8905Sopenharmony_cifi
502dad8905Sopenharmony_ci
512dad8905Sopenharmony_ciecho "mkdir out_dir: $out_dir"
522dad8905Sopenharmony_cimkdir -p $out_dir
532dad8905Sopenharmony_ci
542dad8905Sopenharmony_ciecho "cp $source_dir/* to $out_dir/"
552dad8905Sopenharmony_cicp -fra $source_dir/* $out_dir
562dad8905Sopenharmony_ci
572dad8905Sopenharmony_ciif [ -e "$out_dir/install.sh" ]; then
582dad8905Sopenharmony_ci    cd $out_dir
592dad8905Sopenharmony_ci    tar xvf mtdev-1.1.6.tar.bz2
602dad8905Sopenharmony_ci    cp -rf mtdev-1.1.6/* ./
612dad8905Sopenharmony_ci    ./configure
622dad8905Sopenharmony_ci    cd -
632dad8905Sopenharmony_cifi
642dad8905Sopenharmony_ci
652dad8905Sopenharmony_cils -l $path_file_dir/*.diff
662dad8905Sopenharmony_ciif [ $? -ne 0 ]; then
672dad8905Sopenharmony_ci    echo "WARNING: no patch."
682dad8905Sopenharmony_ci    exit 0
692dad8905Sopenharmony_cifi
702dad8905Sopenharmony_ci
712dad8905Sopenharmony_ciPATCH_FILE=$(realpath $(ls $path_file_dir/*.diff | tail -n 1))
722dad8905Sopenharmony_ci
732dad8905Sopenharmony_ciecho "PATCH_FILE: $PATCH_FILE"
742dad8905Sopenharmony_ci
752dad8905Sopenharmony_cicd $out_dir
762dad8905Sopenharmony_ciecho "pwd: $(pwd)"
772dad8905Sopenharmony_cipatch -p1 -i $PATCH_FILE
782dad8905Sopenharmony_ciif [ $? -ne 0 ]; then
792dad8905Sopenharmony_ci    echo "patch fail. path_file_dir=$path_file_dir"
802dad8905Sopenharmony_ci    exit 1
812dad8905Sopenharmony_cifi
822dad8905Sopenharmony_ci
832dad8905Sopenharmony_cicd $curdir
842dad8905Sopenharmony_ciexit 0
85